Mojolicious

MojoのGETパラメータの件を最新バージョンで再ベンチ

前回の続き。 perlcodesamleさんがパフォーマンス改善のパッチを送っていただいたようですので、最新版で再度ベンチマークを取り直してみました。 ベンチマークスクリプト ベンチマークスクリプトは基本的に前回と同じ。 さらに、$self->req->params を一度…

MojoのGETパラメータの扱いでベンチに影響が出た件

※ 2010/9/26 追記 最新版とのベンチマーク比較 http://d.hatena.ne.jp/tori243/20100927/1285594260 ※ 2010/9/15 追記 Mojoはまだβ版で、現在は安定稼働を優先に開発が進められているそうです。 最適化フェーズはその後のようなので いずれはこのような問題…

Mojo + DBIx::Skinny + Test::mysqld ことはじめ

※2010/8/21 モジュールを少し書き直した テストはやっぱり同じプロダクトでやったほうがいいよ!と助言頂きましたのでTest::mysqld使うことにしました。 自分のやり方はいろいろ遠回りしてる気もしますが、一応自分のやりたいことはできたのでメモメモ。 ち…

Mojolicious::Liteでnopasteを手直し

過去のpaste一覧が出るように直しただけ。 http://gist.github.com/513680 既に以前のバージョンで使ってても ALTER TABLE するだけで使えるようになるはず! ALTER TABLE entry ADD COLUMN title text; レン鯖に置いてみたよ! http://toritori0318.sakura.n…

mojoliciousのデプロイ

会社でmojoliciousを使って開発したサービスがあるのですが、 リリースが近づいてきたのでデプロイをどうするか決めることに。 perlのWAF使ったデプロイをしたことがないので どの方法がいいか決めかねている。 そのためいろいろ試してみて問題なさそうなの…

MojoでControllerのディレクトリを掘る設定

Mojoliciousはデフォルトでは lib/AppName/ 配下に置かれたファイルがコントローラになります。 でも数が増えてきたらディレクトリ作って管理したいですよね! そんなときはnamespaceを使うと実現できます。 では、以下のような構成にしたい場合の設定を見て…

Mojolicious::Liteでnopaste

※こっちが最新 http://d.hatena.ne.jp/tori243/20100808/1281248450 作ってみた。 MojoとDBIとsqliteがインストール済みなら daemonでもcgiでもコピペするだけで動くはず…! http://gist.github.com/463484 *1 てかほとんどyusukebeさんのコードコピペです。…

JSONとMojo::JSONのencodeベンチマーク

最近mojoliciousを触る機会が多いです。 でJSON使う要件が出てきて、render_jsonってのがあるけど何使ってんのかなーと追ってみたら Mojo::JSONというのモジュールで自前実装してるっぽい。 これそのまま使えばいいんじゃね?ということで いちおうベンチマ…

Mojoで大きいファイルをアップロードするとファイルが切れちゃう時の対応

Mojolicious::Liteで社内用簡易ファイルアップロードcgiを動かしてたんですが、 大きいサイズが途中で切れちゃってた。 調査してみると、どうもデフォルトでのメッセージサイズが設けられている様子。 環境変数MOJO_MAX_MESSAGE_SIZEを設定したら大きいファ…

psgiファイルに __DATA__ があるとうまく動かない?→動きます

※2010/4/6 追記 このエントリは間違いです。動きます のかな? plackupコマンドでうまく表示されなかった。 Mojolicious::Liteのサンプルってほとんど__DATA__使ってるからハマってしまった。 以下のように、テンプレートを別ファイルにする必要あり。 また…

Mojolicious::Liteでセッション変数持ち回す方法

stashかと思ったら違った。 flashを使う。 use Mojolicious::Lite; get '/' => sub { my $self = shift; $self->flash(hogehoge => 'higiiiiiiiiii!!'); $self->redirect_to('/hoge'); }; get '/hoge' => sub { my $self = shift; $self->render_text('Yea b…