タグ

ブックマーク / blog.hide-k.net (8)

  • 続:Catalystでマルチバイトを取り扱うときのまとめ - hide-k.net#blog

    以前、Catalystでマルチバイトを取り扱うときのまとめという記事を書いたのですが、情報が少し古いので、最近僕がやっている方法を紹介します。 この記事では Catalyst 5.7015 Catalyst::View::TT 0.27 Catalyst::Plugin::ConfigLoader 0.22 Catalyst::Plugin::FillInForm 0.10 Catalyst::Plugin::Static::Simple 0.20 Catalyst::Plugin::Unicode 0.8 の環境で紹介しています。 また、基的にDBICに関しては以前の記事の通りDBIx::Class::UTF8Columnsを使うという感じです。 まず、こんな感じのアプリケーションを用意します。 MyApp package MyApp; use strict; use warnings

  • YAPC::Asia 2009でmoder Catalystについて話してきた - hide-k.net#blog

    YAPC::Asia 2009でmodern Catalystと称してトークをしてきました。 多分Perl史上良くも悪くも最も多くの人が開発、利用に携わったWeb Application Frameworkで、未だに現場で多く使われているCatalystがメジャーバージョンアップをしたのでその辺を話してきました。 Moose-ified = modernという訳ではないし、自分はMoose廚ではないのですが多くの時間を割く結果になりました。当は抽象化やTest周りやおすすめのPlugin/ComponentとかTipsとかDBIC周りにも触れたかったのですが20分では無理だったので、またの機会に。最後の方でちらっとだけPSGIにも触れさせてもらいました。 Modern CatalystView more presentations from Hideo Kimura.

    mickn
    mickn 2009/09/13
  • Catalyst 5.8がリリース - hide-k.net#blog

    Catalyst 5.8系、通称catamooseの最初のリリースバージョンであるCatalyst::Runtime 5. 80001がCPANにアップされました。 [Catalyst] [ANNOUNCE] Catalyst Runtime 5.80001 The Catalyst Core Team is proud to announce that we've just shipped the next major release of the Catalyst framework, version 5.8001. This release is the result of the helpful contributions of a large number of people, comprising documentation, new features, bug fixe

  • DBDでUTF8 flaggedな文字列を返す - hide-k.net#blog

    \mysql_enable_utf8 => 1 で DBIC::UTF8Columns 要らなくなるっぽい - 僕ト云フ事@はてな出張版 恥ずかしながら知りませんでした。 DBIx::Classの場合、DBIx::Class::UTF8Columnsを使ってutf8_columns()でUTF8フラグを立てたいカラムを指定するのですが、特定のカラムだけにUTF8フラグを立てるというのは稀で、全ての文字列のカラムに立てるのが多くの場合だと思います。 ので、DBDのレイヤーで吸収するこの方法が個人的にもベストプラクティスだと思います。 vkgtaro++ 備忘でまとめておくと各DBDの接続オプションで mysql: mysql_enable_utf8 postgresql: pg_enable_utf8 sqlite: unicode に1を指定することにより、全ての文字列のカラムの値にUTF

    mickn
    mickn 2009/02/04
  • hide-k.net#blog: Catalyst::Model::Adaptorを使ってみた

    Catalyst::Model::Adaptor - use a plain class as a Catalyst model 要はどんなクラスでもCatalystのモデルにしてくれるクラスです。 たとえばこんなクラスを作って lib/MyApp/DateTime.pm package MyApp::DateTime; use strict; use warnings; use base qw/DateTime/; use DateTime::Format::W3CDTF; sub now { my ($class, $args) = @_; $args->{time_zone} = 'local' unless $args->{time_zone}; return $class->SUPER::now(%$args); } sub parse { my ( $class, $str )

  • hide-k.net#blog: ガトームソンにGoogleが追い打ち

    ソフトBガトームソン薬物違反、育毛剤で - ソフトバンクニュース : nikkansports.com 同投手は7月13日のロッテ13回戦(千葉)終了後に検査を受け、薬物使用の痕跡を消す作用があるとされる禁止薬物フィナステリドが検出された。同投手は服用している飲む育毛剤に同薬物が含まれていた。 ↓ あんまりだよ。Google

    mickn
    mickn 2007/08/11
  • hide-k.net#blog: Catalystでマルチバイトを取り扱うときのまとめ

    #前に社内wikiに書いておいたのを公開してみるテスト。 Catalystでマルチバイトを扱う機会があるのは主に ユーザーがフォームで入力する値 ($c->req->param()) データベースからの入出力 (DBIx::Class) それ以外の文字列の評価 View::TTによる出力の生成 FillInFormによるフォームの埋め込み HTTPレスポンス です。 ここでは以下の条件でまとめてみました。 文字コードはUTF8に統一 データベースにはmysqlを使用 下準備 テンプレート、perlのコードは全てUTF8で書きます。 mysqlの文字コードの指定は/etc/my.cnfに [mysqld] default-character-set = utf8 skip-character-set-client-handshake [mysql] default-character-set

  • hide-k.net#blog: Catalyst::Model::DBIC::Schemaでのトランザクション管理

    以前 Catalyst::Model::DBIC::Plainでのトランザクション管理 というエントリーを書きました。 Catalyst::Model::DBIC::Plainってあたりが時代を感じさせます。 Cookbokにもありますが現在のDBIx::Classでトランザクションを管理する場合には$schema->txn_do($coderef)を使うとトランザクションの開始からコミット、ロールバックまでやってくれます。 my $schema = CD::Schema->connect(...); $txn = sub { my $artist = $schema->resultset('Artists')->create( { name => $name, } ); my $album = $schema->resultset('Albums')->create( { title

  • 1