とりあえず Test::WWW::Mechanize::Catalyst は使わずに Catalyst::Test だけでがんばることにした。

by typester / at 2008-07-23T15:38:00 / perl · catalyst / Comment

Perl 5.10 + Test::WWW::Mechanize::Catalyst

うごかんわけだが、みんなどうしてんの?

5.10 の問題ではなくて、最新版の libwww-perl (5.10に付属)の問題という話だけど、5.8.x でも LWP あげたらおなじことになるのかなー。

by typester / at 2008-07-23T11:32:00 / perl · catalyst / Comment

Catalyst MVC

Catalyst に関してだけ言えば Model いらなくね?という話もわかるのだが、アプリの複数の箇所で共通で使うオブジェクトはModelを使うと楽だし論理的な実装になるとおもう。

僕のMVCの理解が変かもしれないけど、今はそんな感じで考えている。>共通で使うオブジェクトはModel

そんで、Catalyst::Model 微妙っていうのはやっぱり Catalyst 専用の Model つくってもほかから利用できないしなってのがあるんだけど、それは Catalyst::Model::Adaptor で解決。jrockway++

なので、単体で動作する何らかのモジュールをまずつくり、それを Model::Adaptor で連結する、というのが今の好きな方法。

by typester / at 2008-03-05T13:32:00 / catalyst / Comment

俺は MyApp::Context って名前で BK まとめてるな。

こっちのがカコイイ!

by typester / at 2008-02-29T19:12:00 / catalyst / Comment

Catalystアプリオレオレポリシー

下記camr作った時点での僕のポリシーは

  1. アプリ名にかかわらず設定ファイルはconfig.yamlとconfig_local.yaml
  2. でも変更することがないほとんどの設定はyamlには書かない。yamlがごちゃっとするときもい
  3. ForceUTF8系モジュールは使用しない。内部がきちんとutf8で統一されていれば必要ない。
  4. MyApp::UtilsとかいうのでいろいろBKなことをまとめてする。uri_forを気に入るように直したり、FillInFormの挙動変えたり

なんか抜けてる気がするけどこんな感じ。

by typester / at 2008-02-29T12:17:00 / perl · catalyst / Comment

Catalyst::Controller::Resources

かっこいい。

オレオレ規約をもとに雛形を生成するヘルパースクリプトでがんばるよりこういう自分用のコントローラをつくるほうがスマートだなぁ。

Catalystユーザー的にはオールドタイプな自分としては見習おうと思った。

by typester / at 2008-02-16T19:34:00 / perl · catalyst / Comment

JSON::XS を実戦投入した

いままでずっと JSON::Syck を使い続けていたのだけど、いまの JSON::Syck には

/y|Y
|n|N
|yes|Yes|YES
|no|No|NO
|true|True|TRUE
|false|False|FALSE
|on|On|ON
|off|Off|OFF
|null|Null|NULL
|~
/x

の正規表現にマッチする値はシングルクオートでくくられてしまうという仕様があり、これはJSONの仕様に反するのでパーサーによっては正しく処理できないものがある。

これがFlashから使うJSON APIでもろにはまって、adobe の corelib に入っている JSON のパーサーはこれをパースできない。(rubyのyamlパーサーでもエラーになるようだ)

cho45さんがこれを直すパッチを書いてくれたのだけど、いい機会なので JSON::XS を試してみた。JSON::Syck のドキュメントからも言及されてるしね。

Catalyst::View::JSON から使うには以下のような感じで MyApp::View::JSON をかけばOK。

package MyApp::View::JSON;
use strict;
use base 'Catalyst::View::JSON';

use JSON::XS ();

sub new {
    my $self = shift->NEXT::new(@_);

    my $dumper = JSON::XS->new->latin1;
    $self->json_dumper(sub { $dumper->encode($_[0]) });

    $self;
}

1;

JSON::Any つかってないのは Any だと環境変数で使用ライブラリを上書きできてしまっていやなので XS を直使用している。

一日くらい社内でテストしたけどだいじょうぶっぽかったのでさっき本番投入してみた。どうだろうな。

by typester / at 2008-02-05T16:51:00 / perl · catalyst / Comment

コード再利用の話

基本自社サービス or 個人サービスしかつくってないので、本当にcatalystを使っているとコピペ地獄になる。

また同じことかいてるなーってのが多すぎるため、むかついてなるべくコピペを減らす工夫をしている。

codereposにあげたcatstarterってのもそうだし、あとはヘルパーを結構書いてる。

Catalystのヘルパーってまぁ要するにコードジェネレータなんだけど、ユーザー登録とかログイン・ログアウトとかほんとにいつもかいてるのでその辺はヘルパー一発で雛形生成するようにしてたりとか、jsのajax apiのサーバーサイドとかもjson形式を決めうちにしちゃってこれも雛形生成している。

いまの Catalyst::Helper って新しいコード生成には使えるけど既存のクラスにメソッド追加とかそういうのできないのが不満。なんかつくりたい。

この辺の話はちゃんとまとめたいな。catalyst conやりたい!

by typester / at 2008-01-30T12:18:00 / perl · catalyst / Comment

Catalyst::Plugin::URI::MtimeQueryとCatalyst::Plugin::Assets - dann@catalyst - Catalystグループ

Catalyst::Plugin::AssetsにCatalyst::Plugin::URI::MtimeQueryのアイデアをインスパイアしたものを加えると、Assetsも結構使えるかも知れないなぁ。export_with_mtimequeryみたいなのがあればいいのかも。

これ今まさに仕事で使おうと思ってかいている。

そのうち公開します!

by typester / at 2008-01-30T12:14:00 / perl · catalyst / Comment

uri_forのやつ

uri_withも同じようにおかしかったのでそっちもなおしてもらった。

by typester / at 2008-01-18T03:23:00 / perl · catalyst / Comment

« Prev 1 2 3 4 5 6 7 8 9 10

(Page 1 of 11)