タグ

ブックマーク / nitsuji.hatenadiary.org (6)

  • TheSchwartzを使ってみた - libnitsuji.so

    TheSchwartzについては以下がわかりやすい。 TheSchwartzは非同期かつ分散した環境で各種ジョブを処理させるという枠組みを再実装して利用しやすくしたもので,MySQLSQLiteもサポート)上のデータベースにジョブを格納し,各ワーカープールで処理を行って結果を返す,という単純なフレームワークです。 第11回 OSCON 2007レポート みんなが注目している技術は?:サンフランシスコで昼を|gihyo.jp … 技術評論社 あとは以下のスライドでもっと詳しく知ることができる(71ページから) http://www.danga.com/words/2007_04_linuxfest_nw/linuxfest.pdf gearmanというジョブキューとTheSchwartzとの違いは以下のエントリがわかりやすい。 http://d.hatena.ne.jp/tokuhiro

    TheSchwartzを使ってみた - libnitsuji.so
  • DBIx::Classでスレーブに接続する - libnitsuji.so

    レプリケーション環境で、更新系クエリはマスター、参照系クエリはスレーブに振り分けるというのはよくあることだと思います。 PerlのO/RマッパーであるDBIx::ClassにはDBIx::Class::Storage::DBI::Replicationというのがあって、これを使うと利用側で接続先を意識することなくクエリを振り分けることができそうです。しかし、どうやら参照系は必ずスレーブへ振り分けてしまうようなので、トランザクションの中ではマスターを参照したいといった場合に対応できないんじゃないかと思いました。 そこで、明示的にスレーブの接続を取得する方法がないかなーと思ったんですが見当たらなかったので書いてみました。 実装するにあたり以下のClass::DBI用に書かれたコードを参考にしてみました。 http://d.hatena.ne.jp/tokuhirom/20060713/1152

    DBIx::Classでスレーブに接続する - libnitsuji.so
  • nitsujiの日記 - Catalyst::Manual::Cookbook

    Catalyst::Manual::Cookbook - Cooking with Catalyst - metacpan.org Basics Catalystを使う人が知っておいた方がいいこと。 Delivering a Custom Error Page アプリケーションでエラーが発生したときはCatalystは独自のエラーページを表示する。-Debugモードのときはエラーメッセージとコンテキストオブジェクト($c)のData::Dumpの出力を表示する。-Debugモードじゃないときは"Please come back later"が表示される。 エラーページを変更するにはendメソッドにエラー処理を書けばいい。例を示す。 sub end : Private { my ( $self, $c ) = @_; if ( scalar @{ $c->error } ) { $c->st

    nitsujiの日記 - Catalyst::Manual::Cookbook
    IMAKADO
    IMAKADO 2007/12/13
    errorページ変更
  • Catalyst::Manual::Cookbook::Deployment - libnitsuji.so

    Cookbook長いので分割。 デプロイについてのレシピ。Webサーバーエンジンとアプリケーションの効率化も含む。 http://search.cpan.org/~jrockway/Catalyst-Manual-5.700701/lib/Catalyst/Manual/Cookbook.pod#Deployment mod_perl Deployment mod_perlは多くのアプリケーションに対しての最適解だけど利点と欠点を述べる。他の方法としてはFastCGIがある。 Pros Speed mod_perlはとても高速で、それぞれのApacheプロセスのメモリにアプリケーションをロードすることによって恩恵を受けられる。 Shared memory for multiple apps 同じサーバーで複数のCatalystアプリケーションをする必要がある場合、mo_perlは共通のモジ

    Catalyst::Manual::Cookbook::Deployment - libnitsuji.so
  • nitsujiの日記 - CatalystでFormValidator::Simple::AutoでDBIC_UNIQUE使う場合

    FormValidator::Simple::Plugin::DBIC::Unique - unique check for DBIC - metacpan.orgを見ると、Catalystの場合は # you also can pass resultset object. # in catalyst application, FormValidator::Simple->check( $q => [ name => [ ['DBIC_UNIQUE', $c->model('Schema::User'), 'username' ] ], ] ); と書いてある。 でもCatalyst::Plugin::FormValidator::Simple::Autoを使ってprofiles.ymlにバリデーションのルールを書く場合は$c->modelとか書けない。 admin/category/do

    nitsujiの日記 - CatalystでFormValidator::Simple::AutoでDBIC_UNIQUE使う場合
  • nitsujiの日記 - Catalyst::Plugin::I18Nを使ってメッセージ類をControllerに直接書かないようにする

    例えばカテゴリを削除するアクションを実行した結果を表示したい。 flashを使って例えばこんな感じにする。 if ($c->form_submitted) { if (my $name = $c->forward('do_delete')) { $c->flash->{notice} = sprintf('カテゴリ「%s」を削除しました', $name); $c->res->redirect($c->uri_for('/admin/category/list')); } else { $c->flash->{notice} = 'カテゴリを削除できませんでした'; $c->res->redirect($c->uri_for('/admin/category/list')); } } でもこういうメッセージ類がコントローラの中にあるとあとでなにかと面倒です。 そこでCatalyst::Plu

    nitsujiの日記 - Catalyst::Plugin::I18Nを使ってメッセージ類をControllerに直接書かないようにする
    IMAKADO
    IMAKADO 2007/09/11
    18N 直接書かない
  • 1