逆引きクイックセミナー

Preview:

DESCRIPTION

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

Citation preview

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

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

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

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

今日の話題

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

大場寧子

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

大場光一郎

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

久保優子

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

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

•現在もRoRで開発中

1Ruby on Railsの価値

Ruby on Railsの価値ってなに?

2Railsの開発チーム

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

チーム作りのポイント

開発はどう進める?

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

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

バージョンアップの重荷

3Railsテクニックのツボ

何から始める?

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

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

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

バージョン管理?

•CVS•Subversion•Git

プラグイン?

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

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

•acts_as_state_machine•annotate_models

開発したプラグイン

•image_upload•html5jp_graphs

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

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

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

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

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

テスト?

Selenium on Rails

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

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

taro: id: 1 name: "山田太郎" e-mail: taro@hoge.xxx.jp

taro_diary_1: id: 1 user_id: 1 user: taro

users.yml

diaries.yml

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

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

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

関連を使おう

Community CommunityMember*

members

関連を使った検索

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

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

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

Rails2.0以降のポイント

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

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

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

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

NamedScope

特別会員 30歳以上

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

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

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

4まとめ

レールに乗ろう!

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

CTC Ruby教育コース

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

Recommended