タイトルが長くて略称があれば知りたい感じの「安全な Web アプリケーションの作り方」を暇を見つけて読んでいます。今まであいまいなままだった部分を順を追って説明してくれるので、本当に助かります。Web アプリ作りの初心者は卒業したかなーという人は必ず目を通しておくと良いと思います。 Cookie を用いたセッションについて復習 「HTTP はステートレスで」とかいう話はよく聞きますが、じゃあどうやってセッション管理するのがいいの?って話をよく考えると体系的に聞いたことがなかった!というわけで、この本で文字通り体系的に学び直すことができました。 その中でも、「セッション ID の固定化」という話題はちゃんと分かってなかった部分があったので、こちらのサイトを参考に PSGI なアプリケーションを作ってみました(僕の書いたアプリ自体はその他の脆弱性に溢れていますがw)。コードはエントリの最後に。
The document discusses various web application frameworks and deployment methods in Perl. It covers common frameworks like CGI, mod_perl, Catalyst, and PSGI. It then discusses running PSGI applications with plackup, configuring middleware, and deploying PSGI apps behind web servers or as standalone daemons. Finally, it briefly covers application deployment and management with tools like daemontool
Plack is a Perl web server gateway interface (PSGI) toolkit that provides a standard interface between web applications written in Perl and web servers. It includes reusable middleware, a reference PSGI server, handlers for connecting to different web servers like CGI and FastCGI, and tools for running and testing PSGI applications. Many popular Perl web frameworks have adapted to work with PSGI/P
CGIをPlackで開発 ちょっと案件で簡単なCGIスクリプトをを開発することになった。StarmanとかTwiggyでほとんど全て書いているのに今更CGIとかそういう突っ込みはとりあえずおいておいて・・・環境を作るのも面倒くさいし、簡単にサーバーを立ち上げたり落としたりしたい。 そこでPlackです!具体的にはplackupとCGI::Emulate::PSGIを使います。 何も考えずにとりあえず開発したいので、以下のようにapp.psgiにコードを書いていく。 use strict; use CGI::Emulate::PSGI; return CGI::Emulate::PSGI->handler(sub { CGI::initialize_globals(); # 重要 # ここから #!/usr/bin/env perl use strict; use warnings; use
Plack/Starman Daemontools Run File With Complete Deploy Bundle 注1:まだ本番にはデプロイしてませんが、テストでは使いました。 注2:以下スクリプトは開発者の労力を減らすためのスクリプトで、万全なデプロイ方法だとか言うわけではありません。 注3:正直シェルスクリプトは素人です。 ここ最近のアプリケーションのバンドル・デプロイについてちょっと固まりつつあるので、書いてみる まず アプリケーションと、その依存関係。デプロイ側のサーバーにはlocal::libと必要なModule::Install系のモジュール、それにModule::Install::Bundle::LocalLibがインストールされている前提です。アプリケーションの依存関係は全部Makefile.PLに書きます。 use inc::Module::Install;
理解を深めるために.元ネタはRack::GoogleAnalytics.コードはほとんどPlack::Middleware::Debugから.そのなかでいろいろ試しながら書いた.htmlなどの特定の場所にコードを差し込んだりするのは,もっといい方法があるような気もする,あるといいな あとMiddlewareにどこまで書くのかがわからない.こんなのはアプリやテンプレートで書けばいいような気もする (2010/02/08 スペルミス修正) 以下コード package Plack::Middleware::GoogleAnalytics; use strict; use warnings; our $VERSION = '0.01'; use parent qw( Plack::Middleware ); use Plack::Util; use Plack::Util::Accessor qw
今年も残り僅かです。今年のPerl界の最大の話題は何と言っても宮川氏のPSGIとPlackでしょう。今年後半に出現したからかも知れませんが、残りの話題なんて完全にどうでもいいガラクタのように思えてなりません。しかしながら、私個人がその凄さを認識したのは、Simon Cozens氏のエッセイ”I finally get PSGI and Plack!”を読んでからです。元々、流行り病や最先端病には罹らない性格ですので、人より完全に遅れています。(こういうことを書くと周辺から突っ込みがあるかも知れませんので、予防線のために書いておきます。私がやたらとMo[ou]seを推奨しているのは最先端でも何でもないのです。Mo[ou]seが出現して何年経っているかを考えればとうに旬や物珍しさを過ぎており、悪い言葉で言えば姥桜ですよ。そして、何回も書きますが、Perl初心者や未熟者にこそ勧めているのであって
PSGI/Plack勉強会を開きました(ひとりで)。資料はGitHubにあげてあります。いろいろまとめ書き足りてないのですが、自分的には納得したので満足してしまいました。 http://github.com/kentaro/psgi-study 以下にもコピペ。 PSGI/Plackとは? PSGI = Perl Web Server Gateway Interface Specification WebサーバとWebアプリケーションとの間のインタフェイス仕様 Plack = PSGIのリファレンス実装 PSGI実装のひとつ(とはいえ、やたら気合いの入った感じになってるけど) PSGI != Yet Another WAF PSGI != Plack PSGI策定の背景 各Webアプリケーションフレームワークがバラバラに実装していた、WebサーバとWebアプリケーションとのインタフェイスを
Posted by nene2001 at 18:56 / Tag(Edit): perl PSGI / 0 Comments: Post / View / 0 TrackBack / Google Maps YAPCで覚えたPSGIを勉強してみた。 CPANからCatalyst、githubからPlack、Catalyst::Engine::PSGIをインストールして、 # catalyst.pl PSGITest # cd PSGITest # perl script/psgitest_create.pl PSGI # perl -Ilib ../Plack/scripts/plackup \ > --app script/psgitest.psgi --port 80 面白い。 でもこれって、サーバやWAFを問わない、InputFilterやOutputFilterにも
ircで聞いたときはうまく説明できなかった&tokuhiromさん、Yappoさん、kazuhoさんに直接教えてもらったのでまとめとくなり。 Proxyサーバーを作ることになった。 こんな感じのやつ。 で、これの問題として対抗のサーバーの応答速度が遅い場合があってそこにProxyサーバーが引きずられる点がある。つまりクライアントからの毎コネクションが比較的長くなりがちなサーバーをいかに効率よく組むかという課題がある。 最初は勘違いして他のサーバーへの問い合わせの間に他のことをして全体の応答速度を速くする、つまり非同期化によるメリットを模索していたんだけど、1回の応答で他サーバーへの問い合わせがたくさんあるようなクローラーみたいなことをする場合はメリットがあるけど、基本的に1回の応答で他サーバーへの問い合わせは1回だし、コンテンツを持ってくる以外にも処理はあるけど、処理時間の多くはこの1回の
【注意】2009年10月16日現在の情報です。 【追記】 初出時にあった configure.ac, Makefile の問題は修正されたため、記事内容も修正しました。 mod_psgi を試してみたのでメモしておきます。 Ubuntu 9.04 x86_64 Apache/2.2.11 (Ubuntu) Perl v5.10.0 built for x86_64-linux-gnu-thread-multi $ git clone git://github.com/spiritloose/mod_psgi.git $ cd mod_psgi $ autoconfconfigure が出来たので実行して make && make install. $ ./configure $ make # make installhttpd.conf に設定して LoadModule psgi_modu
mod_psgi の開発をぼちぼち進めてます。 mod_psgi が Perlインタプリタを永続化するようになりました ブログには書いてなかったんですが、mod_perl のような方法で永続化するようになってます。 親プロセス起動時に PSGIApp を全て do で読み込むようになっています。 ということで、mod_psgi での .psgi ファイルはアプリケーションの定義と、mod_perl での startup.pl のような効果があります。 Windowsに対応しました mattnさんがやってくれました。すばらしいですね。 autoconf化しました ということでインストール方法は $ ./configure && make && sudo make install になります。詳しくは README を参照してください。 今はパッケージングしたやつをリリースしてないので、最初に
The content of this blog has been updated, and now is available as an e-book called Plack Handbook. The e-book includes Japanese translation as well, and the source code of this book is available for free. 24 days have passed so fast and this is the last entry for this Plack advent calendar. Best Practices Plack and PSGI are still really young projects but we've already discovered a couple of sugg
Plack - Perlウェブサーバー 検索エンジンの皆様こんにちは。2010年以降のPerlウェブサーバーといえばPlack/PSGIですね。そんなSEOな記事です。 私がPerlでWebアプリ的な物を初めて書いたのは1999~2000年にかけての事なのでそれ以来ほぼ10年たっているわけです。その間に色々さわりました。ウェブサーバーとアプリをつなぐアダプターのレイヤーとしてはCGI.pm, mod_perl, FastCGIなどを使ってきました。フレームワークもMason, Sledge, Catalyst, AxKitなんかをさわってきました。 どれもこれもいいところもあり悪いところもあり、それぞれコメントしたい部分はあるのですが、とにかくデプロイ方式が全然違うのでどうにもできん、という問題がずっとありました。 しかし PSGIというPerlウェブアプリケーション用の規格ができたことに
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 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? はじめまして。nobjasと申します。 今日はあまりにもネタがないために、 バカな僕がやっと最近使うことが出来たPSGIとPlack::Requestの使い方を書こうと思います。 基本的な構造はmiyagawaさんのPlack Advent Calendar(http://advent.plackperl.org/)などで 紹介されているので、頑張って英語を読んでください(笑 基本的にはPSGIはリクエストとレスポンスの形式の規約みたいなものです(と思っています)。 それを実装するのがPlackという訳ですね。 そこで、まずは Plackでリクエストを受け取ってレスポンスを返すCGIスクリプトを書いて見ましょう。 us
ヒゲをはやして、髪をモヒカン気味に切って、ベストを着ていたら「dankogaiさんですか!」と呼ばれまくって失礼ですがショックを受けてしまい、とりあえずヒゲを剃ってみたyusukebeです。気合い入れて書きます。 はじめに さて、今回はPlack::RequestやTemplate-Toolkit、XML::Feedといったモジュールを使って、小さな、だけどもなかなか使えるWebアプリを作る過程を紹介します。これを通して、今話題であるPlackについてやWebアプリの仕組みについて多少でもわかっていただければこれ幸いでございます。 実はこのネタ昨日の夜考えて作ったものであります。というのも「YouTubeの動画を垂れ流しで好きなように、みてーな」とふと思ったからです。例えばYouTube内で「Perfume」と検索をすると個別の動画以外に「再生リスト」または英語では「Playlist」とい
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く