Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Railsの今昔

2,838 views

Published on

Published in: Technology, Education
  • Be the first to comment

Railsの今昔

  1. 1. Ruby On Railsの今昔 よしだあつし@minami.rb
  2. 2. 自己紹介 ● お名前: よしだあつし ● お住まい: 大阪府吹田市 ● ツイッターID: @yalab ● 職業: エンタープライズニート ● 好きな食べ物: カレーライス ● 最近の興味: rails3 mongodb android
  3. 3. What is Ruby On Rails ? ● Webアプリケーションフレームワーク ● 作者: David Heinemeier Hansson ● 最新バージョン: 3.0.1 ● すごい生産性の高さで世界中で大人気 ● 単独でカンファレンスが開かれる
  4. 4. Powerd by Ruby On Rails ● Twitter ● Github ● Cookpad ● ruby-lang.org ● Smart.fm ● 楽天 他多数
  5. 5. Rails like フレームワーク ● Cake PHP(PHP) ● Php On Trax(PHP) ● Catalyst(Perl) ● Turbo Gears(Python)
  6. 6. 自己紹介 ● お名前: よしだあつし Rails Contributer 1693人のうちの1人 (2010年11月4日現在)
  7. 7. Rails Contributer
  8. 8. Rails Contributer ここ
  9. 9. Rails Contributer
  10. 10. 創世期(~ver 1.x.x )
  11. 11. 年表 ● 2004年 7月25日 Rails 0.5.0 リリース ● 2005年 9月22日 AWDW本発売(Rails 0.7対応) ● 2005年 9月30日 ティムオライリーがWeb2.0を提唱 ● 2005年11月11日 RailsMeetingOsaka-0000開催 ● 2005年12月14日 Rails 1.0 リリース ● 2006年 7月 9日 Rails Conference in Chicago開 催
  12. 12. ベストプラクティスがいっぱい ● 設定より規約 ● MVCモデル ● テストファースト ● コードジェネレーター ● プラグイン ● DRY
  13. 13. Rubyの黒魔術を最大限活用 ● 動的なメソッド定義 ● オープンクラス ● メタプログラミング irb(main):001:0> Time.now.utc => 2010-10-29 03:34:31 UTC irb(main):002:0> 3.days.ago => Tue, 26 Oct 2010 03:34:35 UTC +00:00
  14. 14. 平均的なJavaのフレームワークより 10倍生産性が高い!!
  15. 15. 発展期(ver2.x.x)
  16. 16. 年表 ● 2007年 1月19日 Rails 1.2リリース ● 2007年 5月17日から20日 RailsConf 2007開催(オ レゴン州) ● 2007年12月 7日 Rails 2.0 リリース ● 2008年 2月19日 Merb 0.9.1 リリース ● 2008年 5月29日から6月1日 RailsConf 2008開催 ● 2008年11月 9日 Merb 1.0.0 リリース
  17. 17. 様々な進化 ● RESTサポート(1.2) ● ActionWebService廃止ActiveResourceに(2.0) ● デフォルトのDBにSQLite3を採用(2.0.2) ● Rack対応(2.3.0)
  18. 18. 競合するRubyのフレームワーク ● Merb ● Ramaze ● Sinatra ● Camping ● Waves ● and more...
  19. 19. そんなある日
  20. 20. 事件は起こる!!
  21. 21. MerbがRailsにマージされる
  22. 22. Railsの現在(ver 3.x.x)
  23. 23. 年表 ● 2008年12月23日 RailsとMerbの統合が発表される ● 2009年11月30日 Rails 2.3.5リリース ● 2010年 2月 5日 Rails 3.0.0.beta1 リリース ● 2010年 6月 7日から10日 Rails Conf 2010開催 ● 2010年 8月18日 Ruby 1.9.2リリース ● 2010年 8月29日 Rails 3.0.0リリース ● 2010年10月15日 Rails 3.0.1、2.3.10リリース
  24. 24. 変更点 ● ActiveRecordの新API ● Routingの新しい記述方法 ● 新しいActionMailer ● Bundlerによるgem管理 ● デフォルトでxss対策 ● M17N対応 ● ActiveModelの採用 ● 公式プラグインAPI and more... http://weblog.rubyonrails.org/2010/8/29/rails-3-0-it-s-done
  25. 25. 変更の結果 ● ruby 1.9.2サポート ● html 5 対応 ● 簡潔に記述することができるようになった ● Pluginの動作が保証される ● 速くなった
  26. 26. 簡潔な記述例(Routes) ActionController::Routing::Routes.draw do |map| map.resources :users do |user| user.resources :friends end map.login 'login', :controller => 'sessions', :action => 'new' map.logout 'logout', :controller => 'sessions', :action => 'destroy' end Rails3::Application.routes.draw do resources :users do resources :friends end match 'login', :to => 'sessions#new' match 'logout', :to => 'sessions#destroy' end
  27. 27. ActiveRecordの新API class User < ActiveRecord::Base validates_presence_of :name validates_uniqueness_of :name named_scope :men, {:conditions => ["sex = ?", 'm']} end User.men.find(:all, :conditions => ["name like ?", 'A%'], :order => 'created_at') class User < ActiveRecord::Base validates :name, :presence => true, :uniqueness => true scope :men, where("sex = ?", "m") end User.men.where("name like ?", 'A%').order('created_at')
  28. 28. RailからRoadへ
  29. 29. 線路は続くよどこまでも
  30. 30. Resources ● Riding Rails(ブログ) http://weblog.rubyonrails.org/ ● Lighthouse (プロジェクト管理) https://rails.lighthouseapp.com/projects/8994-ruby-on-rails ● RailsによるアジャイルWebアプリケーション開発(本) http://www.amazon.co.jp/dp/4274067858/ ● github rails(git リポジトリ) https://github.com/rails/rails ● minami.rb(勉強会) http://qwik.jp/minamirb/
  31. 31. ご静聴ありがとうございました。

×