• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
エンジニア知識共有会発表資料_20091001_catalyst と sledge の比較
 

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

on

  • 1,499 views

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

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

Statistics

Views

Total Views
1,499
Views on SlideShare
1,449
Embed Views
50

Actions

Likes
0
Downloads
0
Comments
0

3 Embeds 50

http://techknowledge.fractalist.jp 47
http://webcache.googleusercontent.com 2
http://s.deeeki.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

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