A Day In The Life

とあるプログラマの備忘録

歩行ロボットの実験を通して周期関数としての三角関数の使い方を学ぶ

最近、GLUTによる「手抜き」OpenGL入門やOpenGLを使ってJavaでも3Dを楽しもうを参考にOpenGLの勉強をしています。 その中で歩行ロボットの実験という面白い演習問題を見つけたので腕試しにJOGLで実装してみることにしました。 問題のヒントとして腕や足の振…

待望の第1子が誕生しました。

3月24日深夜2時18分待望の長女が誕生しました。3148グラム50センチのかわいい女の子です。 母子ともに健康で良かった。

メソッドの引数はオペランドのみにする原則(メソッドの引数がクラス設計に影響する)

前回に続きメイヤー著「オブジェクト指向入門 第2版 方法論・実践」で面白い原則があったのでまとめてみました(コード例はJavaで書きました)。 前提 メソッドの引数は2種類ある オペランドメソッドの操作対象であるオブジェクト オプション操作のモード オ…

iPhoneとAndroidのアプリケーション間連携方法を比較してみる

アプリAとアプリBがあり、アプリAでテキストボックスに文字を入力しボタンを押すとテキストボックスの内容をアプリBの画面に表示するサンプルを使って説明します。 iPhoneの場合 iPhone では UIApplication クラスの openURL メソッドを使うと他のアプリを起…

質問をすることで答えは変更されない原則

