逆引きクイックセミナー

42
Ruby on Rails 逆引きクイックセミナー 2008. 7.28 大場寧子大場光一郎久保優子

description

ウェブキャリアさま主催 Ruby on Rails Summer Festival 2008の資料。 http://www.web-career.com/seminar/summer-fes/

Transcript of 逆引きクイックセミナー

Page 1: 逆引きクイックセミナー

Ruby on Rails逆引きクイックセミナー

2008. 7.28大場寧子・大場光一郎・久保優子

Page 2: 逆引きクイックセミナー

Ruby on Rails逆引きクイックリファレンス

•RoR開発の実践逆引き辞典•毎日コミュニケーションズ•532p•3675円

Page 3: 逆引きクイックセミナー

今日の話題

•Ruby on Railsの価値•Rails開発チームの作り方•Railsテクニックのツボ

Page 4: 逆引きクイックセミナー

大場寧子

•Web家計簿「小槌」 •Award on Rails 2006 大賞•RoRでチームで開発•株式会社 万葉

Page 5: 逆引きクイックセミナー

大場光一郎

•RubyKaigi2008で発表•某大手SIer勤務•ウェブキャリア武勇伝掲載

Page 6: 逆引きクイックセミナー

久保優子

•Web蔵書管理システム「BookScope」

•Award on Rails 2007 ウェブキャリア賞・合宿賞

•現在もRoRで開発中

Page 7: 逆引きクイックセミナー

1Ruby on Railsの価値

Page 8: 逆引きクイックセミナー

Ruby on Railsの価値ってなに?

Page 9: 逆引きクイックセミナー

2Railsの開発チーム

Page 10: 逆引きクイックセミナー

Ruby on Rails開発チームはどうやってつくる?

Page 11: 逆引きクイックセミナー

チーム作りのポイント

Page 12: 逆引きクイックセミナー

開発はどう進める?

Page 13: 逆引きクイックセミナー

アジャイルってどうなの?

Page 14: 逆引きクイックセミナー

Rails開発を進めるときに大切こと

Page 15: 逆引きクイックセミナー

バージョンアップの重荷

Page 16: 逆引きクイックセミナー

3Railsテクニックのツボ

Page 17: 逆引きクイックセミナー

何から始める?

Page 18: 逆引きクイックセミナー

開発環境は?•NetBeans•Aptana•3rd Rail

Page 19: 逆引きクイックセミナー

Ruby on Rails逆引きクイックリファレンス

•Q*004 IDEを使うには•Q*005 Aptanaを使うには•Q*006 NetBeansを使うには

Page 20: 逆引きクイックセミナー

バージョン管理?

•CVS•Subversion•Git

Page 21: 逆引きクイックセミナー

プラグイン?

Page 22: 逆引きクイックセミナー

お奨めのプラグイン•acts_as_list•will_paginate•restful_authentication•jpmobile•backgroudrb•gettext

Page 23: 逆引きクイックセミナー

時々使うプラグイン•active_scaffold•acts_as_taggable_on_steroids

•acts_as_state_machine•annotate_models

Page 24: 逆引きクイックセミナー

開発したプラグイン

•image_upload•html5jp_graphs

Page 25: 逆引きクイックセミナー

Ruby on Rails逆引きクイックリファレンス

•Q*203 プラグインとは•Q*205 RubyやRailsを拡張するには•Q*206 モバイル端末に対応するには

Page 26: 逆引きクイックセミナー

パフォーマンスを出すには?

•チューニング•プロファイリング•キャッシュ

Page 27: 逆引きクイックセミナー

Ruby on Rails逆引きクイックリファレンス• Q*193 ログを出力するには• Q*194 プロファイルを取るには• Q*195 キャッシュするには• Q*196 ページキャッシュを使うには• Q*197 アクションキャッシュを使うには• Q*198 フラグメントキャッシュを使うには

Page 28: 逆引きクイックセミナー

テスト?

Page 29: 逆引きクイックセミナー

Selenium on Rails

•Selenium on Railsで自動リグレッションテスト

Page 30: 逆引きクイックセミナー

Rails2.0以降のフィクスチャ

taro: id: 1 name: "山田太郎" e-mail: [email protected]

taro_diary_1: id: 1 user_id: 1 user: taro

users.yml

diaries.yml

Page 31: 逆引きクイックセミナー

運用は?•Lighttpd + FastCGI•Mongrel•Passenger

Page 32: 逆引きクイックセミナー

Ruby on Rails逆引きクイックリファレンス

•Q*180 Railsを実行する時の環境とは•Q*181 Railsアプリケーションに必要なサーバとは

Page 33: 逆引きクイックセミナー

関連を使おう

Community CommunityMember*

members

Page 34: 逆引きクイックセミナー

関連を使った検索

m = CommunityMember.find(params[:id])

m = @community.members.find(params[:id])

m = CommunityMember.find(params[:id], :conditions => ["community_id = ?", @community.id])

Page 35: 逆引きクイックセミナー

Rails2.0以降のポイント

•RESTful•組み替え•フィクスチャ•NamedScope

•Rakeタスク•パッケージ管理•マイグレーション•git

Page 36: 逆引きクイックセミナー

RESTful•美しいURL•URL設計を起点に•複雑なroutes.rb

Page 37: 逆引きクイックセミナー

NamedScope30歳以上の特別会員を検索

@specials = User.special.over_age( 30, Date.today)class User < ActiveRecord::Base named_scope :special, :conditions => "special = 1" named_scope :over_age lambda {|age, date| {:conditions => ["birthday <= ?", date << 12*30]} }end

Page 38: 逆引きクイックセミナー

NamedScope

特別会員 30歳以上

Page 39: 逆引きクイックセミナー

Ruby on Rails逆引きクイックリファレンス• Q*050 コントローラをRESTfulにするには• Q*051 コントローラのRESTfulインターフェースをカスタマイズするには

• Q*052 親子構造のあるモデルを扱うコントローラをRESTfulにするには

• Q*053 モジュール下のコントローラをRESTfulにするには

Page 40: 逆引きクイックセミナー

4まとめ

Page 41: 逆引きクイックセミナー

レールに乗ろう!

•レールに乗って加速•80%-20%ルール•変更と付き合う

Page 42: 逆引きクイックセミナー

CTC Ruby教育コース

•Ruby技術者認定資格•Ruby/Railsトレーニングコース