CatalystなアプリをPlack + Router::Simple + DBIx::Skinny + Text::Xslateに置き換えた

あるサービスがアクセス多くてどうしようかなとか考えていたんですが、とりあえずCatalystから変えてみようかなと思い切ってやってみた。
ソースはありません。

最初は結構難儀したんだけど、もともと認証がいらない奴だったのでわりと簡単に。
ウェブには道しるべはたくさんあって、それらを参考になんとなたどり着いた。

Plack

ぐぐるとたくさん出てきます
うちのアプリに必要だったのはMiddleware::Sessionあたり

Router::Simple

http://search.cpan.org/dist/Router-Simple/
http://d.hatena.ne.jp/tokuhirom/20100319/1268995772
これは無くてもまあいいかなだけど使ってみた

Text::Xslate

http://search.cpan.org/dist/Text-Xslate/
http://search.cpan.org/dist/Text-Xslate-Bridge-TT2Like/
http://search.cpan.org/~gfuji/Text-Xslate-0.2012/lib/Text/Xslate/Syntax/TTerse.pm
ほぼTT2のまんまうごかせるので、簡単で高速です。
cache => 2で更新チェックしないと超高速もーど

DBIx::Skinny

DBIx::Skinny JPerl ADvent Calendar 2009
http://perl-users.jp/articles/advent-calendar/2009/dbix-skinny/
とりあえずこれよめばすぐに使えます・・が、group byとか世桑から菜kったのでsearch_by_sqlで生sqlでいいす
DBICとかむかつくところがたたあったので、これを機にすきにーしたい


いろいろと調べたり大変だった気がしますが、後からソース見るとたいした事ない気も。
よくわからない所はモジュールのテストコードみたり動かした


もともとめんどくさがりなのでCatalyst使ってたんだけど、実際にやってみると上記のモジュール使えばこれからもこれでいいなあという感じです。 結局めんどうで調べなくても使えるソースコードジェネレーター的なものをありがたがっていたのかなー 認証とかセッションとかキャプチャとかって一度書けば使い回しできるから別にWAFでなくてもいいかなあと CPUやメモリの速度が上がってるから、開発時間重視でって空気あったけど最近のシンプルでべんりなモジュールは速度も開発効率も両立できそうです。 5.8のcatalystとかもういいや的な感じです。 Text::XslateとDBIx::Skinnyに関しては環境をとわずあと数年は使い続けれそうな気がします。