2009-09-11 / YAPC::Asia 2009

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Event

    2009-09-11 / YAPC::Asia 2009 - Presentation Transcript

    1. 小規模Webサイトのための CGIフレームワーク「Sabae」 LLP メガネラボ 岩田 享 IWATA Susumu / issm [email_address]
      • 自己紹介
      • 前置き
      • Sabae の紹介
      • Sabae の概説
      • デモ
      • まとめと今後
      アジェンダ
    2. 自己紹介
    3. 自己紹介
      • 岩田 享 / issm
      • LLP メガネラボ @名古屋
      • 小規模な Web サイト構築
      • 思いつきの Web サービス公開
        • http://www.nicograph.jp/
        • http://www.dqwm.net/
      • Perl , JavaScript
    4. 自己紹介
      • ずっと「 CGI 」的( but not Kentist )
      • ZIGOROu さん「 CPAN 使わないと」 @ YAPC::Asia 2008
      • モダン Perl 入門中
      • テストとか Catalyst とか Moose とか HTTP::Engine とか PSGI/Plack とか -> これから勉強><
    5. 前置き
    6. 前置き
      • メガネラボスタイル
        • テキストエディタ(画像以外)
    7. 前置き
      • 更新の度に HTML ごと修正メンドイ
      • 一覧系の HTML 修正メンドイ
      • 年越しのコピーライト年修正メンドイ
      • -> CGI な動的化
    8. 前置き
      • ページ追加の度にヘッダ・フッタコピー
      • お知らせを複数ページで表示
      • Perl と HTML とのスパイラルなソース
      • -> テンプレートの利用
    9. 前置き
      • 設定情報を共有したい
      • シンプルなフォーマット
      • わざわざパーサとか作ってられない
      • -> YAML による設定ファイル
    10. 前置き
      • Cool URL 萌え
        • mod_rewrite 多用
          • .htaccess がカオス
      • ページとともに CGI ファイルが増加 -> リクエスト URL によって動作振り分け -> 単一の CGI ファイルのみ
    11. e.t.c.
    12. そんな不満を ちょっとだけなくしたい
    13. メガネラボでつ [ くか ] っている フレームワーク
    14. メガネ ラボでつ [ くか ] っている フレーム ワーク
    15. 引用: http://www.trafficsignal.jp/~yuki_website/highway-hokuriku-7-3.htm
    16. 「 Sabae 」
    17. Sabae の紹介
    18. Sabae の紹介 / 特徴
    19. Sabae の紹介 / 特徴
      • キーワードは「アクション」
      • 名前から構成要素を自動判別
    20. Sabae の紹介 / 特徴
      • URL から「アクション」へのマッピング
      • ルールを YAML で定義
    21. Sabae の紹介 / 特徴
      • MVC っぽく分離
    22. Sabae の紹介 / 特徴
      • コマンドラインによるセットアップ
      • コマンドラインによる構成要素の追加
        ※ ethna の影響?
      % sabae.pl -–setup-project hoge % sabae.pl --create-action foo_bar
    23. Sabae の紹介 / 動作環境
    24. Sabae の紹介 / 動作環境
      • Apache + CGI + mod_rewrite
      • CPAN モジュール追加可能
        • さくらの共用は OK (スタンダード) -> メガネラボの Web サイト
        • VPS
      • Windows 上では未確認
      • 主な使用モジュール
        • Class::Accessor::Fast
          • たいていのクラスのベース
          • Class::Accessor::Fast::XS も
        • YAML::Syck / JSON::Syck
          • 設定ファイル読み込み
          • Ajax レスポンス
        • Template
      Sabae の紹介 / 動作環境
    25. Sabae の紹介 / 動作環境
      • lighttpd + FastCGI + mod_rewrite
        • 一部の動作のみ確認
    26. Sabae の概説
    27. Sabae の概説 / コントローラ
    28. Sabae の概説 / コントローラ
      • 入力:リクエスト
      • 出力:レスポンス
    29. Sabae の概説 / コントローラ
    30. Sabae の概説 / URL/ アクションマッピング
    31. Sabae の概説 / URL/ アクションマッピング
      • 対応規則を YAML ファイルで定義
    32. Sabae の概説 / URL/ アクションマッピング
    33. Sabae の概説 / URL/ アクションマッピング
    34. Sabae の概説 / URL/ アクションマッピング
    35. Sabae の概説 / モデルと DI (仮)
    36. Sabae の概説 / モデルと DI (仮)
      • データソース操作のメソッド群
      • 「 DI 」がデータソースの入出力を仲介 -> データソースインタフェイス(仮)
    37. Sabae の概説 / モデルと DI (仮)
      • Sabae::DI::YAML -> YAML ファイルとのやりとり
    38. Sabae の概説 / モデルと DI (仮)
      • Sabae::DI::DBI -> DB とのやりとり(現状 MySQL のみ)
    39. Sabae の概説 / モデルと DI (仮)
    40. Sabae の概説 / アクション
    41. Sabae の概説 / アクション
      • ここにロジックを定義
      • GET メソッド, POST メソッドで分離
      • 共通の定義も可能
    42. Sabae の概説 / アクション
    43. Sabae の概説 / アクション
    44. Sabae の概説 / アクション
    45. Sabae の概説 / アクション
    46. Sabae の概説 / ビュー
    47. Sabae の概説 / ビュー
      • ビュー名から個別テンプレートを選別 -> ビュー名はアクションの出力
      • 共通テンプレート + 個別テンプレート -> 通常のページ表示に
      • 個別テンプレートを直接 -> JSON とか XML とかの出力に
    48. Sabae の概説 / ビュー
      • 割り当て変数の参照
        • var :アクションで割り当てたもの
        • q :クエリ・フォームパラメータ
        • conf :設定関連
        • env :環境変数
    49. Sabae の概説 / ビュー
    50. Sabae の概説 / ビュー
    51. デモ
    52. デモ / プロジェクトの作成
    53. デモ / URL/ アクションマッピングの定義
    54. デモ / アクションの追加
    55. デモ / アクションの編集・ テンプレートの編集
    56. まとめと今後
    57. まとめと今後 / まとめ
      • 「アクション」でページを自動構成 -> 呼ばれる各種ファイルの特定が容易
      • サイトの拡張はコマンドラインで
      • テキストエディタで更新する人向け?
      • 小規模でもメンドイ作業はメンドイ -> 少しは怠けられる(当社比)
    58. まとめと今後 / 今後の課題
      • モデルは 1 から定義 -> よく使うような構造をひな形に!
      • フォームバリデーションとか
      • テスト&エラー処理
      • 小規模「向け」というか未考慮 -> 何らかの数値を測定したい
      • 公開サービスの再構築
      • 整理して公開
    59. Don't say “lazy”
    60. ご静聴ありがとうございました! Coming soon...? http://sabae.meganelab.net/
    61.  
    62.  

    + issmissm, 2 months ago

    custom

    552 views, 0 favs, 1 embeds more stats

    「小規模WebサイトのためのCGIフレーム more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 552
      • 503 on SlideShare
      • 49 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 3
    Most viewed embeds
    • 49 views on http://blog.iwa-ya.net

    more

    All embeds
    • 49 views on http://blog.iwa-ya.net

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Groups / Events