とりあえずプロジェクトを列挙
いろいろなところに手を出しすぎて自分でも混乱してきたのでまとめてみる。
XOClock
https://github.com/karupanerura/XOClock
時刻を指定してJobを実行出来るJobQueue Server。
最近はJobの保存先を変えられるようにしたり、
コマンドをWorkerのように指定する事が出来るようにしたりしている。
perlで書いている。
AnyEvent::ForkManager
https://github.com/karupanerura/p5-AnyEvent-ForkManager
Parallel::ForkManagerのAnyEventのイベントループをブロックせずにwait出来るようにした奴。
ブロックしてwaitする事も出来る。(デフォルトではノンブロック)
IFは少し違うが、だいたいParallel::ForkManagerと同じ感覚で使える。
明日あたりshipitされるのではという噂があるが真偽は定かでは無い。
XOClockでも使っている。
AnyBot
https://github.com/karupanerura/p5-AnyBot
AnySanは便利なのだけど、
AnySanで書くにはちょっと大規模過ぎるかなという規模のbotを書くときに
ロジックを整理しやすいようなIFでbotを書けるというような事を目指している、
bot framework。
ほぼ自己満足のためだけに書いているという説も濃厚。
最近飽きてきたという噂も。
Atelier
https://github.com/karupanerura/p5-Atelier
作った本人も忘れていたかもしれない俺々Web Application Framework。
- Sledge互換
- Plugin使えば完全互換
- Sledge::Pluginも使える
- Pluginを手軽に書ける
という事を意識して作っているらしい。
ほぼ自己満足のためだけに書いているという説がかなり濃厚。
最近飽きてきたという噂も。
Tako
https://github.com/karupanerura/Tako
Webからユーザー登録/設定して使えるtiarra的な機能を持ったIRC Proxy Serverが欲しいと思って作り始めたらしい。
弊社内 #発火村 ではじめてコードを書いたと思わせつつ、実は同じ思想で作っていたPirocyというプロジェクトの後継。(Pirocyは公開していません)
Pirocyは1からがむしゃらに実装してコードがぐちゃぐちゃになったという反省点を生かして、Amon2+AnyEventベースで、なるべくロジックを分離出来るような設計にして開発しているらしい。
ついでにAnyEvent::DBI用の簡単なO/R Mapperができそうな気配なのでそこは分離する可能性があるらしい。
優先順位
さて、これだけ謎プロジェクトが増えすぎると「あれも開発したい」「だけどこれも開発したい」となって1つのプロジェクトに集中する事が出来ない。
そこで、優先順位を付けることにした。
- 実用性
- 業務で活用出来るか
- これを利用する事でメリットを得られる場面は多いか
- 汎用性
- さまざまな場面で活用出来るか
- これを利用する事により無駄に冗長なコードや仕組みが減らせるか
を重視し、優先順位をつけるとしたら以下のようになっただ。
XOClock > Tako > AnyEvent::ForkManager > AnyBot > Atelier
というわけでこの優先順位で今後は開発を進めていくとおもう。たぶん。