2008-10-01から1ヶ月間の記事一覧

Devel::NYTProf::Apacheでmod_perl下のCatalystアプリのプロファイリング

mod_perl下でのcatamooseのprofilingをするために、Devel::NYTProf::Apacheを使ってみました。 http://search.cpan.org/~timb/Devel-NYTProf-2.05/lib/Devel/NYTProf/Apache.pm以下、使い方です。 Apacheの設定 以下の設定をapacheの設定ファイルに追加。 Pe…

動的にロードされるモジュールを調べるモジュールを作ってみた

id:hidedenが書いているINCDiffをモジュール化してみました。 http://d.hatena.ne.jp/hideden/20080409/1207740439Devel::DLMProf::Apache http://github.com/dann/devel-dlmprof/tree/master/lib/Devel/DLMProf/Apache.pmこれでmod_perlのアプリケーション…

正規表現でテンプレートを書き換えるModule::SetupのPlugin

catstarterと同じような事をやりたかったのでpatchを作ってみました。ちょっとテストしてないのであれですが、ひとまず第一弾ということで。 Index: lib/Module/Setup/Distribute.pm =================================================================== -…

Module::Setupで正規表現で変数置き換えをしたい!

template作るときも、templateをそのまま動かせる形で編集したいというのがあって、Module::Setupにそれを取り込みたいなぁと。具体的には、____var-module_path-var____.pm とか変数かするのではなくて、lib/MyTemplate.pm のようなものを lib/MyApp.pmのよ…

catamooseでNEXTが使えない

5.8系でNEXT使ったものが動かなくなっている。5.8系から互換切るんだなぁと。 Class::C3使うようにいくつかのPluginやComponentを変えないといけないなぁ。

catamooseをDevel::NYTProfでプロファイリング

NYTPROF=start=init CATALYST_DEBUG=0 perl -d:NYTProf ./script/myapp_server.plcatamooseなので、compile後を測定するためにstart=initで測定。

Perlで遅いテストケースを調査する方法

テストケース数が増えてくると、テスト時間が長くなっていって、全体のテストがしにくくなってきますよね。そんな中で、テスト時間が長いテストケースがあると、全体のテスト時間にもろきいてきてしまって、CIするのが大変になってくるなんてことがあります…

Perlでテスト数を数えずにテストをする方法

Perlでテストをしていたときの一つの疑問は、assert書いてるのに、なんでわざわざそれを手動で数えなきゃいけないんだろうということでした。一応、Test::Moreにno_planというのがあるんですが、これが使えないんですね。 use strict; use warnings; use Tes…

ストレージサーバーのスケールアウト

アプリケーションサーバーやDBサーバーのスケール方法については一通り情報が出そろっていて、どこも同じような方法でやっているような気がしているのですが、ストレージサーバーについてはあまり情報がないなぁと思っていました。自分が知る限り最良の記事…

Module::Setupでflavourの選択をできるようにしてみた

Module::Setupでflavourの選択をできるようにしてみました。module-setup Foo::Barとすると、flavour指定がないときにどのテンプレートからモジュールを選択するかが選択できます。どんなflavourがあったか思い出せないってときに便利です。 --- lib/Module/…

Module::Setupがcooooooooooool !

http://blog.yappo.jp/yappo/archives/000608.htmlおぉ、これいいですねー!以前、catalystのstarterを作っていたときに、flavor(テンプレート)ベースのものを作ったんですが、Module:Setupは思いっきり汎用化されてますね。 http://coderepos.org/share/b…

Carp::Alwaysの使い方

jrockwayさんのを見て、あーなるほどと。これは他のケースでも同じように使えるなぁ。 http://blog.jrock.us/articles/Catalyst%20server%20aliases.pod alias carpcs="perl -MCarp::Always script/*_server.pl -d"coooooooool!

モジュールのリリース手順で不足している点(異なる環境でのテスト)

リリースしてみてまずハマったのは、自分の環境じゃ動くんだけど他のとこで動かないというもの。結局はモジュールのバージョンによって動いたり動かなかったりといった問題だったんだけど、自分の環境で動いてるからな気づかない。動かないよ!って、RTのチ…