タグ

plackに関するyokochieのブックマーク (15)

  • 初めてのPlack - すぎゃーんメモ

    初めてのnode.js - 葉っぱ日記 に便乗しまして。 Perlの世界では、2009年秋くらいから「PSGI」という仕様が作られていまして、いまやPerlでWebサーバを作る際の標準インターフェースとなっております。 PSGI/Plack - Perl Superglue for Web Frameworks and Web Servers 第1回 PSGI/Plack―フレームワークとサーバをつなぐエンジン (1):Perl Hackers Hub|gihyo.jp … 技術評論社 とりあえず、教科書どおりに簡単なWebサーバを作ってみます。 ''=~(('(').('.'^'~'^(''=='').''^'^').('='^'^'^')'^(''=='').'').((''=='').''^'='^'~').('('^'='^'.'^'^').('='^'('^'.'^(''==''

    初めてのPlack - すぎゃーんメモ
  • Plack+CatalystでWebアプリ(とCLI)を作ってみる - As a Futurist...

    1 年間インフラ修行ばっかりやってて、カタムースとかプラック企業の流れに乗り切れなかったので 一念発起して最近趣味で Plack と Catalyst で Web アプリを書こうとしています。 ただ、アプリのロジックに入る前に、そもそもモジュールの構造をどうしようかと 試行錯誤するだけで数週。。。一旦ここまでのまとめをしておきたいと思いました。 Perl 界隈の方々は当にエロくてすばらしいなと改めて感じました。 自分のプログラムセンスの無さをひしひしと感じてますが、 今回のアプリの開発を通じて何か CPAN に上げて、僕もエロくなれたらいいなぁ とか密かに思ってたりしてます。 それは MyApp::Web から始まった とりあえずモダン Perl 入門にあるように、以下の様なコマンドで Catalyst 用のモジュールを 一段名前を掘って作りました。 catalyst MyApp::We

    Plack+CatalystでWebアプリ(とCLI)を作ってみる - As a Futurist...
  • 第1回 PSGI/Plack―フレームワークとサーバをつなぐエンジン (2) | gihyo.jp

    Plack─⁠─PSGIユーティリティ PSGIのおかげで、フレームワークはCGIやFastCGI、mod_perlといった環境の差異を吸収するためのコードを書く必要はなくなり、PSGIのインタフェースだけを実行すればよくなりました。実際に多くのフレームワークがすでにPSGIをサポートしていますが、さて、そうしたアプリケーションをどうやって動かせばよいのでしょうか。 Apacheなど既存のWebサーバでPSGIアプリケーションを動かすには、CGI、FastCGI、mod_perlなどのインタフェースをPSGIに変換する必要があります。また、PSGIをネイティブで実行できるPerlベースのHTTPサーバもほしいところです。 Plackはそうした要件を満たすためのユーティリティで、リファレンス実装としてのPSGIサーバやそれらへのアダプタ、周辺ライブラリや後述するミドルウェアが含まれています。

    第1回 PSGI/Plack―フレームワークとサーバをつなぐエンジン (2) | gihyo.jp
  • PSGI/Plack - [Perl Hackers Hub]

    連載では、第一線のPerlハッカーが回替わりで執筆していきます。記念すべき第1回は、WEB+DB PRESS誌ではVol.2から執筆しており、長らく連載も担当していた宮川達彦さんです。 はじめに PerlでWeb開発をするためのフレームワークは百花繚乱、人気を集めています。稿では、これらのフレームワークが共通して利用するためのインタフェース仕様であるPSGIと、そのエンジンとしての実装であるPlackを紹介します。 PSGIに至る道 PerlとWebアプリケーション開発の親和性 Perlは「インターネットのグルー(糊:のり)言語」とも言われ、CGIによる開発がメインだった1990年代から、Webアプリケーション開発に最も関わりのあるプログラミング言語の一つと言ってよいでしょう。2000年代に入っても、Ruby on RailsPHPなどの他言語からの影響も取り入れながら、Web開発

    PSGI/Plack - [Perl Hackers Hub]
  • Perl & Web Servers

  • Plack/PSGIで簡易podwebserver - FloralCompany.log

    モジュール一覧とか要らなければ、 # app.psgi use Pod::Simple::XHTML; use Pod::Simple::Search; sub { my $env = shift; my $path = $env->{PATH_INFO}; if ( $path eq '/' ) { return [ 200, [ ], ['It works!'] ]; } $path =~ s{^/}{}; my $mod = $path; $mod =~ s{/}{::}g; my $filepath = Pod::Simple::Search->new->find($mod); if ( $filepath ) { my $podparser = Pod::Simple::XHTML->new; my $content = ''; $podparser->output_string

  • ゆーすけべー日記

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記
  • CGIをPlackで開発(2) - D-6 [相変わらず根無し]

    CGIをPlackで開発(2) 前のエントリ書いたら宮川さんにオススメ方法を教えてもらった http://twitter.com/miyagawa/status/10271128928plackup \      -L Shotgun      -MPlack::App::WrapCGI      -e 'Plack::App::WrapCGI->new(script => "/path/to/cgiscript.cgi")' だそうです!これなら全ての要件を満たせるもよう!そしてapp.psgiを作る必要ありません。 今これやってみて一つだけ問題点。多分POD入りのCGIは動かない。それと、__DATA__は見てくれるけど、__END__があると動かない。__END__さっき簡単なパッチのpull requestを送っておきました! カテゴリ 開発 タグ cgi perl plack 2

  • ゆーすけべー日記

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記
  • Plack::App::Proxyについてだらだらと - Pixel Pedals of Tomakomai

    去年の年末、FlashのXMLSocket通信を横取りしてダンプするアプリを書こうとしたのですが、その時に見つけたのがLee AylwardさんのPlack::App::Proxyです。HTMLを置換してFlashの接続先を横取りしつつ、自前のXMLSocketサーバを立ち上げるってのが1プロセスでできるってのは、非同期なWEBサーバならではの技ですね! ただ、Plack::App::Proxyを触り始めてみると、そのままではなかなか難しい部分が色々あったりしたので、コメンテナにしてもらってちょくちょくいじったりしています。(ちなみに、miyagawaさんもコラボレータで、私よりバリバリいじってますw) 一言で言えば、 Plack::App::Proxy がカバーしているのは Apache の mod_proxy の機能です。 使い方はpod見てもらうと全部載ってますが、例えば /back

    Plack::App::Proxyについてだらだらと - Pixel Pedals of Tomakomai
  • Perlでマルチプロセスデーモンを作るためのモジュール「Parallel::Prefork」に(Min|Max)SpareServers対応を追加した話 (もしくは read(2) / write(2) の atomicity) - kazuhoのメモ置き場

    Perl で複数のワーカープロセスを制御するためのモジュールとしては Parallel::ForkManager が古参なんだけど、このモジュールはプロセスを fork するだけで、シグナルを受信したらワーカープロセスを再起動とかそういうことができないので、自分は Parallel::Prefork というモジュールを自作して、たとえば Plack の Server::Standalone::Prefork とかで使っています。 で、まあ、prefork なサーバとか書いてると、(Min|Max)SpareServers 対応してないんすか? というのは FAQ なわけで。プロのサーバ管理者の間では存在価値が疑問視されて久しい (Min|Max)SpareServers だと思うんですが、まあ書いてみるのもいいかと思って Parallel::Prefork のディストリビューションに Pa

    Perlでマルチプロセスデーモンを作るためのモジュール「Parallel::Prefork」に(Min|Max)SpareServers対応を追加した話 (もしくは read(2) / write(2) の atomicity) - kazuhoのメモ置き場
  • Plack::Server::Standalone系を使ってウェブアプリケーション開発と運用が楽になる話 - JPerl Advent Calendar 2009

    Plack::Server::Standalone 系を使ってウェブアプリケーション開発と運用が楽になる話 - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? 既存の環境に対する不満 Perl のウェブアプリケーションを構築するにあたっては、リバースプロキシと mod_perl を組み合わせるか、あるいは FastCGI (ExternalServer) を利用するのが一般的だと思います。しかし、どちらをとっても、環境を構築して設定するのが難しいというのが個人的な不満でした (mod_redirect を設定したり mod_fastcgi にパッチをあててインストールしたり startup.pl を書いたり...)。自分が Plack の開発 (主に Server::Standalone と Server

  • ゆーすけべー日記

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記
  • Plack/PSGI Ecosystem

    bulknews.typepad.com Tatsuhiko Miyagawa's blog to discuss mostly tech and nerdy stuff. via www.flickr.com Some people still seems do not "get" Plack/PSGI, so here's the overview. The important bit is that Plack is an implementation but is also a namespace for utilities, and things like Plack::Middleware and Plack::Request should be thought of more like a library. Plack::Server, ::Middleware, ::Req

  • AnyEventとPlackの社内勉強会資料 - Pixel Pedals of Tomakomai

    社内で Shibuya.pm*1でmiyagawaさんのTatsumakiの話を聞く上での予備知識のつもりな勉強会をするので、利用するスライドだけ貼っておきます。 AnyEvent and PlackView more documents from hiratara. *1:自分は行けなくなりましたが・・・orz

    AnyEventとPlackの社内勉強会資料 - Pixel Pedals of Tomakomai
  • 1