タグ

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

  • HTTPサーバフレームワークとしてのPlack活用法と、Plack::Middleware::Pictogram::MobileJpを使ったその事例紹介 - Articles Advent Calendar 2010 Hacker

    HTTPサーバフレームワークとしてのPlack活用法と、Plack::Middleware::Pictogram::MobileJpを使ったその事例紹介 実はお腹回りが入らなくなってスーツを新調したhirose31です。 みなさん、Plack使ってますか? 弊社でもStarletをNginxのバックエンドに置いてプロダクション環境でモリモリ使っているのですが、ちょっとした検証にもPlackは大変重宝しています。 具体的には、キャッシュに関連するレスポンスヘッダ(Last-Modified、Expiresなど)の組み合わせと、条件付きGETやブラウザキャッシュの挙動をブラウザごとに調べたときに使いました。あくまで検証用と割りきって特にファイル分割などはせず、psgiファイルにゴリゴリっとベロっとコードを書いてパパパっと検証用のHTTPサーバを作りました。 このように、限定された目的のHTTP

    HTTPサーバフレームワークとしてのPlack活用法と、Plack::Middleware::Pictogram::MobileJpを使ったその事例紹介 - Articles Advent Calendar 2010 Hacker
  • CatalystなアプリをPlack + Router::Simple + DBIx::Skinny + Text::Xslateに置き換えた - pepponの日記

    あるサービスがアクセス多くてどうしようかなとか考えていたんですが、とりあえずCatalystから変えてみようかなと思い切ってやってみた。 ソースはありません。 最初は結構難儀したんだけど、もともと認証がいらない奴だったのでわりと簡単に。 ウェブには道しるべはたくさんあって、それらを参考になんとなたどり着いた。 Plack ぐぐるとたくさん出てきます うちのアプリに必要だったのはMiddleware::Sessionあたり Router::Simple http://search.cpan.org/dist/Router-Simple/ http://d.hatena.ne.jp/tokuhirom/20100319/1268995772 これは無くてもまあいいかなだけど使ってみた Text::Xslate http://search.cpan.org/dist/Text-Xslate/ h

    CatalystなアプリをPlack + Router::Simple + DBIx::Skinny + Text::Xslateに置き換えた - pepponの日記
  • Plack::Middleware::Pictogram::MobileJp - 3キャリア対応の絵文字に変換するPlack::Middleware - (ひ)メモ

    id:tokuhiromがHTML::Pictogram::MobileJpというモジュールをリリースしていたので、これを使ったPlack::Middlewareを作ってみました。 http://github.com/hirose31/Plack-Middleware-Pictogram-MobileJp 「モバイル用のHTMLのチェックを実機やFireMobileSimulatorでやりたいのだけど、&#xXXXX;で絵文字を指定するとドコモ以外のクライアントで絵文字が表示されないのでチェックにならない」 というような場合に、このMiddlewareを介して表示すれば、クライアントのUser-Agentをみてキャリアに応じた絵文字のコードポイントに変換してコンテンツを返してくれるので便利なんじゃないかと思います。 ごくシンプルですが、こんな感じで使えます。 # psgi use Plac

    Plack::Middleware::Pictogram::MobileJp - 3キャリア対応の絵文字に変換するPlack::Middleware - (ひ)メモ
  • Plack::Builderのenable_ifよりも簡単に、指定した条件下でmiddlewareを有効にするモジュール - blog.nomadscafe.jp

    CloudForecastや先日のNoPasteではPlack::Builderを使って、デフォルトの機能としてPlack::Middleware::ReverseProxyを有効にしている。 my @frontproxy = map { s/\s//g } split(/,/, $ENV{FRONT_PROXY} || ""); foreach my $ip ( @frontproxy ) { my $netip = Net::IP->new($ip) or die; push @frontproxies, $netip; } buider { enable_if { my $addr = $_[0]->{REMOTE_ADDR}; my $netip; if ( defined $addr && ($netip = Net::IP->new($addr)) ) { for my $pr

  • Plack::App::Proxy::Selectiveとか作ってみた - 愛と勇気と缶ビール

    マクラ どうも、大してPerlも書けないのに会社のローカルでは常に3つほどplackupでサーバ立ち上げて作業しているzentoooです。すいませんすいません。 企業で働いていると、関与してはいるけれど自分には権限がないので番サーバあるいはそれに準ずるサーバにアップできないファイルに、よく遭遇しますよね。 そういった事態にあまり遭遇しない場合でも、番サーバにアップする前に、番環境で現在編集中のcssやらjsやらのファイルをテストしたい、テストできたらいいなあ、という需要はけっこうあったりなかったりするんではないでしょうか。 んで、僕の場合もそういったことがちょいちょいあったりするわけです。番環境って、直にユーザにつながっているものなので権限があろうとなかろうと気軽にファイルをアップできるものではありません。 というようなことを考えたり考えなかったりしていると、id:ZIGOROuさ

    Plack::App::Proxy::Selectiveとか作ってみた - 愛と勇気と缶ビール
  • Server::Starter + Starman で HUP 再起動が上手くいかないことがある - Craftworks Tech Blog - Branch

    現在、Server::Starter + Starman で運用している環境があるのですが、週に1回ほど古いワーカーが終了しないで残り続けるという現象が起こっています。 FCGI 起動の名残りで、毎時間 HUP を投げていたのですが、普段は問題なく starman プロセスが再起動していたのですが、たまに再起動が上手く行かずに、古いプロセスが残り、リクエストに応答できなくなるという状態です。 start_server の起動オプションは以下です。 start_server --port 8001 -- starman --listen :8001 --workers 4 app.psgi 現象が起こっている時の ps 結果 $ pgrep -f starman | xargs ps u USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMA

    Server::Starter + Starman で HUP 再起動が上手くいかないことがある - Craftworks Tech Blog - Branch
  • 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...
  • 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::Middleware::Auth::OAuth を作ってみた - hide-k.net#blog

    最近、咳のしすぎであばらにヒビが入りました。 大多数の人は心配をしてくださってありがたいのですが、ごく一部の極道達がおもしろ画像を連投して笑わせてくるおかげで全治が大分先になりそうです。 こんばんは。 先日、「モバイルなプラットフォームでの OAuth Signature の検証」ってエントリーを書いた際にPlack::Middlewareとかでやるべきとか書いておいて放置していたのですが、某極道が「とっとと書かないと笑わせてあばらへし折るぞ!ごるぁ!」と脅してきたのでサクッと書きました。 GitHubに置いてあります。 Plack-Middleware-Auth-OAuth 使い方は簡単。 use Plack::Builder; my $app = sub { return [200, ['Content-Type' => 'text/plain'], ['Hello World']];

  • 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
  • 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

  • バカでもわかるPlack/PSGI - JPerl Advent Calendar 2009

    バカでもわかるPlack/PSGI - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? はじめまして。nobjasと申します。 今日はあまりにもネタがないために、 バカな僕がやっと最近使うことが出来たPSGIとPlack::Requestの使い方を書こうと思います。 基的な構造はmiyagawaさんのPlack Advent Calendar(http://advent.plackperl.org/)などで 紹介されているので、頑張って英語を読んでください(笑 基的にはPSGIはリクエストとレスポンスの形式の規約みたいなものです(と思っています)。 それを実装するのがPlackという訳ですね。 そこで、まずは Plackでリクエストを受け取ってレスポンスを返すCGIスクリプトを書いて見ましょう。 us

  • PSGI/Plack streaming is now complete

    bulknews.typepad.com Tatsuhiko Miyagawa's blog to discuss mostly tech and nerdy stuff. In the last couple of (or even more :) days Yuval and I have been endlessly discussing what the asynchronous response API would look like in PSGI applications. And that was also becoming one of the most frequently asked questions on my side, since many people from AnyEvent, POE and perlbal (Danga::Socket) land a

  • PlackをProxyサーバーに使う意義 - とほほのN88-BASIC日記

    ircで聞いたときはうまく説明できなかった&tokuhiromさん、Yappoさん、kazuhoさんに直接教えてもらったのでまとめとくなり。 Proxyサーバーを作ることになった。 こんな感じのやつ。 で、これの問題として対抗のサーバーの応答速度が遅い場合があってそこにProxyサーバーが引きずられる点がある。つまりクライアントからの毎コネクションが比較的長くなりがちなサーバーをいかに効率よく組むかという課題がある。 最初は勘違いして他のサーバーへの問い合わせの間に他のことをして全体の応答速度を速くする、つまり非同期化によるメリットを模索していたんだけど、1回の応答で他サーバーへの問い合わせがたくさんあるようなクローラーみたいなことをする場合はメリットがあるけど、基的に1回の応答で他サーバーへの問い合わせは1回だし、コンテンツを持ってくる以外にも処理はあるけど、処理時間の多くはこの1回の

    PlackをProxyサーバーに使う意義 - とほほのN88-BASIC日記
  • 1