メイヤー著「オブジェクト指向入門 第2版 方法論・実践」でクラス設計の面白い原則があったのでまとめてみました。 前提 クラスの特性にはクエリとコマンドがある。 クエリ 属性 ファンクション(戻り値のあるメソッド) コマンド プロシージャ(戻り値のないメ…

Podcast「Apple News Radio ワンボタンの声」の特番で本ブログ記事が紹介されました。

Podcast「Apple News Radio ワンボタンの声」の特番で本ブログ記事iPhoneアプリの販促活動に関してまとめてみたが紹介されました。おかげさまでブログのアクセス数とLinkedWordの売り上げが増えました。本当に有り難うございました。 特番には「そら案内」の…

あけましておめでとうございます。

今年もよろしくお願いします。

Snow LeopardにInkscape0.47をインストールするとフォントが変更できない

Mac OS X10.5のときは問題なく出来ていたのにMac OS X10.6(Snow Leopard)にInkscape0.47をインストールするとヘルベチカ(Helvetica)など一部フォントが使用できなくなりました。具体的にはテキストツールでHelveticaを選択してもSansに戻ってしまうという現…

LinkedWordのアイコンを変更しました。

英英辞書アプリLinkedWordのアイコンを変更しました。言葉のつながりを木で表してみました。 変更前 変更後 Processingを使って木を描き、それをベースにInkscapeで葉っぱと文字を追加しました。 関連記事 ビジュアル英英辞書LinkedWordをリリースしました

iPhoneとAndroidで真北の取得方法を比較する

この前書いた日経ソフトウエア2010年1月の記事の中でiPhoneとAndroidの電子コンパスについて書いたのですが、紙面の都合上Androidで真北をとる方法を載せることができませんでした。せっかくなので補足の意味も込めてAndroidで真北をとる方法を紹介しiPhone…

日経ソフトウエア2010年1月号にiPhoneとAndroidの記事を書きました。

11月24日に発売された日経ソフトウエア2010年1月号に同僚の麻野さんと共著で「iPhone vs Androidプログラミング」という記事を書きました。 この記事の元ネタは以前このブログで書いた以下のブログ記事です。 開発者目線でAndroidとiPhoneを比較してみる こ…

i新幹線予約をリリースしました。

iPhone/iPod TouchでJR東海のエクスプレス(Express)予約サービスを使うためのアプリi新幹線予約をリリースしました。 現在、iPhoneの標準ブラウザでエクスプレス予約サービスを表示すると画面右端が切れてしまいサービスを使うことが出来ません。このi新幹線…

iPhoneアプリの販促活動に関してまとめてみた

ビジュアル英英辞書アプリLinkedWordをリリースして1週間ほど経ちました。色々と販売促進(プロモーション)活動をしてみましたがむやみやたらと告知をしても効果が出るわけではありませんでした。 次から効率よく販促できるように今回行った販促活動とその効…

ビジュアル英英辞書LinkedWordをリリースしました

8月からアップルに申請を出していた英英辞書アプリLinkedWordがやっと審査に通りました。 機能はとてもシンプルで英英辞書に画像検索と類義語、対義語検索機能を付けたアプリです。英語の学習にちょうど良いと思います。ちなみに辞書検索にはWordNet、画像検…

「おもしろい」のゲームデザイン

「おもしろい」のゲームデザイン―楽しいゲームを作る理論ラフ コスター (著)オライリージャパン このアイテムの詳細を見る ゲームを通しておもしろいとは何なのか解説した本です。この本でいうところのゲームとはテレビゲームに限ったものではなくて○×ゲーム…

AVAudioRecorder の基本的な使い方

AVAudioRecorder クラスの日本語の情報があまりなくて実装するときに結構ハマったので実装方法をまとめておきます。 オーディオ情報の設定 まずアプリでオーディオのどのような機能(再生とか録音)を使うかを設定します。AVAudioSession クラスの setCategory…

吉田山荘に行ってきました。

連休を利用して帰省してました。最後の夜はちょっと贅沢な時間を過ごしたかったので妻と京都の吉田山にある吉田山荘という料理旅館に泊まってきました。 吉田山荘はもとは東伏見宮(昭和天皇の義理の弟君)別邸として建てられ、戦後からは料理旅館として営業し…

iPhoneでGmailをプッシュ受信すると文字化けする

以下の記事でiPhoneでGmailをプッシュ受信する方法が紹介されていたので試してみました。 iPhoneの設定のみでGmailをPush受信する方法 うまくGmailをプッシュ受信できたのですが、ただ残念なことに携帯電話(確認したのはSoftBank)からメールを送ると日本語が…

iPod Touch卒業

休み中にiPhoneを買いました。auが好きだっただけにかなり迷いましたがiidaパッとしないしAndroid携帯もいつになるかわからないのでやめました。 ソフトバンクショップで買ったのですがなかば無理やりWホワイトと基本オプションパックに入らされ後々解約とか…

リジェクト2回目

昨日、Appleから2回目のリジェクト連絡がきました。理由は以下の通りです。 "Applications may be rejected if they contain content or materials of any kind (text, graphics, images, photographs, sounds, etc.) that in Apple's reasonable judgement …

iOSアプリ開発のメモリ管理で気をつけること

Objective-C での開発にだいぶ慣れてきたのですが、いまだメモリ管理まわりでハマることが多いのでまとめてみました。 メモリを確保してから解放するまでの流れ メモリを確保してから解放するまでの流れは以下の図のようになります(図はアップルのサイトから…

In Reviewのまま2週間がたちました。

8月11日に再レビュー依頼をしてから2週間経ちましたがAppleからはなんの音沙汰もなく、不安になり以下のような問い合わせメールを出してみました(英語に自信がないので間違ってたらご指摘ください)。 Subject:When does the review end? Hello, App Review …

製品寿命は短いほどいいのか

今朝、某テレビで携帯電話の販売台数が12か月連続で減少しているというニュースをやっていました。 端末の値段があがったことと、キャリア側の2年縛りの影響で端末の寿命が延びたことが原因らしいです。 で、これを問題だと取り上げていたのですが自分には全…

リジェクト1回目

8月9日に、申請していたiPhoneアプリの審査結果が出ました。結果はリジェクトでした。 理由は以下の通りです。 Our review indicates that the application content is not consistent with the current rating because it contains potentially mature cont…

アップルにアプリを申請しました。

昨日、iPhone/iPod Touchアプリを一つアップルに申請しました。今回作成したアプリは複数のWebサービスを使った英英辞書アプリです。土日と仕事終わってからの時間を使って約1か月ほどで作成しました(開発開始は7月7日ぐらい)。 以下開発にかかった工数(延べ…

Processingでお絵描きをしてみる

最近Processingというお絵描き用プログラミング言語で遊んでいます。 手軽にいろいろできて面白いです。構文はJavaの簡易版といった感じなので、Javaがわかる人だとすぐにプログラムできるようになると思います。 サンプル static final int LENGTH = 400; v…

Androidプログラミング入門 vs Android完全解説

新大阪でGoogle Androidプログラミング入門とGoogle Android完全解説の両方を置いている本屋さんを見つけました。Android完全解説は内容が古いので買わないように気を付けてください。 参考 Androidプログラミング入門

NEW & BASIC GRAPHIC DESIGN デザインの進化形

NEW & BASIC GRAPHIC DESIGN デザインの進化形Ellen Lupton(著), Jennifer Cole Phillips(著)ビー・エヌ・エヌ新社このアイテムの詳細を見る グラフィックデザインの基本について書かれた本です。大学の講義がベースになっているので独学にもってこいです。…

複数のHTTPリクエストを投げるときはNSOperationを使おう

現在、iPhone SDKで簡単なマッシュアップアプリを作成中です。マッシュアップアプリなので一度の操作でいろんなところにHTTPリクエストを投げる必要があるのですが、そんな時にNSOperationを使うとものすごく便利です。NSOperationを使うことで複数のHTTPリ…

UINavigationBarにUISearchBarをセットする時に気をつけること

init系(initWithNibName:bundle:とか)メソッドで以下のようにUISearchBarをナビゲーションバーにセットするとナビゲーションバーのバックボタンを押したときに再びtableView:accessoryButtonTappedForRowWithIndexPath:メソッドが呼ばれてしまいます。 // 呼…