edted 2010 ruby on rails
DESCRIPTION
Palestra de introdução à Cultura e Ecossistema Ruby on Rails no EDTED 2010 Rio de JaneiroTRANSCRIPT
![Page 1: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/1.jpg)
A apresentação já vai começar ...
Saturday, April 10, 2010
![Page 2: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/2.jpg)
Ruby on RailsSaturday, April 10, 2010
![Page 3: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/3.jpg)
AkitaOnRails.com
Saturday, April 10, 2010
![Page 4: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/4.jpg)
~ 50 min~ 110 slides
Saturday, April 10, 2010
![Page 5: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/5.jpg)
www.slideshare.net/akitaonrails
Saturday, April 10, 2010
![Page 6: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/6.jpg)
Saturday, April 10, 2010
![Page 7: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/7.jpg)
Ruby on Rails 2.3.x
Ruby on Rails 3.0-pre
Ruby 1.8.x
Ruby 1.9.xSaturday, April 10, 2010
![Page 8: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/8.jpg)
Ruby on Rails 2.3.x
Ruby on Rails 3.0-pre
Ruby 1.8.x
Ruby 1.9.xSaturday, April 10, 2010
![Page 9: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/9.jpg)
Ruby on Rails 2.3.x
Ruby on Rails 3.0-pre
Ruby 1.8.x
Ruby 1.9.xSaturday, April 10, 2010
![Page 10: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/10.jpg)
Ruby on Rails 2.3.x
Ruby on Rails 3.0-pre
Ruby 1.8.x
Ruby 1.9.xSaturday, April 10, 2010
![Page 11: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/11.jpg)
1993
“Matz”
Saturday, April 10, 2010
![Page 12: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/12.jpg)
Saturday, April 10, 2010
![Page 13: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/13.jpg)
2004
“DHH”
Saturday, April 10, 2010
![Page 14: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/14.jpg)
Saturday, April 10, 2010
![Page 15: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/15.jpg)
Saturday, April 10, 2010
![Page 16: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/16.jpg)
Saturday, April 10, 2010
![Page 17: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/17.jpg)
Saturday, April 10, 2010
![Page 18: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/18.jpg)
Saturday, April 10, 2010
![Page 19: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/19.jpg)
2006
Charles Nutter
Saturday, April 10, 2010
![Page 20: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/20.jpg)
Saturday, April 10, 2010
![Page 21: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/21.jpg)
Saturday, April 10, 2010
![Page 22: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/22.jpg)
“Tornar as coisas simples fáceis e as coisas complexas
possíveis”Filoso!a Ruby
Saturday, April 10, 2010
![Page 23: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/23.jpg)
Saturday, April 10, 2010
![Page 24: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/24.jpg)
Código que gera Código
Convention over Con!guration
“Don’t Repeat Yourself”
Extreme Programming
Saturday, April 10, 2010
![Page 25: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/25.jpg)
Código que gera Código
Convention over Con!guration
“Don’t Repeat Yourself”
Extreme Programming
Saturday, April 10, 2010
![Page 26: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/26.jpg)
Código que gera Código
Convention over Con!guration
“Don’t Repeat Yourself”
Extreme Programming
Saturday, April 10, 2010
![Page 27: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/27.jpg)
Código que gera Código
Convention over Con!guration
“Don’t Repeat Yourself”
Extreme Programming
Saturday, April 10, 2010
![Page 28: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/28.jpg)
Restful Resources
Unicode, Time Zone, i18n
Segurança(XSS, CSRF, Injection)
Saturday, April 10, 2010
![Page 29: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/29.jpg)
Restful Resources
Unicode, Time Zone, i18n
Segurança(XSS, CSRF, Injection)
Saturday, April 10, 2010
![Page 30: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/30.jpg)
Restful Resources
Unicode, Time Zone, i18n
Segurança(XSS, CSRF, Injection)
Saturday, April 10, 2010
![Page 31: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/31.jpg)
Templates ERB, HAML
Autenticação HTTP Basic, HTTP Digest,Authlogic, Devise
Bancos de Dados MySQL, PostgreSQL, Oracle,MongoDB, CouchDB
ORMs ActiveRecord, DataMapper,MongoMapper, Sequel
Javascript Prototype, jQuery,SproutCore
Web Servers Apache 2, NginX,Lighty, Litespeed
Saturday, April 10, 2010
![Page 32: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/32.jpg)
Templates ERB, HAML
Autenticação HTTP Basic, HTTP Digest,Authlogic, Devise
Bancos de Dados MySQL, PostgreSQL, Oracle,MongoDB, CouchDB
ORMs ActiveRecord, DataMapper,MongoMapper, Sequel
Javascript Prototype, jQuery,SproutCore
Web Servers Apache 2, NginX,Lighty, Litespeed
Saturday, April 10, 2010
![Page 33: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/33.jpg)
Templates ERB, HAML
Autenticação HTTP Basic, HTTP Digest,Authlogic, Devise
Bancos de Dados MySQL, PostgreSQL, Oracle,MongoDB, CouchDB
ORMs ActiveRecord, DataMapper,MongoMapper, Sequel
Javascript Prototype, jQuery,SproutCore
Web Servers Apache 2, NginX,Lighty, Litespeed
Saturday, April 10, 2010
![Page 34: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/34.jpg)
Templates ERB, HAML
Autenticação HTTP Basic, HTTP Digest,Authlogic, Devise
Bancos de Dados MySQL, PostgreSQL, Oracle,MongoDB, CouchDB
ORMs ActiveRecord, DataMapper,MongoMapper, Sequel
Javascript Prototype, jQuery,SproutCore
Web Servers Apache 2, NginX,Lighty, Litespeed
Saturday, April 10, 2010
![Page 35: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/35.jpg)
Templates ERB, HAML
Autenticação HTTP Basic, HTTP Digest,Authlogic, Devise
Bancos de Dados MySQL, PostgreSQL, Oracle,MongoDB, CouchDB
ORMs ActiveRecord, DataMapper,MongoMapper, Sequel
Javascript Prototype, jQuery,SproutCore
Web Servers Apache 2, NginX,Lighty, Litespeed
Saturday, April 10, 2010
![Page 36: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/36.jpg)
Templates ERB, HAML
Autenticação HTTP Basic, HTTP Digest,Authlogic, Devise
Bancos de Dados MySQL, PostgreSQL, Oracle,MongoDB, CouchDB
ORMs ActiveRecord, DataMapper,MongoMapper, Sequel
Javascript Prototype, jQuery,SproutCore
Web Servers Apache 2, NginX,Lighty, Litespeed
Saturday, April 10, 2010
![Page 37: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/37.jpg)
Saturday, April 10, 2010
![Page 38: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/38.jpg)
Saturday, April 10, 2010
![Page 39: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/39.jpg)
Saturday, April 10, 2010
![Page 40: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/40.jpg)
Saturday, April 10, 2010
![Page 41: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/41.jpg)
Saturday, April 10, 2010
![Page 42: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/42.jpg)
Saturday, April 10, 2010
![Page 43: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/43.jpg)
Saturday, April 10, 2010
![Page 44: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/44.jpg)
Saturday, April 10, 2010
![Page 45: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/45.jpg)
Saturday, April 10, 2010
![Page 46: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/46.jpg)
Saturday, April 10, 2010
![Page 47: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/47.jpg)
Saturday, April 10, 2010
![Page 48: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/48.jpg)
Saturday, April 10, 2010
![Page 49: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/49.jpg)
Saturday, April 10, 2010
![Page 50: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/50.jpg)
Saturday, April 10, 2010
![Page 51: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/51.jpg)
Saturday, April 10, 2010
![Page 52: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/52.jpg)
Saturday, April 10, 2010
![Page 53: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/53.jpg)
class Product < ActiveRecord::Base after_create :set_initial_inventory has_many :variants, :dependent => :destroy has_many :images, :as => :viewable, :order => :position, :dependent => :destroy has_many :properties, :through => :product_properties belongs_to :tax_category
validates_presence_of :name validates_presence_of :master_price validates_presence_of :description
make_permalink :with => :name, :field => :permalinkend
Model
Saturday, April 10, 2010
![Page 54: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/54.jpg)
<div id="product-listing"> <%= breadcrumbs(@taxon) %> <br/> <%= render :partial => "shared/products.html.erb", :locals => {:products => @products, :taxon => @taxon } %></div>
<% content_for :sidebar do %> <td id="shop-by-col" valign="top"> <%= render :partial => "shared/taxonomies" %> </td><% end %>
<%= render :partial => 'shared/paginate', :locals => {:collection => @products, :options => {}} unless @products.empty? %>
Views ERB
Saturday, April 10, 2010
![Page 55: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/55.jpg)
class UsersController < Spree::BaseController resource_controller before_filter :initialize_extension_partials actions :all, :except => [:index, :destroy] show.before do @orders = Order.checkout_completed(true) .find_all_by_user_id(current_user.id) end
create.after { self.current_user = @user }
create.response do |wants| wants.html { redirect_back_or_default(products_path) } end end
Controller
Saturday, April 10, 2010
![Page 56: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/56.jpg)
“Beautiful Code”
Saturday, April 10, 2010
![Page 57: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/57.jpg)
//$Id: Booking.java 5579 2007-06-27 00:06:49Z gavin $package org.jboss.seam.example.booking;
import java.io.Serializable;import java.math.BigDecimal;import java.text.DateFormat;import java.util.Date;
import javax.persistence.Basic;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.ManyToOne;import javax.persistence.Temporal;import javax.persistence.TemporalType;import javax.persistence.Transient;
import org.hibernate.validator.Length;import org.hibernate.validator.NotNull;import org.hibernate.validator.Pattern;import org.jboss.seam.annotations.Name;
@Entity@Name("booking")public class Booking implements Serializable{ private Long id; private User user; private Hotel hotel; private Date checkinDate; private Date checkoutDate; private String creditCard; private String creditCardName; private int creditCardExpiryMonth; private int creditCardExpiryYear; private boolean smoking; private int beds; public Booking() {} public Booking(Hotel hotel, User user) { this.hotel = hotel; this.user = user; }
@Transient public BigDecimal getTotal() { return hotel.getPrice().multiply( new BigDecimal( getNights() ) ); }
@Transient public int getNights() { return (int) ( checkoutDate.getTime() - checkinDate.getTime() ) / 1000 / 60 / 60 / 24; }
@Id @GeneratedValue public Long getId() { return id; } public void setId(Long id) { this.id = id; } @NotNull @Basic @Temporal(TemporalType.DATE) public Date getCheckinDate() { return checkinDate; } public void setCheckinDate(Date datetime) { this.checkinDate = datetime; }
@ManyToOne @NotNull public Hotel getHotel() { return hotel; } public void setHotel(Hotel hotel) { this.hotel = hotel; } @ManyToOne @NotNull public User getUser() { return user; }
Saturday, April 10, 2010
![Page 58: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/58.jpg)
public void setUser(User user) { this.user = user; } @Basic @Temporal(TemporalType.DATE) @NotNull public Date getCheckoutDate() { return checkoutDate; } public void setCheckoutDate(Date checkoutDate) { this.checkoutDate = checkoutDate; } @NotNull(message="Credit card number is required") @Length(min=16, max=16, message="Credit card number must 16 digits long") @Pattern(regex="^\\d*$", message="Credit card number must be numeric") public String getCreditCard() { return creditCard; }
public void setCreditCard(String creditCard) { this.creditCard = creditCard; } @Transient public String getDescription() { DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM); return hotel==null ? null : hotel.getName() + ", " + df.format( getCheckinDate() ) + " to " + df.format( getCheckoutDate() ); }
public boolean isSmoking() { return smoking; }
public void setSmoking(boolean smoking) { this.smoking = smoking; }
public int getBeds() { return beds; }
public void setBeds(int beds) { this.beds = beds; } @NotNull(message="Credit card name is required") @Length(min=3, max=70, message="Credit card name is required") public String getCreditCardName() { return creditCardName; }
public void setCreditCardName(String creditCardName) { this.creditCardName = creditCardName; }
public int getCreditCardExpiryMonth() { return creditCardExpiryMonth; }
public void setCreditCardExpiryMonth(int creditCardExpiryMonth) { this.creditCardExpiryMonth = creditCardExpiryMonth; }
public int getCreditCardExpiryYear() { return creditCardExpiryYear; }
public void setCreditCardExpiryYear(int creditCardExpiryYear) { this.creditCardExpiryYear = creditCardExpiryYear; } @Override public String toString() { return "Booking(" + user + ","+ hotel + ")"; }
}
Saturday, April 10, 2010
![Page 59: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/59.jpg)
class Booking < ActiveRecord::Base belongs_to :hotel belongs_to :user validates_presence_of :hotel validates_presence_of :user validates_presence_of :credit_card validates_presence_of :credit_card_name validates_length_of :credit_card, :within => 16..16 validates_format_of :credit_card, :with => /^\\d*$/ validates_length_of :credit_card_name, :within => 3..70 def total hotel.price * nights end def nights ((checkout_date - checkin_date) / 1.day).round end def to_s "Booking(#{user},#{hotel})" endend
Saturday, April 10, 2010
![Page 60: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/60.jpg)
class Booking < ActiveRecord::Base belongs_to :hotel belongs_to :user validates_presence_of :hotel validates_presence_of :user validates_presence_of :credit_card validates_presence_of :credit_card_name validates_length_of :credit_card, :within => 16..16 validates_format_of :credit_card, :with => /^\\d*$/ validates_length_of :credit_card_name, :within => 3..70 def total hotel.price * nights end def nights ((checkout_date - checkin_date) / 1.day).round end def to_s "Booking(#{user},#{hotel})" endend
Saturday, April 10, 2010
![Page 61: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/61.jpg)
class CreateBookings < ActiveRecord::Migration def self.up create_table :bookings do |t| t.references :user t.references :hotel t.datetime :checkin t.datetime :checkout t.string :credit_card t.string :credit_card_name t.integer :credit_card_expiry_month t.integer :credit_card_expiry_year t.boolean :smoking t.integer :beds
t.timestamps end end
def self.down drop_table :bookings endend
Saturday, April 10, 2010
![Page 62: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/62.jpg)
class CreateBookings < ActiveRecord::Migration def self.up create_table :bookings do |t| t.references :user t.references :hotel t.datetime :checkin t.datetime :checkout t.string :credit_card t.string :credit_card_name t.integer :credit_card_expiry_month t.integer :credit_card_expiry_year t.boolean :smoking t.integer :beds
t.timestamps end end
def self.down drop_table :bookings endend
Saturday, April 10, 2010
![Page 63: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/63.jpg)
class CreateBookings < ActiveRecord::Migration def self.up create_table :bookings do |t| t.references :user t.references :hotel t.datetime :checkin t.datetime :checkout t.string :credit_card t.string :credit_card_name t.integer :credit_card_expiry_month t.integer :credit_card_expiry_year t.boolean :smoking t.integer :beds
t.timestamps end end
def self.down drop_table :bookings endend
Saturday, April 10, 2010
![Page 64: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/64.jpg)
190vs
40
Saturday, April 10, 2010
![Page 65: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/65.jpg)
Saturday, April 10, 2010
![Page 66: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/66.jpg)
http://www.railsonwave.com/railsonwave/2008/6/4/yellowpages-com-migrates-to-rails
“Eles servem mais de 23 milhões de visitantes/mês. A conversão resultou em 20 mil linhas de Ruby em vez de 125 mil linhas de Java e, mais importante, facilitou a di!culdade que tinham em manutenção. Eles também !nalizaram a reescrita do sistema
em apenas 3 meses com 4 desenvolvedores. Uma vez completo e otimizado, o site deles agora é mais rápido que antes.”
Saturday, April 10, 2010
![Page 67: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/67.jpg)
http://www.railsonwave.com/railsonwave/2008/6/4/yellowpages-com-migrates-to-rails
“Eles servem mais de 23 milhões de visitantes/mês. A conversão resultou em 20 mil linhas de Ruby em vez de 125 mil linhas de Java e, mais importante, facilitou a di!culdade que tinham em manutenção. Eles também !nalizaram a reescrita do sistema
em apenas 3 meses com 4 desenvolvedores. Uma vez completo e otimizado, o site deles agora é mais rápido que antes.”
Saturday, April 10, 2010
![Page 68: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/68.jpg)
http://www.railsonwave.com/railsonwave/2008/6/4/yellowpages-com-migrates-to-rails
“Eles servem mais de 23 milhões de visitantes/mês. A conversão resultou em 20 mil linhas de Ruby em vez de 125 mil linhas de Java e, mais importante, facilitou a di!culdade que tinham em manutenção. Eles também !nalizaram a reescrita do sistema
em apenas 3 meses com 4 desenvolvedores. Uma vez completo e otimizado, o site deles agora é mais rápido que antes.”
Saturday, April 10, 2010
![Page 69: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/69.jpg)
http://www.railsonwave.com/railsonwave/2008/6/4/yellowpages-com-migrates-to-rails
“Eles servem mais de 23 milhões de visitantes/mês. A conversão resultou em 20 mil linhas de Ruby em vez de 125 mil linhas de Java e, mais importante, facilitou a di!culdade que tinham em manutenção. Eles também !nalizaram a reescrita do sistema
em apenas 3 meses com 4 desenvolvedores. Uma vez completo e otimizado, o site deles agora é mais rápido que antes.”
Saturday, April 10, 2010
![Page 70: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/70.jpg)
Ferramentas
Saturday, April 10, 2010
![Page 71: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/71.jpg)
Repositórios GitoriousGithub
Integração Contínua
IntegrityCruise Control
Deployment ChefPuppet
Monitoramento New Relic
Saturday, April 10, 2010
![Page 72: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/72.jpg)
Repositórios GitoriousGithub
Integração Contínua
IntegrityCruise Control
Deployment ChefPuppet
Monitoramento New Relic
Saturday, April 10, 2010
![Page 73: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/73.jpg)
Repositórios GitoriousGithub
Integração Contínua
IntegrityCruise Control
Deployment ChefPuppet
Monitoramento New Relic
Saturday, April 10, 2010
![Page 74: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/74.jpg)
Repositórios GitoriousGithub
Integração Contínua
IntegrityCruise Control
Deployment ChefPuppet
Monitoramento New Relic
Saturday, April 10, 2010
![Page 75: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/75.jpg)
Saturday, April 10, 2010
![Page 76: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/76.jpg)
Saturday, April 10, 2010
![Page 77: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/77.jpg)
Saturday, April 10, 2010
![Page 78: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/78.jpg)
Saturday, April 10, 2010
![Page 79: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/79.jpg)
Saturday, April 10, 2010
![Page 80: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/80.jpg)
Saturday, April 10, 2010
![Page 81: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/81.jpg)
Saturday, April 10, 2010
![Page 82: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/82.jpg)
Saturday, April 10, 2010
![Page 83: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/83.jpg)
Comunidade
Saturday, April 10, 2010
![Page 84: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/84.jpg)
Satish Talim
rubylearning.org
Saturday, April 10, 2010
![Page 85: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/85.jpg)
Mike Gunderloy
guides.rubyonrails.org
Saturday, April 10, 2010
![Page 86: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/86.jpg)
Geoffrey
peepcode.com
Saturday, April 10, 2010
![Page 87: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/87.jpg)
Ryan Bates
railscasts.com
Saturday, April 10, 2010
![Page 88: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/88.jpg)
github.com
Saturday, April 10, 2010
![Page 89: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/89.jpg)
railsdispatch.com
Saturday, April 10, 2010
![Page 90: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/90.jpg)
rubysoc.org
Saturday, April 10, 2010
![Page 91: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/91.jpg)
guru-sp.org
rubyinside.com.br
Saturday, April 10, 2010
![Page 92: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/92.jpg)
plataformatec.com.br
Saturday, April 10, 2010
![Page 93: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/93.jpg)
caelum.com.br
Saturday, April 10, 2010
![Page 94: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/94.jpg)
egenialsas.com.br
Saturday, April 10, 2010
![Page 95: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/95.jpg)
Saturday, April 10, 2010
![Page 96: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/96.jpg)
Saturday, April 10, 2010
![Page 97: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/97.jpg)
Saturday, April 10, 2010
![Page 98: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/98.jpg)
Saturday, April 10, 2010
![Page 99: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/99.jpg)
Saturday, April 10, 2010
![Page 100: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/100.jpg)
Saturday, April 10, 2010
![Page 101: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/101.jpg)
Saturday, April 10, 2010
![Page 102: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/102.jpg)
Saturday, April 10, 2010
![Page 103: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/103.jpg)
Saturday, April 10, 2010
![Page 104: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/104.jpg)
Saturday, April 10, 2010
![Page 105: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/105.jpg)
Saturday, April 10, 2010
![Page 106: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/106.jpg)
O que dizempor aí ...
Saturday, April 10, 2010
![Page 107: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/107.jpg)
Ruby é Lento
Saturday, April 10, 2010
![Page 108: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/108.jpg)
Existem mentiras, mentiras malditas e
estatísticas.
Saturday, April 10, 2010
![Page 109: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/109.jpg)
Existem mentiras, mentiras malditas e
estatísticas.
Saturday, April 10, 2010
![Page 110: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/110.jpg)
Existem mentiras, mentiras malditas e
estatísticas.
Saturday, April 10, 2010
![Page 111: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/111.jpg)
Saturday, April 10, 2010
![Page 112: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/112.jpg)
x mais lento que C++
Saturday, April 10, 2010
![Page 113: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/113.jpg)
0 32.5 65 97.5 130
Python 2
Ruby 1.9
JRuby
Perl
Python 3
PHP
Ruby 1.8
x mais lento que C++
Saturday, April 10, 2010
![Page 114: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/114.jpg)
Homepage: 331 ms
Saturday, April 10, 2010
![Page 115: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/115.jpg)
Homepage: 331 ms
Total: 5.45 s
Saturday, April 10, 2010
![Page 116: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/116.jpg)
Saturday, April 10, 2010
![Page 117: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/117.jpg)
Performance!=
Escalabilidade
Saturday, April 10, 2010
![Page 118: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/118.jpg)
Rails não Escala
Saturday, April 10, 2010
![Page 119: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/119.jpg)
Saturday, April 10, 2010
![Page 120: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/120.jpg)
Saturday, April 10, 2010
![Page 121: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/121.jpg)
Blaine Cook
http://www.akitaonrails.com/2008/6/17/chatting-with-blaine-cook-twitter
Saturday, April 10, 2010
![Page 122: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/122.jpg)
Para colocar as coisas em perspectiva, o Friendster foi
escrito em Java e eles mudaram para PHP. MySpace foi escrito
em ColdFusion e eles mudaram para ASP.NET.
Blaine Cook
http://www.akitaonrails.com/2008/6/17/chatting-with-blaine-cook-twitter
Saturday, April 10, 2010
![Page 123: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/123.jpg)
Para colocar as coisas em perspectiva, o Friendster foi
escrito em Java e eles mudaram para PHP. MySpace foi escrito
em ColdFusion e eles mudaram para ASP.NET.
Blaine Cook
http://www.akitaonrails.com/2008/6/17/chatting-with-blaine-cook-twitter
Quando as pessoas caem em problemas de escalabilidade, normalmente acham que a
linguagem é o problema, mas eu acho que isso raramente é a
realidade.
Saturday, April 10, 2010
![Page 124: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/124.jpg)
http://www.computerworld.com.au/article/268003/ruby_rails_rolls_into_enterprise?fp=16&fpid=1
“O The New York Times usou Ruby on Rails para agregar, analizar e mostrar os resultados das
eleições em quase tempo real em um de seus sites mais acessados de todos os tempos.”
Saturday, April 10, 2010
![Page 125: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/125.jpg)
http://www.computerworld.com.au/article/268003/ruby_rails_rolls_into_enterprise?fp=16&fpid=1
“O The New York Times usou Ruby on Rails para agregar, analizar e mostrar os resultados das
eleições em quase tempo real em um de seus sites mais acessados de todos os tempos.”
Saturday, April 10, 2010
![Page 126: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/126.jpg)
Web Server
MySQL
Browser
Saturday, April 10, 2010
![Page 127: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/127.jpg)
Web Server
MySQL
Browser
Varnish/HAProxy
Saturday, April 10, 2010
![Page 128: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/128.jpg)
Web Server
MySQL
Browser
Varnish/HAProxy
Memcached
Saturday, April 10, 2010
![Page 129: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/129.jpg)
Web Server
MySQL
Browser
Varnish/HAProxy
Memcached
CouchDB/MongoDB
Saturday, April 10, 2010
![Page 130: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/130.jpg)
Saturday, April 10, 2010
![Page 131: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/131.jpg)
Outros Mitos?
Saturday, April 10, 2010
![Page 132: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/132.jpg)
Saturday, April 10, 2010
![Page 133: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/133.jpg)
Mais Produtivo
“Melhor”
Anti-legadoSaturday, April 10, 2010
![Page 134: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/134.jpg)
Sempre se Lembre
Poderíamos contratar um Macaco Treinadopara fazer seu Trabalho!
Saturday, April 10, 2010
![Page 135: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/135.jpg)
Saturday, April 10, 2010
![Page 136: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/136.jpg)
Saturday, April 10, 2010
![Page 137: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/137.jpg)
Saturday, April 10, 2010
![Page 138: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/138.jpg)
Saturday, April 10, 2010
![Page 139: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/139.jpg)
Agilidade
Saturday, April 10, 2010
![Page 140: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/140.jpg)
Saturday, April 10, 2010
![Page 141: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/141.jpg)
“Rápido”
Metodologias
Saturday, April 10, 2010
![Page 142: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/142.jpg)
“Rápido”
Metodologias
Saturday, April 10, 2010
![Page 143: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/143.jpg)
“Rápido”
Metodologias
Saturday, April 10, 2010
![Page 144: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/144.jpg)
Saturday, April 10, 2010
![Page 145: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/145.jpg)
Robert C. Martin
Saturday, April 10, 2010
![Page 146: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/146.jpg)
“Uncle Bob”
Saturday, April 10, 2010
![Page 147: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/147.jpg)
Código Limpo
Saturday, April 10, 2010
![Page 148: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/148.jpg)
Saturday, April 10, 2010
![Page 149: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/149.jpg)
Test Driven Development
Saturday, April 10, 2010
![Page 150: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/150.jpg)
Saturday, April 10, 2010
![Page 151: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/151.jpg)
describe BankAccount do before :each do @bank_account = BankAccount.new :balance => 250 end it "should not be valid" do @bank_account.should be_valid end it "should transfer funds successfully" do @bank_account.should_receive(:transfer) .with_args(:amount => 100) .and_return(true) @bank_account.execute_transaction(:amount => 100) @bank_account.balance.should == 150 endend
Saturday, April 10, 2010
![Page 152: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/152.jpg)
describe BankAccount do before :each do @bank_account = BankAccount.new :balance => 250 end it "should not be valid" do @bank_account.should be_valid end it "should transfer funds successfully" do @bank_account.should_receive(:transfer) .with_args(:amount => 100) .and_return(true) @bank_account.execute_transaction(:amount => 100) @bank_account.balance.should == 150 endend
Saturday, April 10, 2010
![Page 153: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/153.jpg)
describe BankAccount do before :each do @bank_account = BankAccount.new :balance => 250 end it "should not be valid" do @bank_account.should be_valid end it "should transfer funds successfully" do @bank_account.should_receive(:transfer) .with_args(:amount => 100) .and_return(true) @bank_account.execute_transaction(:amount => 100) @bank_account.balance.should == 150 endend
Saturday, April 10, 2010
![Page 154: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/154.jpg)
describe BankAccount do before :each do @bank_account = BankAccount.new :balance => 250 end it "should not be valid" do @bank_account.should be_valid end it "should transfer funds successfully" do @bank_account.should_receive(:transfer) .with_args(:amount => 100) .and_return(true) @bank_account.execute_transaction(:amount => 100) @bank_account.balance.should == 150 endend
Saturday, April 10, 2010
![Page 155: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/155.jpg)
Saturday, April 10, 2010
![Page 156: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/156.jpg)
Funcionalidade: Adição Para evitar erros bobos Como um péssimo matemático Eu quero saber como somar dois números Cenário: Adicionar dois números Dado que eu digitei 50 na calculadora E que eu digitei 70 na calculadora Quando eu aperto o botão de soma Então o resultado na calculadora deve ser 120
Saturday, April 10, 2010
![Page 157: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/157.jpg)
Funcionalidade: Adição Para evitar erros bobos Como um péssimo matemático Eu quero saber como somar dois números Cenário: Adicionar dois números Dado que eu digitei 50 na calculadora E que eu digitei 70 na calculadora Quando eu aperto o botão de soma Então o resultado na calculadora deve ser 120
Saturday, April 10, 2010
![Page 158: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/158.jpg)
Saturday, April 10, 2010
![Page 159: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/159.jpg)
Saturday, April 10, 2010
![Page 160: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/160.jpg)
Não é mais demorado?
Saturday, April 10, 2010
![Page 161: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/161.jpg)
Cowboy Profissional
Produtividade
Saturday, April 10, 2010
![Page 162: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/162.jpg)
1 2 3 4 5 6 7 80
17.50
35.00
52.50
70.00
Produtividade
Tempo
Cowboy Profissional
Produtividade
Saturday, April 10, 2010
![Page 163: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/163.jpg)
1 2 3 4 5 6 7 80
17.50
35.00
52.50
70.00
Produtividade
Tempo
Cowboy Profissional
Produtividade
Saturday, April 10, 2010
![Page 164: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/164.jpg)
1 2 3 4 5 6 7 80
17.50
35.00
52.50
70.00
Produtividade
Tempo
Cowboy Profissional
Produtividade
Saturday, April 10, 2010
![Page 165: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/165.jpg)
1 2 3 4 5 6 7 80
17.50
35.00
52.50
70.00
Produtividade
Tempo
Cowboy Profissional
Produtividade
Saturday, April 10, 2010
![Page 166: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/166.jpg)
1 2 3 4 5 6 7 80
17.50
35.00
52.50
70.00
Produtividade
Tempo
Cowboy Profissional
Produtividade
Saturday, April 10, 2010
![Page 167: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/167.jpg)
1 2 3 4 5 6 7 80
17.50
35.00
52.50
70.00
Produtividade
Tempo
Cowboy Profissional
Produtividade
Saturday, April 10, 2010
![Page 168: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/168.jpg)
1 2 3 4 5 6 7 80
17.50
35.00
52.50
70.00
Produtividade
Tempo
Cowboy Profissional
Produtividade
Saturday, April 10, 2010
![Page 169: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/169.jpg)
1 2 3 4 5 6 7 80
17.50
35.00
52.50
70.00
Produtividade
Tempo
Cowboy Profissional
Produtividade
Saturday, April 10, 2010
![Page 170: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/170.jpg)
1 2 3 4 5 6 7 80
17.50
35.00
52.50
70.00
Produtividade
Tempo
Cowboy Profissional
Produtividade
Saturday, April 10, 2010
![Page 171: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/171.jpg)
Saturday, April 10, 2010
![Page 172: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/172.jpg)
237 Equipes137 Finalizadas
Saturday, April 10, 2010
![Page 173: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/173.jpg)
Saturday, April 10, 2010
![Page 174: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/174.jpg)
Empreendedorismo
Código e “Forma”
Ciclo de Vida de Projetos
Comunidade Open Source
Saturday, April 10, 2010
![Page 175: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/175.jpg)
Empreendedorismo
Código e “Forma”
Ciclo de Vida de Projetos
Comunidade Open Source
Saturday, April 10, 2010
![Page 176: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/176.jpg)
Empreendedorismo
Código e “Forma”
Ciclo de Vida de Projetos
Comunidade Open Source
Saturday, April 10, 2010
![Page 177: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/177.jpg)
Empreendedorismo
Código e “Forma”
Ciclo de Vida de Projetos
Comunidade Open Source
Saturday, April 10, 2010
![Page 178: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/178.jpg)
Pro!ssionalismo
Saturday, April 10, 2010
![Page 179: Edted 2010 Ruby on Rails](https://reader034.vdocument.in/reader034/viewer/2022042714/55593084d8b42a543d8b48ed/html5/thumbnails/179.jpg)
Obrigado!akitaonrails.com
Saturday, April 10, 2010