本日は Catalyst Conference #1 です

今日は仕事を早めに切り上げて参加します。

http://coderepos.org/share/wiki/CatalystCon1

以下おおざっぱなメモです。資料のリンクがあるものは資料をみたほうが早いと思います・・。

CatalystMVC (id:dann)

http://www.slideshare.net/techmemo/catalyst-367905/

  • WAF (Web Application Framework) における MVC の関係
  • Catalys::Model::* は Catalyst に依存してしまう
  • MVC の M は PoPo (Plain Old Perl Object) で
    • テスト性の向上
    • テストの実行速度向上
    • CLI (Command Line Interface), WebAPI でも使える

エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented SELECTION)

エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented SELECTION)

  • Domain Model + Service Layer がよさそう
    • Service Layer はアプリケーションロジックやワークフローを書く
    • Domain Model は主なロジックを書く

以下はアークテクチャ例:

  • View (Catalyst)
  • Controller (Catalyst)
  • Plugin (Catalyst)
  • Model
    • PoPo Service (Service Layer)
    • PoPo Model (Domain Model)
    • DI コンテナ (PoPo Service と PoPo Model を結びつける)

PoPo モデルは DI コンテナのラッパーとして Plugin を用意して以下のような感じで呼ぶ。

$c->pmodel('Hoge')->hello();

Catalyst::Controller::Resouces (id:ikasam_a)

http://svn.coderepos.org/share/docs/masaki/catalystcon1/roa_and_catalyst.html

  • リソース指向(ROA)の話
    • アドレス可能性
    • ステートレス性
    • 接続性
    • 統一インターフェース(GET, POST, PUT ,DELETE)
  • PUT, DELETE の代替に action_prepare を使う例
  • Catalyst::Action::REST
    • やっぱり汚いので Catalyst::Controller::Resources を作った
    • Rails の map.resources にインスパイア

$c <3 C (id:charsbar)

http://www.tcool.org/talks/catalyst_conf1.pdf

typo しないための 10 の 方法 (id:typester)

http://coderepos.org/share/browser/docs/typester/catalystcon1

  • Catalyst::Helper の活用
  • 独自ヘルパー(catstarter)
  • 独自ベースコントローラー
  • Catalyst::Component::ACCEPT_CONTEXT を使う
  • 独自アクションクラス
  • emacsyasnippet を使う

あとは忘れました。

Catalyst::Model::Adaptor (id:hidek)

http://www.slideshare.net/hidek/catalystmodeladaptor/

以下のようにして作れます。

./myapp_create.pl model foo Adaptor

PoPo なモデルを Catalyst::Model にしてくれる魔法のモジュール。

2924 (id:yappo)

http://svn.coderepos.org/share/docs/yappo/20080422-catalystcon1/catalystcon.pl

  • CiscoCatalyst から始まる(全くウケてない・・)
  • HTTP::Service::Wrapper

Catalyst ☆ Complex (id:tokuhirom)

CatalystSledge を使っていました。

DBIC::Schama::Loader (id:ZIGOROu)

http://sample.art-code.org/files/catalyst_con1.pdf

トラブルで写らず・・。