Journal.2009-09-24PSGI/Plack勉強会PSGI/Plack勉強会を開きました(ひとりで)。資料はGitHubにあげてあります。まとめ書き足りてないのですが、自分的には納得したので満足してしまいました。http://github.com/kentaro/psgi-study以下にもコピペ。各Webアプリケーションフレームワークがバラバラに実装していた、WebサーバとWebアプリケーションとのインタフェイスを統一したい。車輪の再発明を避ける各サーバ間における移植性を高めるそのためには、仕様と実装の区別を明確に行う必要がある。Rackそこで、仕様としてPSGIが定められ、そのリファレンス実装としてPlackが開発されている。インタフェイス仕様と実装を切り分けることにより、Webアプリケーションフレームワーク開発者は、より本質的な実装に注力できる。|'------------------------------------------------------------'PSGIにおけるアプリケーションとは環境変数(PSGIによる拡張あり)をハッシュとして受け取り、レスポンスをPSGIに定められた形式の配列リファレンスで返すという仕様を満たすコードリファレンス(詳細は後述)。(2)plackupの行っていること:config/hello_world.psgiをロード。Plack::Loaderにより適切なサーバ実装が選択される。この場合、Plack::Impl::StandAloneが使われる。plackupへの--implオプションで変更可能。選択されたPlack::Impl::*に$handlerがわたされ、アプリケーションが実行される。(2)環境変数を受け取り、レスポンスをPSGI形式なコードリファレンスとしてハンドラ。(2)受け取った環境変数(リクエスト)を元に、あれこれする箇所(WAFの勘所)。(3)早速使ってみる。(4)Plackアプリケーションを起動するためのpsgiファイル。(5)MyAppをCGI上で動作させる。(6)MyAppをmod_perl上で動作させる。(7)続きはGitHubで。http://github.com/kentaro/psgi-studyRidgeのPSGI/Plack対応id:hakobe932が対応つつあります。RidgeのplackブランチまとめPSGIの仕様はシンプル。Plackという実装もあるので、サーバ実装の差異にまつわる面倒なことをお任せできて、簡単にWAFを作れる。お膳立ては整っているので、いけてるWAFにするのはWAF開発者のセンス次第。yesterday....2012-02-10ぼくがかんがえたさいきょうのAmon2のつかいかた新プロジェクトで、それなりに自由にいろいろやれる感じの状況...2012-01-28elispはウェブアプリケーション記述言語やったんやーこんにちわ。昨今、ウェブ開発の進化はすざましいですね。