Archive for 5月, 2008
水曜日, 5月 28th, 2008
村上春樹さんの小説には、料理が良く出てくる。ねじまき鳥クロニクルの冒頭では、主人公がスパゲティを茹でている所に「女」から電話が掛かってくる。文字だけなのになんであんなに、美味しそうなのか。
村上レシピ は村上さんの作品に出てくる料理のレシピを再現した本。簡単で、つくりやすいと思う。材料はちょっとこだわる必要があるかも。

ダンス・ダンス・ダンスで語られるハムのスパゲティを作ってみた。とモツァレラのサラダ。
ひらXXさんへ:ねじまき鳥クロニクルの下巻をそろそろ貸してください。もやもやしてます。

村上レシピ (ゴマ文庫)
岡本 一南
Amazonランキング:35375位
Amazonおすすめ度:
Amazonで詳細を見る
Posted in 食す, 読んだ本 | No Comments »
月曜日, 5月 12th, 2008
仕事で Windows を使うので、OS を Leopard にして Boot Camp を使ってみました。VertualPC とか VMWare みたいに仮想的に動かす物かと思っていたら、ちゃんとディスクを分けてブートできる仕組みでした。
ハードディスクの領域をフォーマットしないで XP をインストールしたら起動できなかったので、NTFS でフォーマットしてから再インストール。大丈夫でした。macbook 用のドライバは Leopard のインストールディスクに全部入っていて、至れり尽くせりという感じでした。

なんか違和感。
Posted in mac | No Comments »
日曜日, 5月 11th, 2008
Kちゃんからお土産に牛タン笹かまぼこを頂きました。梅酒と一緒に頂きました。美味しかったです。ごちそうさまでした!

Posted in 日記2008 | No Comments »
土曜日, 5月 10th, 2008
Exif に位置情報が入っていれば Flickr にアップしたときに自動でマッピングされるらしい。
ソニー、動画にも対応したデジタルカメラ用GPSユニットキット | 家電 | マイコミジャーナル
ハンファジャパン、デジタルカメラ対応のGPS受信ユニット
写真を撮るときに携帯してGPS通信。後から専用アプリケーションで撮影時間と比較して座標データを Exif に書き込むみたい。うっかりすると自宅の詳細な座標を公開してしまいそう。でもちょっと欲しい。
Posted in ツール | No Comments »
水曜日, 5月 7th, 2008
メモ
コードリーディングの目的
- チーム開発内で他の人が書いたコードを読む
- ライブラリの動作の仕組みや設計などのテクニックを勉強する為
- コーディングに困ったときに類似のプロジェクトを参考にする
- ドキュメントが無いのでコードを読む
- オープンソースのコードを読む
メリット
- 優れたコードからテクニックやベストプラクティスを学べる
- 良いコードと悪いコードの違いを見分けられるようになる
予備知識
Java, PHP, C言語はそれぞれ、オブジェクト指向言語、スクリプト言語、構造化言語であるが、「ある処理から別の処理を呼び出し、その結果を受け取る」という階層構造と「基本的に上から下に動作し、数種類の繰り返し構文や文紀行文で処理順序を変える」という動作をみれば、同じ手続き型言語。
手続き型言語のソースコードを理解するポイントは
- モジュールの構成と役割
- アルゴリズムとその意図
- データ構造と意味
解析方法
- 静的解析:プログラムを動作させずにコードその物を読む。大局的な視点からモジュールの構造を把握するのに役立つ。
- 動的解析 :プログラムを実行させながら読んで行く。特定箇所を掘り下げるのに役立つ。
- ボトムアップアプローチ:枝葉のコンポーネントの機能から把握して行く。
- トップダウンアプローチ:まず全体を把握し、詳細なコンポーネントを把握していく。
心得と道具
メモを取り続けていく。コードリーディングを進めて行く途中で、「今何を調査中か」を書いておく。分かった事をどんどんメモって残す、不要になったメモは捨てる。付箋紙が便利。ソースコードは 1 と l(エル) 、0(ゼロ) と o(オー)が判別できるフォントで行番号付で印刷する。
実践
- 全体構造を把握する
- システムやプロダクトの全体を説明している文書
- README ファイル
- ディレクトリ構成
- 実際にビルドしたり動かしてみる
- 静的解析
- 手続き型言語では各モジュールのエントリポイントからシーケンス図を描いてコールグラフを把握すると処理の流れがみえてくる。Unix/Linux の C のソースなら main 関数、Windows の C ならWinMain 関数などから。
- ディレクトリを検索できる仕組みが有ると良い。Windows ならエクスプローラ、Unix なら $find . -print | xargs grep -n “キーワード”
- ひらメソッド
- 動的解析
- IDE を使っているなら、ブレークポイントを付けて動かしてみる。
- コールスタックを確認する
- ステップ実行して動作を観察する
- 実装の意図を汲む
- クラスや関数の名前に着目。>自分が実装する時も注意したい点。
- 単体テスト用のコードがヒントになるかも
参考:プログラミングの光景 第五回 コードリーディングについて 高林哲さん
WEB+DB Press Vol.34, 37?
Posted in 開発 | No Comments »