逆引きクイックセミナー
-
Upload
koichiro-ohba -
Category
Technology
-
view
2.169 -
download
2
description
Transcript of 逆引きクイックセミナー
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: [email protected]
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トレーニングコース