Slideshare.net (beta)

 

All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 10 (more)

Rails 2.0 Presentation

From chacon, 8 months ago

These are the slides from my presentation on Rails 2.0 at the Sili more

3539 views  |  0 comments  |  10 favorites  |  316 downloads  |  8 embeds (Stats)
 
 
 

Groups / Events

 

 
Embed
options

More Info

This slideshow is Public
Total Views: 3539
on Slideshare: 3396
from embeds: 143

Slideshow transcript

Slide 1: Rails 2.0 “evolution, not revolution”

Slide 2: Rails 2.0 Overview RESTful web architectures some small feature maturations removal of features determined to be not essential

Slide 3: Action Pack ActionController + ActionView

Slide 4: Multiview “Machine-Gunning .rhtml and .rxml” (action.mimetype.renderer) show.html.erb index.atom.builder edit.iphone.haml

Slide 5: Partial Layouts

Slide 6: Partial Layouts

Slide 7: Routing Resources

Slide 8: Routing Namespaces link_to ‘variants’, admin_product_variants_url(@product) /admin/products/:product_id/variants

Slide 9: Record Identification redirect_to(person) link_to(person.name, person) form_for(person)

Slide 10: HTTP Authentication

Slide 11: authenticate_or_request_with_http_basic

Slide 12: Exception Handling

Slide 13: controllers/application.rb rescue_from

Slide 14: Atom Feed Helper

Slide 15: Stolen from the DHH announcement

Slide 16: Mime::Type Predicates controller.request.format.html? controller.request.format.xml?

Slide 17: Performance Asset Servers Asset Caching Cookie Based Sessions

Slide 18: most browsers will only make up to two simultaneous connections to any one domain Asset Servers

Slide 19: config/environment.rb Asset Servers

Slide 20: config/environment.rb Asset Servers will always use the same server for a single file

Slide 21: Asset Caching

Slide 22: Cookie Based Sessions

Slide 23: example stolen from ryan daigle Cookie Sessions Security

Slide 24: Security CSRF Protection TextHelper#sanitize HTTP only cookies

Slide 25: CSRF Protection

Slide 26: Active Resource Short Overview of Resources

Slide 27: A consumer of RESTful resources Active Resource

Slide 28: A consumer of RESTful resources As ActiveRecord is a consumer of relational database resources Active Resource

Slide 29: ActiveResource Models

Slide 30: Active Resource Actions Http REST request Model request Request URI Response operation body find(id) GET n/a /people/id.xml <XML> Status: save (update) PUT <XML> /people/id.xml 200 OK Location: save (create) POST <XML> /people http://x/people/id.xml Status: destroy DELETE n/a /people/id.xml 200 OK list GET n/a /people <XML> credit: ryan diagle

Slide 31: demo

Slide 32: Active Record

Slide 33: Validations

Slide 34: :allow_blank validates_numericality

Slide 35: :allow_blank validates_numericality

Slide 36: Sexy Migrations

Slide 37: “Cold Shower” Migrations

Slide 38: Err Sexy Migrations

Slide 39: Rails 2.0 Sexy 4 fewer lines + rails programmers == sexy

Slide 40: References

Slide 41: Query Cache

Slide 42: Query Cache Logging

Slide 43: Disabling the Query Cache

Slide 44: Fixtures Foxy Fixtures Collection Fixtures Fixture Performance

Slide 45: conferences.yml places.yml Foxy Fixtures

Slide 46: conferences.yml places.yml Foxy Fixtures

Slide 47: Was Now Collection Fixtures

Slide 48: Data Exchange to_xml, from_xml to_json, from_json

Slide 49: /conferences/show/1.js to_json

Slide 50: to_xml

Slide 51: Other Stuff

Slide 53: rake

Slide 54: rake notes

Slide 55: rake notes

Slide 56: rake notes

Slide 57: rake db rake db:create rake db:create:all rake db:drop rake db:drop:all rake db:reset rake db:rollback rake db:version

Slide 58: rake routes

Slide 61: rake routes route name, HTTP method, route path, route requirements

Slide 66: helper :all

Slide 67: rails my_new_app

Slide 68: Request Profiler RubyProf Wrapper ./script/performance/request -n 10 login_session.rb

Slide 69: /config/initializers/

Slide 70: initializers directory

Slide 71: initializers directory

Slide 72: initializers directory

Slide 73: config/preinitializer.rb loaded before the environment files

Slide 74: Scaffolding ./script/generate scaffold conference name:string description:text start_date:date end_date:date

Slide 75: Resourceful Scaffolding

Slide 76: Breakpoints

Slide 77: gem install ruby-debug

Slide 78: add ‘debugger’ to code

Slide 79: ./script/server -u

Slide 80: demo

Slide 81: www.datanoise.com/ruby-debug

Slide 82: Upgrading to 2.0

Slide 83: Deprecations

Slide 84: with_scope

Slide 85: Components

Slide 86: Pagination

Slide 87: Object Transactions

Slide 88: http://code.bitsweat.net/svn/object_transactions/

Slide 89: ActionWebService ActiveResource

Slide 90: syntax changes @params params[] @session session[] @flash flash[] @request request[] @env env[] find_all find(:all) find_first find(:first) render_partial render :partial :post => true :method => :post

Slide 91: start_form_tag end_form_tag form_for do end

Slide 92: start_form_tag end_form_tag form_tag </form>

Slide 93: Extracting to Plugins and Gems acts_as some js helpers commercial database adapters

Slide 94: ./script/plugin install acts_as_list acts_as_nested_set acts_as_tree auto_complete in_place_editing

Slide 95: gem install activerecord-X-adapter --source http://gems.rubyonrails.com firebird frontbase informix openbase oracle sqlserver sybase

Slide 96: Upgrade Process gem install rails -y

Slide 97: Resources • Peepcode Rails2 PDF - Ryan Daigle ($9) • http://weblog.rubyonrails.org • /2007/12/7/rails-2-0-it-s-done • http://ryandaigle.com • /articles/2007/12/7/rails-2-0-final-released-summary-of-features • http://www.slashdotdash.net • /articles/2007/12/03/rails-2-upgrade-notes

Slide 98: Thanks! noesbueno.org/rails2

Slide 99: Work with me @ http://www.reactrix.com/careers.php schacon@gmail.com Sr. Web Developer Linux Systems Administrator Sr. Game/Interaction Programmer Computer Vision Engineer