2008_09_09_[TUE]
笑ろすんなぁ。
『ある話題のツリーのトップにあるのが本文、そこにぶら下がってるのがコメント。ツリーといえばファイルシステムだ。』
ホップ、スッテップ、抽象化。
『ある話題のツリーのトップにあるのが本文、そこにぶら下がってるのがコメント。ツリーといえばファイルシステムだ。』
ホップ、スッテップ、抽象化。

天才(自称)の設計
ふむ、コメントつきの日記システムか。 凡人にはコメントと本文は別物のように見えるかもしれないけど、俺に言わせると実は同じものなんだ。 だって、どちらも何かの話題に対して何らかの意見を述べているものだろ? 違いは、ある話題のツリーのトップにあるのが本文、そこにぶら下がってるのがコメント。 ツリーといえばファイルシステムだ。
そう、つまり我々が作ろうとしているものはファイルシステムの一種なんだよ。 日記を書けるファイルシステムというものを考えてみよう。 各ファイルは、名前、所有者、タイムスタンプ、そして内容を持っている。 これでそれぞれ、見出し、投稿者、投稿日時、そして本文(あるいはコメントの内容)を表現できるだろう。
そしてここがポイントなんだが、各ファイルはフォルダとしての機能も持っている。 ファイルとしての「内容」も持っているけど、フォルダとしての「子要素」も持っているんだ。 こうすると、「8月3日の日記」というファイル(フォルダ)の子要素としてコメントのファイルをぶら下げることができるだろう?そして、コメントにコメントをつけることもできる。 そして、驚くことに、日記帳全体も一つのファイルなんだ。
たとえば、「gyuqueの日記」というファイルを作って、gyuqueしか書き込めないようなパーミッションを設定しておくとするだろ、で、そこにgyuqueが「○月○日の日記」というファイルを毎日追加するんだ。
ほら、「gyuque専用の日記帳」が実現できただろ? ここまで汎用的なシステムができてしまうと、日記だけに使うのはもったいないよなあ、日記というのは我々のファイルシステムに対するあくまで一つの「ビュー」である、というのはどうだろう。
たとえば、利用者の気分によって「日記ビュー」と「アルバムビュー」を切り替えられるようにしよう。
すると、きれいな画像を集めてコメントしているような日記をFlickrのようなインターフェイスで見ることができるんだ。
書いてる人は日記のつもりなのに、見ている人にとってはFlickrなんだ。
とってもCoolだろ! あと……
教訓
プログラムを抽象化するのは大いに結構だが、サービスまで抽象化してはいけない。
≪ 最速チュパカブラ研究会 : 2008年9月8日≫
玉子焼きを頼んだらチャーハンが出てきた。みたいな
【天才(自称)の設計】っていうシュチュエーションは、全ての業界と階層に存在するよね。
━━━━━━━━━━━━━━━━━