最近 Catalyst のエントリをよく見かけるので自分の構成をさらしてみます。コードは CodeRepos にあります。 share - Revision 30441: /lang/perl/Chaostr/trunk 元々は、作ろうとしたアプリがあったんですが、去年の Catalyst confernce 以降、MyApp 的実験場... 続きを読む
モダンPerlの世界へようこそ 第8回 Reaction:CatalystをもっとDRYに 2009年6月1日 石垣憲一 Perl, モダンPerl, Catalyst, Reaction 1 2 3 アプリケーションの枠組みを越えた再利用 前回は,Catalyst 5.7で登場したチェーンドアクションを利用して適切なベース... 続きを読む
Catalystアプリを継承する Catalystはたいへんすばらしいフレームワークですが、新しいプロジェクトを始める、という時にcatalyst.plでスケルトンから作り直していつものプラグインを設定して・・・みたいな面倒な手間がいろいろあります。 Pixisはなるたけ簡単... 続きを読む
モダンPerlの世界へようこそ 第7回 Catalyst::DispatchType::Chained:チェーンドアクションはむずかしい? 2009年5月18日 石垣憲一 Perl, モダンPerl, Catalyst, チェーンドアクション 1 2 3 5.7系列の目玉だったチェーンドアクション 3年前に登場したCatalys... 続きを読む
Moosification: Catalyst 5.8に移行した際にちょっと気づいた事。 最初からMooseベースでアプリケーションを作るというのは、実務ではなかなか難しいのはわかります。一般論は JPA #02で話すのでおいておきますが(参加申し込みは今日5/12までですよ!)、5.8 ... 続きを読む
モダンPerlの世界へようこそ 第6回 Catalyst::Upgrading:検証はお早めに 2009年5月4日 石垣憲一 Perl, モダンPerl, Catalyst, Moose 1 2 3 3年前の大混乱 モダンPerl界を代表するウェブアプリケーションフレームワークといわれるCatalystが2006年半ばに5.6系... 続きを読む
perl, jpa | 15:10 | 1. Pluginプラグインの使用を控える間違った使用方法、実装方法で定義されていることが多いプラグインの使いどころリクエストディスパッチのロジックを監視、変更する場合のみリクエストパラメーターの変換、Catalyst のメソッド実行チェー... 続きを読む
JPAセミナー#1でJay Shirley氏が絶賛していたlocal::libですが、その際に「異なるバージョンのモジュールをテストするのにも便利ですね」とか言っていた気がするので、早速やってみました。 お題は、Catalystで先日公開されたMoose版の5.8と旧5.7をベンチマーク... 続きを読む
Catalyst 5.8系、通称catamooseの最初のリリースバージョンであるCatalyst::Runtime 5. 80001がCPANにアップされました。 [Catalyst] [ANNOUNCE] Catalyst Runtime 5.80001 The Catalyst Core Team is proud to announce that we've just shipped the next majo... 続きを読む
Catalystの良かった点は、ありとあらゆる所を拡張できるように設計してあったことなんだろうと思っています。プラグインの方式に難があるというのはさておき、それは些細な点であって、一番多分上手くいかなかった点は、フレームワークとして適切なデフォルトセ... 続きを読む
JPAサイト構築中 結局ユーザー管理だとか、お金を振り込む事だとか、なんか色々やらざるを得ないと言うことから、自分で書いたほうが速いという決断でJPA用のサイトを一からCatalystで書いてます。 今回はこれをgithubで晒しているわけですが、今ふと思ったのは... 続きを読む
Pluginの仕様を考えると、Validationをどこでするのか、validation error時の表示方法、formの受け渡し方あたりが考えどころだなぁと。catalystのcontrollerでstash介してform渡す仕様は、どうも直感的じゃないので違う形で実現したいなと Validationのする場所... 続きを読む
catalyst最近はもっぱらこんな構成 MyApp/ |-- Changes |-- Makefile.PL |-- README |-- conf - 設定ファイルはまとめてここへ | `-- myapp.conf |-- docs - ドキュメントとかSQLとか |-- lib | |-- MyApp | | |-- Base - Base::Controllerとか基底クラス | | |... 続きを読む
なにかと BK がつきまとう携帯サイト開発ですが、「これを入れると携帯対応ができます」的な単一の何かに乗っかった形ではなく、『各課題をそれぞれモジュールで解決する』という方向のサンプルサイトを作ってみました。 http://mobilecat.koneta.org/ 実はモバ... 続きを読む
CatalystでEncode::JP::Mobileでうまくdecode/encodeするもの Catalyst | 10:25 | http://mobilehacker.g.hatena.ne.jp/tomi-ru/20080625/1214366711 のつづきですが、 http://svn.coderepos.org/share/lang/perl/Catalyst-Plugin-Unicode-Encoding-JP-Mobile/t... 続きを読む
CatalystをPARデプロイする際のハック Catalystにはデフォルトでcatalyst_parというディレクティブが備え付けられていて、Makefile.PLで ... catalyst_par; ... WriteAll; とすると後のmake時にPAR形式のファイルを作れるようになる機能があります。このPARファ... 続きを読む
Catalystいろいろあって雨降って地固まるでしょうか。 ようやくCatalystをどう作るかが頭の中ですっきりしてきました。構成 MyApp | | Changes | MyApp.yml | Makefile.PL | README | |-lib | | | | Myapp.pm | |-MyApp | | | |-Controller コントローラ テン... 続きを読む
http://d.hatena.ne.jp/tomyhero/20080605/1212687365一応解説。基本的には Plugin という形で実装するのは十中八九よくありません。session/auth あたりの本当にグローバルなものか、Catalyst の内部をいじくりたい場合をのぞいて。そして、#catalyst などで告... 続きを読む
またCatalystがでた当初、Plugin::* って簡単に作れるし、使うのも $c->fooでできるしと、それをきっかけに好きになった人もいると思います。「幼稚園児がやっと足し算を覚えたんだけど、3+3+3 は 3 x 3 だから、3+3+3は馬鹿なやりかただからやるな。」的にき... 続きを読む
例外的に、ConfigLoaderとStatic::Simple、あとAuthenticationやSession、Cacheあたりは使ってもいいけれど、それ以外は基本的に使っちゃいけない。#や、Authなんかはまだ新しいAPIに追随してないのがあるから、これもやめとけって言った方が無難かな。つくっ... 続きを読む