DBIC+SQLiteでイテレータループ内でupdateが出来ない件
すっかり忘れててまたはまってしまった。
検索したら自分のメールが出てきてびびる罠。
ここにもメモしてた
Class::Inspector->loaded
の実装はなんか微妙な気がするなぁ。
$RE_CLASS = qr/\A[^\W\d]\w*(?:(?:'|::)[^\W\d]\w*)*\z/s;
この正規表現でネームスペース名のチェックしてるけど、あってるのこれ。
Foo::32
とか、とおらない。
Schema::Loader::make_schema_at 便利
Schemaクラスの雛形つくるスクリプトを書こうと思って、sqltの出力ベースにしてやるかとか思ったらなんかcolinuxだとtestにこけたので、Schema::Loaderのdebug出力を基に作るかとか思ってSchema::Loaderのぞいてたら、なんかmake_schema_atとかいうのでやりたいことができた。
いつのまに。coolすぎるぜ。
すこし出力ファイルいじりたいからラッパスクリプト書くかな。
CLASS.pm とか
きもいよ。
WWW::Blog::Metadata
Typepadのfeed数が変ったせいかテストこける。
--- t/01-extract.t.orig 2006-08-01 14:32:46.448523382 +0900
+++ t/01-extract.t 2006-08-01 14:32:02.566356991 +0900
@@ -28,7 +28,7 @@
$meta = WWW::Blog::Metadata->extract_from_uri('http://btrott.typepad.com/');
ok($meta);
ok($meta->feeds);
-is(scalar @{ $meta->feeds }, 2);
+is(scalar @{ $meta->feeds }, 3);
is($meta->feeds->[0], 'http://btrott.typepad.com/typepad/atom.xml');
is($meta->feeds->[1], 'http://btrott.typepad.com/typepad/index.rdf');
is($meta->foaf_uri, 'http://btrott.typepad.com/foaf.rdf');
うーむ、こういうテストの書き方はどうなんだ。RTかいとくか。
WWW::Robot的なの
WWW::Robot
ちょっといいなと思って使おうと思ったんだけど、今のLWP::RobotUA
だとちょっとコード書き換えないとうごかねー。
RTみてみたら二年も放置されてる模様。
うーむ。他に何か言いのありますか? URL渡すとリンクたどってなんかする系。
WWW::Robot
はなんかhookで処理追加できていい感じなんだよなー。再発明しちゃおっかなーー。
てかなんかこれ系モジュールのきなみ最終更新古いなぁ。なんか見逃してる予感。
Algorithm::C3 0.02
あとでためすとかいいつつ結局なにもしてなかったblblackさんのC3高速化パッチですが、本家に適用されたみたい。
あtdtms
DBIC が起動時の重いのは C3 のせい
らしい。さっきIRCでそのパッチが出てた。
後で見てみよう。
開発中アプリの再起動に時間かかって結構致命的なのよね。
Catalyst::Plugin::SubRequest
初めてソース見たけど、いいじゃんこれ。
なぜか名前から連想で内部でLWP::UserAgent
とかもってて普通にHTTPアクセスしてるとか勝手に思い込んでたけど、そうじゃなかった。
食わず嫌いはよくないなぁ。
自分自身が提供してるAPIを使う場合とかかなり便利そう。
my $json = $c->subreq('/json/blahapi');
Simple tip for text parsers with Catalyst
for my $parser (qw/Markdown Textile Trac Hatena/) {
__PACKAGE__->plugin( lc $parser, "Text::$parser" );
}
__PACKAGE__->textile->charset('utf-8');
とかで一括セットアップ。
$c->trac->parse($text)
とか使える。