ニコニコ動画を見てるより生産的かなと思ってFastladder入れてみた。
目的はソース読んで勉強すること。ぶっちゃけPlnetは技術的にはRSSリーダーと同じなのでもし作り直すとしたらほとんどパクれるはずとの期待も。特にクローラーのソースを見たかった。(ほとんどの時間がクローラーに費やされたので)
まだやっと動いてざっと見ただけだけどスゴイ勉強になりますな。まず、使ってるライブラリだけでもfeed-normalizerとかrfeedfinderとかopmlとかこんな便利なものがあったのかと得した感じです。
PHP4では上記のライブラリ部分似たような名前で全部書いてたのに俺の苦労はいったい・・・orz。特にfeed-normalizerなんてsimplepieのドブ川のようなソースと格闘し、パッチ送ったのに「そこはセンシティブな部分だからちょっと・・・」などという理由で断られたり苦労しまくったのにfeed-normalizerって名前見ただけでがっくりと肩を落としました。(良い意味で)
クローラーではフィードの中身をRSS広告を削除してdigestで保存して比較してたり、WEBrick::Daemonでデーモン化してたり(Plnetはcron)、フィードとクロール結果を別テーブルで保存してたりと、身に染みてためんなった。デバッグ用にTeeなんてクラスが定義されてるのも面白いなあと思いました。
これがPerl+Sledgeだったら絶対読めなかったけど(Perl暦の方が長いにもかかわらず)読みやすかったのはやはりRuby+Railsのおかげか。
JSの方は、LDRのころから何度読んでも理解できた気がしません・・・。