雨予報bot「mickey24_bot」のソースコードが肥大化して管理が難しくなってきたので1から書き直し始めた.
- Ruby 1.9を使う
- gem twitterのver 1.0以降に対応する
- なるべくRSpecでテストを書く
- User Streamsに対応する
- 雨予報自動配信を分散化する
Ruby 1.9を使う
必要なRubyGemsがだいたいRuby 1.9に対応したので,新しく書き直すソースコードは全部Ruby 1.9に対応させることにする.Ruby 1.8はもう古い.
gem twitterのver 1.0以降に対応する
mickey24_botはRubyGemsのtwitterライブラリを使ってTwitterと通信をしている.現状のmickey24_botはver 0.9系を使っているのだけど,昨年の11月頃にtwitter ver 1.0がリリースされていて,メジャーバージョンが上がっただけあって変更点が多く,今のbotの実装だと移行するのが面倒になっている(特にエラー時の例外処理).この機会にtwitter ver 1.0以降に対応させつつ,また将来twitterライブラリに大きな変更があった際に簡単に対応できるような形で実装したい.
なるべくRSpecでテストを書く
テストを書かずにコードを書き続けた結果,コードが肥大化して機能追加もリファクタリングもenbugなしでやるのが困難になったので,今度はちゃんとテストを書く.
User Streamsに対応する
User Streamsに対応させることができれば,mickey24_botはクエリを瞬時に受け取ってすぐにreplyすることができるようになる.最近mickey24_bot雨予報の結果を受けとるまでに1分待つことすら絶えられなくなってきたので,これは是非実現させたい.エラー処理と異常終了した時のリカバリ処理をどう実装するかが最大の問題か.あと現状通りcronで毎分起動するやり方もできるようにしておきたい.
雨予報自動配信を分散化する
雨予報の自動配信については,以前告知した通り負荷分散計画を実施する予定.詳細は以下の記事を参照.
mickey24_botの雨予報自動配信機能の負荷分散計画(案)について - ぬいぐるみライフ?
以上
3月の中旬に開発合宿をやる予定なので,その時に一気に作り上げたい.