この前の仕事からTipsをダンプ... Catalyst x Lighttod の時、Catalyst は 5.7004 以上必須 Shibuya.pm の typester さんの話で感化されたのもあって採用した Lighty、イイ。シンプルに言われたことだけをこなしてくれる感じ。 で、Catalyst を Lighty で動かすときは Catalyst 5.7004 以上が必須なんすね。でないと、SCRIPT_NAME などの環境変数のバグから、http://example.com/foo/ と http://example.com/foo のように最後に...
最近、現実逃避で「CPAN author にでもなるか」と思い、Perl でちゃんとしたモジュールを書くにはどうしたらいいかをチマチマ勉強しています。 で、そうなるとやっぱりオブジェクト指向なわけです。が、Perl は Java などに比べるとオブジェクト指向的な記述を前提としていないユルユルなプログラム言語 (あくまで主観ですが) なので、書き方も使い方も実現方法も色々あってどう...
アプリケーションのコアになるオブジェクト、まあ言うなればずばり Catalyst のコンテキストオブジェクトなんだけど、ああいう感じで全体で使い回されるオブジェクトというのが時々必要になる。特にフレームワークでそういうオブジェクトが良く登場する。 そのオブジェクトはいろいろ機能を持ってるんだけど、フレームワークのコアであったりするが故に、後からいろいろ...
こんにちは,結城浩です。今回はPerlのWebアプリケーション・フレームワーク「Catalyst」を解説し,簡単なメモ帳プログラムを作ります。 Catalyst(カタリスト)は,Perlで作られたWebアプリケーション・フレームワークです。Catalystを使うと,Webアプリを簡単に作成・テスト・配布することができます。catalystという単語のそもそもの意味は,「触媒」あるいは「促進させるもの」...
Catalyst を POE で動かす Engine の Catalyst::Engine::HTTP::POE という実装が CPAN にあります。"Single-threaded multi-tasking Catalyst engine " だそうです。"Single-threaded" と言いつつも実装を覗いてみると環境変数 CATALYST_POE_MAX_PROC を 1 よりも大きく設定することで prefork する実装になってます。POEシングルスレッドではアプリケーション内で発生するブロックを避けることが難しいのでそのための実装じ...
近頃の Web + DB なアプリケーションは MVC でモデルは O/R マッピング、みたいなアーキテクチャが主流です。その際 MVC フレームワークを使って作るのはいわずもがなですが、最近 Rub...
DoCoMoの場合は端末ID、SoftBankの場合はユーザID、AUの場合はサブスクライバIDを返すというもの。 CPAN漁ってみたところ、一応HTTP::MobileAgent::Plugin::ExtensionやSledge::MobileGate::Mobileとか携帯のIDを取得できるヤツはあった。 だけど、HTTP::MobileAgent::Plugin::ExtensionはSoftBankのときにUAから取得できるシリアルナンバーしか取れない。あとDoCoMoのis_utnの判定がhtml_version取得できない場合に未対応に...