Catalyst  と  Sledge
Catalyst の特徴をかいつまんで <ul><li>RoR の流れを汲んでいる。 </li></ul><ul><li>ヘルパースクリプトがとても充実。 </li></ul><ul><li>Scaffold とかで土台作り。 </li></u...
<ul><li>コントローラにアトリビュートという概念がある。 </li></ul><ul><li>sub index : Private {}  ・・・・・・  /waiwai/ </li></ul><ul><li>sub foo : Loc...
<ul><li>$c  とかいうコンテキストオブジェクトなる </li></ul><ul><li>物をインターフェイスにしていろいろな </li></ul><ul><li>メソッドを使う。 </li></ul><ul><li>リクエストの受け取...
だいたいの処理の流れ <ul><li>Dispatch </li></ul><ul><li> ↓ </li></ul><ul><li>bigin  事前処理 </li></ul><ul><li> ↓ </li></ul><ul><li>auto...
Sledge  の特徴をかいつまんで <ul><li>ライブドアでつくられた国産初?のフレームワーク </li></ul><ul><li>ヘルパースクリプトとかは無い。 </li></ul><ul><li>なんか個人で作っている人はいるけど <...
<ul><li>基本的に基底クラス Sledge::Pages::Base を </li></ul><ul><li>継承したコントローラに処理を書いていく流れです。 </li></ul><ul><li>このクラスからのインターフェース経由でいろ...
処理の流れ 具体的に <ul><li>htdocs  以下に例えば hogehoge.cgi  とかが </li></ul><ul><li>置いてあってそのなかから </li></ul><ul><li>use strict; </li></ul...
<ul><li>Lib/Hogehoge/Pages/Index.pm  の index メソッドに </li></ul><ul><li>アサインされます。 </li></ul><ul><li>sub dispatch_index{ </li>...
<ul><li>AFTER_INIT </li></ul><ul><li>↓ </li></ul><ul><li>BEFORE_DISPATCH  なんか本処理のまえにごにょごにょ </li></ul><ul><li>↓ </li></ul><...
<ul><li>BEFORE_DISPATCH   </li></ul><ul><li>C atalyst の begin にあたるところキャリア判別してなんか </li></ul><ul><li>ごにょごにょとか XSS 対策でごにょごにょ、...
Upcoming SlideShare
Loading in …5
×

エンジニア知識共有会発表資料_20091001_catalyst と sledge の比較

1,734 views

Published on

フレームワークcatalyst と sledge の比較

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,734
On SlideShare
0
From Embeds
0
Number of Embeds
67
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

エンジニア知識共有会発表資料_20091001_catalyst と sledge の比較

  1. 1. Catalyst と Sledge
  2. 2. Catalyst の特徴をかいつまんで <ul><li>RoR の流れを汲んでいる。 </li></ul><ul><li>ヘルパースクリプトがとても充実。 </li></ul><ul><li>Scaffold とかで土台作り。 </li></ul><ul><li>スキーマも自動で作ってくれる。 </li></ul><ul><li>開発用サーバとかもついてる。 </li></ul>
  3. 3. <ul><li>コントローラにアトリビュートという概念がある。 </li></ul><ul><li>sub index : Private {} ・・・・・・  /waiwai/ </li></ul><ul><li>sub foo : Local {} 、・・・・・・・  /waiwai/foo </li></ul><ul><li>sub hoge : Regex('^hoge/d{1}$'){} ・・ /waiwai/hoge/6 </li></ul><ul><li>なんかリライトみたいに使える。 </li></ul>
  4. 4. <ul><li>$c とかいうコンテキストオブジェクトなる </li></ul><ul><li>物をインターフェイスにしていろいろな </li></ul><ul><li>メソッドを使う。 </li></ul><ul><li>リクエストの受け取り </li></ul><ul><ul><li>$dodo = $c->req->param('key') </li></ul></ul><ul><li>ビューへ値を渡す </li></ul><ul><ul><li>$c->stash->{atai} = ‘aaaa’ </li></ul></ul><ul><li>コントローラ内でちがうメソッドにいったりできる。 </li></ul><ul><ul><li>$c->forward('aaaaa') 、 $c->detach('bbbb') </li></ul></ul>
  5. 5. だいたいの処理の流れ <ul><li>Dispatch </li></ul><ul><li> ↓ </li></ul><ul><li>bigin 事前処理 </li></ul><ul><li> ↓ </li></ul><ul><li>auto </li></ul><ul><li> ↓ </li></ul><ul><li>action 本処理 </li></ul><ul><li> ↓ </li></ul><ul><li>end 事後処理 </li></ul><ul><li> ↓ </li></ul><ul><li>finalize </li></ul>
  6. 6. Sledge の特徴をかいつまんで <ul><li>ライブドアでつくられた国産初?のフレームワーク </li></ul><ul><li>ヘルパースクリプトとかは無い。 </li></ul><ul><li>なんか個人で作っている人はいるけど </li></ul><ul><li>アトリビュートなんてもんはありませんから </li></ul><ul><li>catalyst みたいにやりたいときは mod_rewrite </li></ul><ul><li>とかで。 </li></ul>
  7. 7. <ul><li>基本的に基底クラス Sledge::Pages::Base を </li></ul><ul><li>継承したコントローラに処理を書いていく流れです。 </li></ul><ul><li>このクラスからのインターフェース経由でいろんな </li></ul><ul><li>メソッドをごにょごにょとします。 </li></ul><ul><li>リクエストの受け取り </li></ul><ul><ul><li>$self->r->param('username'); </li></ul></ul><ul><li>ビューへ値を渡す </li></ul><ul><ul><li>$self->tmpl->param(phone => $phone); </li></ul></ul><ul><li>セッションにセット </li></ul><ul><ul><li>$self->session->param(name => $name); </li></ul></ul><ul><li>リダイレクト </li></ul><ul><ul><li>$self->redirect ( &quot;http://&quot; . $self->create_config->fqdn); </li></ul></ul>
  8. 8. 処理の流れ 具体的に <ul><li>htdocs 以下に例えば hogehoge.cgi とかが </li></ul><ul><li>置いてあってそのなかから </li></ul><ul><li>use strict; </li></ul><ul><li>use Hogehoge::Pages::Index; </li></ul><ul><li>Hogehoge::Pages::Index->new->dispatch('index'); </li></ul><ul><li>コントローラに dispatch されます。 </li></ul>
  9. 9. <ul><li>Lib/Hogehoge/Pages/Index.pm の index メソッドに </li></ul><ul><li>アサインされます。 </li></ul><ul><li>sub dispatch_index{ </li></ul><ul><li>  my $self = shift; </li></ul><ul><li> ・・・・・・ </li></ul><ul><li>ここで本処理をします。あとはビューをレンダー </li></ul>
  10. 10. <ul><li>AFTER_INIT </li></ul><ul><li>↓ </li></ul><ul><li>BEFORE_DISPATCH  なんか本処理のまえにごにょごにょ </li></ul><ul><li>↓ </li></ul><ul><li>本処理 </li></ul><ul><li>↓ </li></ul><ul><li>AFTER_DISPATCH   本処理の後にごにょごにょ </li></ul><ul><li>↓ </li></ul><ul><li>AFTER_OUTPUT </li></ul>
  11. 11. <ul><li>BEFORE_DISPATCH   </li></ul><ul><li>C atalyst の begin にあたるところキャリア判別してなんか </li></ul><ul><li>ごにょごにょとか XSS 対策でごにょごにょ、とかいろいろやっていた記憶が </li></ul><ul><li>AFTER_DISPATCH </li></ul><ul><li>Castalyst の end にあたるところ Pv 測定したり、アフィリエイト用の処理を </li></ul><ul><li>入れたりとかしていた記憶が </li></ul>

×