Self restarting test server
trunk の myapp_server.pl が -r
オプションをつけることでファイルの修正に合わせて自動で再起動してくれるようになった模様。
正直 Wiki の Restarting の tips 見てても。Syntax エラーとかあったときは結局再起しないしかえってめんどいやん、とかおもってたんだけど、
It will monitor your files in a 1 second interval and restart the server when files matching the regex (defaults to '.yml$|.yaml$|.pm$') are modified.
Syntax errors are catched and presented in the logs.
てことで、すっげ便利そうな予感。
Catalyst::Plugin::UploadProgress
混みいってるなぁ。もっとシンプルにできそだけど。
Catalyst
search.cpan.org: Andy Grundman / Catalyst-5.49_01
メンテナまた変わったんだ。
Catalyst 5.49_01
きてますな。5.5RC1。
変更点で気になるものは
$c->forward('/foo/bar', [qw/arg1 arg2/])
の代わりに$c->forward('/foo/bar/arg1/arg2')
とかでOKになった- mod_proxy 経由でバックエンドとして動いていても
$c->req->base
や$c->req->address
をちゃんと取れるようになった - myapp_server.pl が fork に対応した
- ストリーミング関係いろいろサポート
などなど、なかなか良くなっている。
Apacheエンジンは書き直して search.cpan.org: Andy Grundman / Catalyst-Engine-Apache と別パッケージになったらしいので、apacheで利用する場合にはこれも必要。
SQLiteeeeee
おそくねー???
txtパースしてハッシュ突っ込むとこまでは一瞬で終わるのにそれをSQLiteに突っ込むと1秒とかかかる。3日分で。
あー微妙。キャッシュ用とだけだからStorebleとかData::Dumperとかにしたほうが良いかも。
ChangeLogメモビューワ
Catalyst+Markdownでさくっとつくってみよ。
とりあえずChangelogのtxt読み込んでパースするのは書いた。
ネーミングに迷う。とりあえずてきとうにCLONとかにしておいた。
やっぱり
NEXT モジュールつかわないと挙動がおかしい。Catalyst は no strict 'refs'
してモジュールをいろんな名前空間に読んでるからいまだによくわからない。
もっとソース読まなくちゃ。
ふむ
NEXT モジュールを使わず
sub new {
my $self = shift;
$self->config($_[-1]);
$self->SUPER::new(@_);
}
としたほうがよさげ。
Catalyst設定をばらばらに書くのが嫌
これをすべて MyApp の config で行うには MyApp::(M|V|C)::Foo などというコンポーネントモジュールの new を以下のように定義してやれば良い。
sub new {
my $self = shift;
$self->config($_[-1]);
$self->NEXT::new(@_);
}
このようにしておけば MyApp で
MyApp->config(
'M::Foo' => {
some => 'settings',
},
);
などとすれば MyApp::M::Foo の設定を MyApp 内で行える。Config::YAML と併用すれば外部ファイルの使用もOK。
emacsにyaml-modeあれば使う気になるんだけどなぁ。。