November 04, 2004
今日のもぶろげっと
作り始めたときには「こんなシステム3日もあればできるぜ。わはは」とか思ってたんだけど今日に至ってもあんましできていない。そろそろ弄くり始めて3週間くらいか。かなり洗練されてちゃんと動くようにはなってきているけど、まだまだ直さなくちゃならない点は多い。実際に実装しようとするといろんな壁にぶち当たるな。今までいつもそうだったような気もするけど。
このうんこシステムときたらもう、ちょっと油断すると止まるし落ちるしゾンビ化したプロセスが30くらいうようよしてるしで非常にアレだったのだが、そろそろほったらかしにしておいてもちゃんと動いてくれるようになっていて、一時間に2,000くらいのペースでせっせとモブログ記事を蒐集してくれるようになっている。えらい。一時間に2,000というのは数字としてはちょっと小さくおもえるが、蒐集してきた記事のなかで画像の含まれないものは捨てており一定数が使えないことになるのと、本文を抽出したり画像をダウンロードしてサムネイルを作ったり云々の処理が入るので、まあ妥当なところだろう。できれば複数台のPCで分散して処理ができれば良いのだが、そのギミックを組み込むのはかなりの手間だろうからやるとしても最後の最後になる。
得られた教訓。複数の外部プログラムを提携させたり、ネットワーク経由でデータを蒐集したりといった不確定な要素が多いシステムを作るときには、最初からシステムのすべての要素を完璧に動作させようとするのではなく、どこかで何かがちゃんと動かないことがあっても、それがちゃんと動いていないことを補足してそれを切り捨ててやったほうがはるかにうまくいく。個々の処理を小さなタスクに分割してお互いの結合を疎にしてやって、あとはそれを管理する側に状態監視の機能を入れておいて、たとえば異常に時間が掛かるようなタスクがあればそれを削除して次に進むように作るというわけ。あとはロギングと、状態を監視するためのインターフェースの重要性を改めて知った。システムとしての機能には関わってこないくせに実装は面倒だけど、丁寧に作っておいたほうが後々ハッピーになれる感じ。そういえばJSpiderがやってることと一緒だが、やっぱりJSpiderは良くできてる。
今月中には公開に漕ぎ着けたいなあ。
Trackback
You can ping this entry by using http://windy.ac/MT/mt-tb.cgi/611 .

