Keep hearing about Plack and PSGI, and not really sure what they're for, and why they're popular? Maybe you're using Plack at work, and you're still copying-and-pasting `builder` lines in to your code without really knowing what's going on? What's the relationship between Plack, PSGI, and CGI? Plack from first principles works up from how CGI works, the evolution that PSGI represents, and how Plac
So here is my first attempt to try this new awesome WebSocket technology. And since Mojolicious is already compatible I couldn't wait to long. David Davis has very good examples (http://github.com/xantus/mojo-websocket-examples) and they helped me to start very quickly. Thanks to him we already have flash policy server written in mojolicious. I just copied that into my repository. All the Flash fi
Mojoliciousドキュメント日本語訳プロジェクト Mojoliciousのドキュメントを日本語に翻訳するプロジェクトです。 トップページページ一覧メンバー編集 履歴 Mojolicious::Lite 最終更新:ID:6/4HuNkQWg 2010年07月22日(木) 00:47:31 名前 Mojolicious::Lite - 小さなWebフレームワーク 使い方 # Using Mojolicious::Lite will enable "strict" and "warnings" use Mojolicious::Lite; # Route with placeholder get '/:foo' => sub { my $self = shift; my $foo = $self->param('foo'); $self->render_text("Hello fro
SQLite便利! SQLite3におけるREGEXP演算子 - anon_193の日記 SQLite では、load_extension 関数を用いて、外部の拡張モジュールをロードすることが出来る。拡張モジュールは、いわばユーザ関数ライブラリで、SQLite3 ODBC Driver には標準で BLOB二次元マッピング拡張(sqlite3_mod_blobtoxy.dll)、外部データ取込・出力拡張(sqlite3_mod_impexp.dll)、全文検索拡張(sqlite3_mod_fts3.dll) が付属している。これらと同様にして、正規表現マッチングを行う regexp ユーザ関数を持つ拡張モジュールを制作し、ロードすれば、お目当ての REGEXP 演算子が使えるわけだ。 http://d.hatena.ne.jp/anon_193/20090114/1231935112 sq
どんなシステムにおいてもオンライン系の処理ばかりではなくバッチ処理系のプログラムというものが存在します。僕の場合、ユーザに見えない部分のプログラムが全体の70%を占めているかもしれません。 バッチ処理は大量のデータを処理する場合が多いのが特徴のうちのひとつ。しかもその処理が想定時間内に終わらないと、どこぞのシステムのようにシステム全体に影響が出てしまいシステムダウンなんて最悪の状態になることもあります。あれに起因してバッチの突き抜けなんて効いたこともない言葉が生み出されたくらいだし。w さて話を戻して、システムを運用しているとデータ量は当然右肩上がりで増えていきます。よってバッチ処理も当時の想定よりも時間がかかるようになってくるわけです。 僕が作ってるバッチ処理の多くは文字列処理や計算処理が多いです。オンライン系の言語と同じく perl で記述しているものが非常に多いわけですが、Devel
WindowsXPでは標準装備で、ZIPでの圧縮/解凍機能がありますが・・・。 Perlでも標準モジュール(Archive)で、ZIPでの圧縮/解凍機能があります。 簡単なサンプルを組んで見ましたので、何かの機会に参考になれば幸いです。 ◆ZIP圧縮サンプル(zip.pl) use strict; use warnings; use Archive::Zip; my $zip_file = 'file.zip'; my $zip = Archive::Zip->new(); $zip->addFile('data/file.txt'); $zip->addFile('data/file2.txt'); $zip->addTree('aaa', 'aaa'); $zip->addTree('bbb', 'ccc'); $zip->addTree('./a/b/c', 'd'); $zip->
perlでデーモンを作成することになりそうなので、 調べてみると、次のurlで Proc::Daemon が紹介されていたので、試しに書いてみました。 http://perltips.twinkle.cc/perl/daemon.php http://perltips.twinkle.cc/server/linux_daemon_startup_init_d.php とりあえず、動作しているけど、どうなのかな? #!/usr/local/bin/perl use strict; use utf8; use FindBin; use File::Spec; use lib File::Spec->catdir($FindBin::Bin, '../lib'); use Proc::Daemon; use Sing::DBI; use Sing::Model::User; use Data::
Perl で、スクリプトをデーモン化するのはそんなに難しくない。 Proc::Daemon というモジュールを使えば簡単にできる のだが、それには小さなフレームワークに沿ってスクリプトを書かねばならない。次のサンプルに空のフレームワークを示したので、既存のスクリプトがある場合にはこれに沿って自分のスクリプトを少々改造すればよい。基本的には action サブルーチンにロジックを書けばいいようになっている。 使用するモジュール use Proc::Daemon; #/usr/bin/perl -w use Proc::Daemon; our $DAEMON = 1; # デーモンにするか?: 1(オン) / 0 (オフ) our $SLEEP_INTERVAL = 60; # スリープの間隔(秒) &init; &run; sub action { # ここ
前回でperlで書いた処理をAmazon Elastic MapReduce(略称はなんだろ)に食わせるのができたので、 次はCPANモジュールを使いたい。 というときにやっぱり便利なのがlocal::lib。 とりあえず素のdebianに一般ユーザーを作ってそこでlocal:libを使って~/perl5に必要なCPANモジュールを集めた。 これをjarにまとめる “jar cvf perl5.jar -C perl5 .” これをS3にアップロード。 具体的にはApp::Hacheroというログ集計アプリケーションを動かしたかったので、これが入ってる。 mapper.yml, reducer.ymlの各設定ファイルもS3にアップロード。 以下のように適宜pathを通してやって実行。 [danjou@sylvia] $ ./elastic-mapreduce --create \ - st
http://docs.amazonwebservices.com/ElasticMapReduce/latest/GettingStartedGuide/ を読むとAmazon Paymentに誘導されるけどアメリカ国内向けなので使えないっぽい。 http://kzk9.net/blog/2009/04/reviewing_amazon_elastic_map_reduce.html を読んだら https://console.aws.amazon.com/ から触れるとのことで、既存の決済に合算できた。 #!/usr/bin/perl # mapper.pl use strict; use warnings; while (<>) { my ($uri) = ($_ =~ /"(?:GET|POST|HEAD) ([\S]+?) HTTP/); print "$uri\n"; } #!
本連載では、第一線のPerlハッカーが回替わりで執筆していきます。記念すべき第1回は、WEB+DB PRESS本誌ではVol.2から執筆しており、長らく連載も担当していた宮川達彦さんです。 はじめに PerlでWeb開発をするためのフレームワークは百花繚乱、人気を集めています。本稿では、これらのフレームワークが共通して利用するためのインタフェース仕様であるPSGIと、そのエンジンとしての実装であるPlackを紹介します。 PSGIに至る道 PerlとWebアプリケーション開発の親和性 Perlは「インターネットのグルー(糊:のり)言語」とも言われ、CGIによる開発がメインだった1990年代から、Webアプリケーション開発に最も関わりのあるプログラミング言語の一つと言ってよいでしょう。2000年代に入っても、Ruby on RailsやPHPなどの他言語からの影響も取り入れながら、Web開発
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く