ん?たまには流行りにのってもいいじゃない!ってことで、Catalyst::Plugin::XFrameworkを作ってみた。 % HEAD http://localhost:3000/ 200 OK Connection: close Date: Fri, 09 Dec 2005 15:42:14 GMT Content-Length: 1695 Content-Type: text/html; charset=utf-8 Client-Date: Fri, 09 Dec 2005 15:42:14 GMT Client-Peer: 127.0.0.1:3000 Client-Response-Num: 1 Status: 200 X-Catalyst: 5.61 X-Framework: Catalyst/5.61 そもそもX-Catalyst:って付いてるんだけどね。いいじゃない…!
CatalystのStatic::SimpleとSessionの相性が悪い CatalystのCatalyst::Plugin::Static::SimpleとCatalyst::Plugin::Session(::State::Cookie)の相性が悪い。最悪の場合セッションキーが消されてしまう。 原因はprepare_actionの実行順で、解決策としてはプラグインのロードの順番なのだが、 use Catalyst qw/Static::Simple Session/ とした場合、 prepare_actionはStatic::Simpleの方が先に実行される。ところがStatic::Simpleのprepare_actionは、 return $c->NEXT::ACTUAL::prepare_action(@_); で終わるため、Sessionではなく、SUPER:: prepar
CatalystでTypeKey認証 実験でいろいろとやるうちに、 use Catalyst qw/-Debug Static::Simple Config::YAML FormValidator::Simple Session Session::Store::FastMmap Session::State::Cookie Authentication Authentication::Credential::TypeKey/; SessionとAuthentication関連が長いし大杉。 すっきりと書ける方法ないですかねぇ。 CatalystでTypeKey認証をする、Catalyst::Plugin::Authentication::Credential::TypeKeyは以下のような形で使用できる。 CPANにあがっていない場合はこちらのページからたどると入手できるはず。 use C
前の話の続き。新しい server.pl は -r オプションをつけたときに、自動的にファイルの修正を検知して再起動してくれる機能が付いてます。 いままでの server.pl だと、デーモン上で perl が永続化してるためにモジュールを書き換えてもそれが再読込されず、一度 ^C で止めてまた起動とかする必要がありました。で、それが必要なくなったと。先日 Rails を試しにいじってたんですが、Rails 付属の WEBrick なサーバーは、クラスの更新も検知してくれてスゲー便利だったので、server.pl がこの仕様になったのはすごくいいです。 どういう実装でこれを実現してるのかなーと思って見てたんですが、やっぱりそこは Catalyst、ちょっと面白い実装になってました。手元にある 5.33 からだと Catalyst::Engine::HTTP::Restarter Catal
PowerBook にインストールして使ってる Catalyst は 5.33 なんだけど、このところすごい勢いでバージョンアップしているらしい。 それはさておき、svn から開発版のソースを拾ってきて Catalyst::Helper のコードを眺めていたら server.pl がずいぶんパワーアップしていることに気づく。 Options: -d -debug force debug mode -f -fork handle each request in a new process (defaults to false) -? -help display this help and exits -host host (defaults to all) -p -port port (defaults to 3000) -k -keepalive enable keep-alive con
ちょっと前に miyagawa さんが 12 Things I dislike with Sledge という(数字で始まる Web つーぽいんとおーチックなタイトルで) Sledge の次期バージョンへの要望なんかを書いてます。この中で 10. REST な API や Basic 認証、XML-RPC、Atom などをうまく処理できない と、Sledge における Web API (XML-RPC/AtomPP) のハンドリングについての言及がありました。これからの MVC フレームワークに求められる必要条件の一つとしてこの Web API を処理しやすいかどうかというのは重要な気がします。 フレームワークに Web API 用の API が載っていて、その扱いが容易かつプロトコルの実装を知らなくても使えるようなアーキテクチャになっていると、開発者が Web API を公開するための敷
PerlのCatalystとJavaのStrutsのMVC実装の比較をしてみます。 Struts Catalyst Model: Struts 図ではModelとしてActionFormとなっていますが、ActionFormはむしろViewに近い存在です。Strutsにおける実際の開発ではむしろJavaBeansをModelとして扱い、ModelのSerializeにはHibernateのようなO-Rマッピングツールなどを使います。SerializeにはDAOパターンを使うことが多いです。 Catalyst Catalystでは純粋なModelもフレームワークに組み込まれています。Class::DBIなどのActionRecord的アプローチを取るためModelそのものにSerializeの機能を含めることが多いためDAOなどを使う場面は少ないです。 Contoller: Struts
この文書は内容が古くなり、非推奨となったので削除しました。あしからずご了承ください。
題名 Catalyst::Manual::Cookbook - Catalystでお料理を 説明 ママが昔よく焼いてくれたおいしいコード! レシピ デバッグ画面を強制表示する endアクションでdie()を呼び出すと、リクエストの最後にデバッグ画面を強制表示させることができます。 sub end : Private { my ( $self, $c ) = @_; die "forced debug"; } いちいちこれを書いたり消したりするのが面倒なら、endアクションにこんな条件文を加えることもできます。 sub end : Private { my ( $self, $c ) = @_; die "forced debug" if $c->req->params->{dump_info}; } こうしておくと、たとえばクエリストリングに"&du
題名 Catalyst::Manual::Intro - はじめてのCatalyst 説明 ここではなぜ、またどうやってCatalystを使うのかを簡単に紹介します。Catalystの挙動について説明し、簡単なアプリケーションを手早く立ち上げる様子をご覧に入れます。 Catalystとは? Catalystとはエレガントなウェブ・アプリケーション・フレームワークです。きわめて柔軟なのにきわめてシンプル。Ruby on RailsやSpring (Java)、そしてCatalystの元となったMaypoleによく似ています。 MVC Catalystはモデル・ビュー・コントローラ(MVC)というデザイン・パターンを踏襲しているため、コンテンツ、プレゼンテーション、フロー管理といった問題を簡単に切り分けて独立したモジュールにすることができます。こうして切り分けることで他の問題を処
Catalystでのセッション管理はどれがいいのだろう Catalystをちょっとやり始めている。 シスコのHUBの方はデータセンター内で他者さんのラックで使われているのをよく見ます。 うちは使ってないけど。管理機能は別としてすぐに代替が可能なお手頃なHUBの方がうちの運用にあっているんじゃないかと思うのだがごもごもごも。。 んで、勉強にCatalystでアプリケーションを作るのにあたって、セッション管理をどうしたらいいのか調べ中。 プラグインが4つほどあるんですよね。 Catalyst::Plugin::Session::FastMmap Catalystの制作者のプラグイン。データの保存には、Cache::FastMmapを使う。セッションキーのリダイレクト時の書き換え機能やHTML上のリンクへの埋め込み機能もある。FastMmapはけっこう速いらしい。たぶん一番ベーシック Catal
時間が空いているときに Catalyst のお勉強をしていたのですが、なかなか情報をまとめる時間がとれないのです・・・。思ったより苦戦したので少しずつでもお勉強の情報をまとめていこうと思ってます。今回はその1ってことで。Catalyst をこれからお勉強してみようって方の参考にでもなれば幸いです。 実際には、アプリケーションを1つ作ってみるってところまで既に2週間前に終わっていたりするのですが、その解説に至るまでどれくらい時間かかるんだろう・・・ (。・x・)ゝ Catalyst の基礎知識 Catalyst のフレームワークの構成は上図のような構成になっています。純粋な MVC ではなく、MV C + A(Apprication) のような構成になっていますが、Application の部分は Dispatcher 機能に相当する部分で、実装時には MVC の考え方で問題ありません。 M
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く