« モダンなPerlを「読む」上で覚えておくとよい構文 第1回(?) | メイン | Perlでフィボナッチ数列の高速化とか無名関数の再帰とか »

2010年9月20日

デイリーポータルViewerをバージョンアップ(べつやくれい・林雄司両氏結婚記念ではない)

まずはべつやくれいさん、林雄司さんご入籍おめでとうございます。面白人間同士ご結婚ということでどんなお子さんが産まれるか今から楽しみですね!

で、その昔デイリーポータルZを作者別に見たいと思って、デイリーポータルViewerというものをその昔作りっぱなしで放置しておりました。余りにもひどい酷い作りだったので直したいと常々思っていたのですが、この度改良を加えました。見た目は全然変わっていませんが、実質書き直しになりました。

やったことは以下。

  • ワンファイル内でprint文直書き(!!!)だったのでロジックとviewを分離。CGIフレームワークHyCycjkを適用。
  • データファイルをテキストファイルからSQLiteに。排他制御周りを見直し。
  • RSSのパースを正規表現(!!!)からXML::FeedPPに変更
  • クローリング頻度を見直し

本当はURLも変えたかったのですが、長年このURLで運用してしまったので、そこは変えないことにしました。daily2.cgiというファイルはもうありませんが、mod_rewriteで無理やり同じURLにしています。

HyCycjkはYacafiをベースにしてMentaにインスパイアされた拙作のCGI Application Frameworkです。Yacafiよりかは高機能、Mentaよりかは低機能だけどワンファイル配置するだけで動く。といった辺りを狙っています。多分mod_perlでも動きます。残念ながらPSGI対応はしていません。

しかし、元のプログラムは色々酷くて、よく動いていたなぁと逆の意味で関心してしまうというか。2年半前の自分はここまで酷かったのかとか。

そもそも、立ち上げのときも、バックナンバーのページからリンク先を辿ってデータを取得するようなクローラを書いたのですけど、勿論1アクセス毎にウェイトをかけるなんてこともしてなかったので、逮捕されなくてよかったなぁ(笑)、とか思ったり。

投稿者 Songmu : 2010年9月20日 22:10