repensando o desenvolvimento web com ruby on rails
DESCRIPTION
Software Freedom Day. Em PDFTRANSCRIPT
Ruby on RailsRepensando o Desenvolvimento Web com
segunda-feira, 21 de setembro de 2009
RailsRails
segunda-feira, 21 de setembro de 2009
ComunidadeComunidade
segunda-feira, 21 de setembro de 2009
FilosofiaFilosofia
segunda-feira, 21 de setembro de 2009
DanteRegis.com
@danteregis
Admin de Redes - TJ/SE
segunda-feira, 21 de setembro de 2009
DanteRegis.com
@danteregis
Admin de Redes - TJ/SE
http://slideshare.net/danteregis
segunda-feira, 21 de setembro de 2009
Você não vai aprenderRuby on Rails aqui
segunda-feira, 21 de setembro de 2009
framework
segunda-feira, 21 de setembro de 2009
segunda-feira, 21 de setembro de 2009
David Heinemeier Hansson2004
segunda-feira, 21 de setembro de 2009
37signals
segunda-feira, 21 de setembro de 2009
1400+desenvolvedores
segunda-feira, 21 de setembro de 2009
http://rubyonrails.com
segunda-feira, 21 de setembro de 2009
jul/2004 0.5
dez/2005 1.0
mar/2006 1.1
jan/2007 1.2
dez/2007 2.0
jun/2008 2.1
nov/2008 2.2
mar/2009 2.3
algum dia (em 2009?) 3.0
segunda-feira, 21 de setembro de 2009
Empregos(fonte: indeed.com)
segunda-feira, 21 de setembro de 2009
segunda-feira, 21 de setembro de 2009
MVC
segunda-feira, 21 de setembro de 2009
opiniated
segunda-feira, 21 de setembro de 2009
eXtreme Programming
segunda-feira, 21 de setembro de 2009
TDD
segunda-feira, 21 de setembro de 2009
REST
segunda-feira, 21 de setembro de 2009
modularização
segunda-feira, 21 de setembro de 2009
DRY
segunda-feira, 21 de setembro de 2009
Convention over
Configuration
segunda-feira, 21 de setembro de 2009
KISS
segunda-feira, 21 de setembro de 2009
segunda-feira, 21 de setembro de 2009
script/console
segunda-feira, 21 de setembro de 2009
Model
segunda-feira, 21 de setembro de 2009
Model
segunda-feira, 21 de setembro de 2009
Model
segunda-feira, 21 de setembro de 2009
Model
id: integer
name: string
price: float
category_id: integer
stock: integer
created_at: datetime
updated_at: datetime
segunda-feira, 21 de setembro de 2009
Model
id: integer
name: string
price: float
category_id: integer
stock: integer
created_at: datetime
updated_at: datetime
x = Product.new
segunda-feira, 21 de setembro de 2009
Model
id: integer
name: string
price: float
category_id: integer
stock: integer
created_at: datetime
updated_at: datetime
x = Product.newx.name = "Pão Jacó"
segunda-feira, 21 de setembro de 2009
Model
id: integer
name: string
price: float
category_id: integer
stock: integer
created_at: datetime
updated_at: datetime
x = Product.newx.name = "Pão Jacó"x.stock = "100
segunda-feira, 21 de setembro de 2009
Model
id: integer
name: string
price: float
category_id: integer
stock: integer
created_at: datetime
updated_at: datetime
x = Product.newx.name = "Pão Jacó"x.stock = "100x.price = 0.15
segunda-feira, 21 de setembro de 2009
Model
id: integer
name: string
price: float
category_id: integer
stock: integer
created_at: datetime
updated_at: datetime
x = Product.newx.name = "Pão Jacó"x.stock = "100x.price = 0.15x.save
segunda-feira, 21 de setembro de 2009
Model
segunda-feira, 21 de setembro de 2009
Model
INSERT INTO `products` COLUMNS (`name`, `price`, `stock`) VALUES ("Pão Jaco", 0.15, 100);
segunda-feira, 21 de setembro de 2009
Model
segunda-feira, 21 de setembro de 2009
Model
Product.first
segunda-feira, 21 de setembro de 2009
Model
Product.first
Product.find_all_by_category_id(10)
segunda-feira, 21 de setembro de 2009
Model
Product.first
Product.find_all_by_category_id(10)
Product.find_or_create_by_name("Margarina")
segunda-feira, 21 de setembro de 2009
Model
Product.first
Product.find_all_by_category_id(10)
Product.find_or_create_by_name("Margarina")
Product.count
segunda-feira, 21 de setembro de 2009
Model
Product.first
Product.find_all_by_category_id(10)
Product.find_or_create_by_name("Margarina")
Product.count
Product.average('price')
segunda-feira, 21 de setembro de 2009
validations
segunda-feira, 21 de setembro de 2009
associations
segunda-feira, 21 de setembro de 2009
instance methods
segunda-feira, 21 de setembro de 2009
Model
class Product < ActiveRecord::Base
end
segunda-feira, 21 de setembro de 2009
Model
class Product < ActiveRecord::Base
endsegunda-feira, 21 de setembro de 2009
Model
class Product < ActiveRecord::Base
end
belongs_to :category
segunda-feira, 21 de setembro de 2009
Model
class Product < ActiveRecord::Base
end
belongs_to :category validates_presence_of :name
segunda-feira, 21 de setembro de 2009
Model
class Product < ActiveRecord::Base
end
belongs_to :category validates_presence_of :name validates_numericality_of :stock
segunda-feira, 21 de setembro de 2009
Model
class Product < ActiveRecord::Base
end
belongs_to :category validates_presence_of :name validates_numericality_of :stock
def consume! stock -= 1 save end
segunda-feira, 21 de setembro de 2009
segunda-feira, 21 de setembro de 2009
p = Product.new(:stock => "xxxxx")
segunda-feira, 21 de setembro de 2009
p = Product.new(:stock => "xxxxx")p.save
segunda-feira, 21 de setembro de 2009
p = Product.new(:stock => "xxxxx")p.save#=> false
segunda-feira, 21 de setembro de 2009
p = Product.firstp.categoryp.category.name = "Mudei o nome"p.category.save
segunda-feira, 21 de setembro de 2009
has_many
segunda-feira, 21 de setembro de 2009
class Category < ActiveRecord::Base has_many :productsend
segunda-feira, 21 de setembro de 2009
cat.productscat.products.newcat.products.first
segunda-feira, 21 de setembro de 2009
named scope
segunda-feira, 21 de setembro de 2009
class Product < ActiveRecord::Base named_scope :low_stock, :conditions => ['stock <= 10']end
segunda-feira, 21 de setembro de 2009
segunda-feira, 21 de setembro de 2009
Product.low_stock#=> [.....]
segunda-feira, 21 de setembro de 2009
Product.low_stock#=> [.....]
category.products.low_stock#=> [...]
segunda-feira, 21 de setembro de 2009
SQL?
segunda-feira, 21 de setembro de 2009
migrations
segunda-feira, 21 de setembro de 2009
controle de versão
segunda-feira, 21 de setembro de 2009
do banco de dados!
segunda-feira, 21 de setembro de 2009
sem SQL!
segunda-feira, 21 de setembro de 2009
segunda-feira, 21 de setembro de 2009
class AddQuantityToCartProduct < ActiveRecord::Migration
segunda-feira, 21 de setembro de 2009
class AddQuantityToCartProduct < ActiveRecord::Migration def self.up add_column :cart_products, :quantity, :integer end
segunda-feira, 21 de setembro de 2009
class AddQuantityToCartProduct < ActiveRecord::Migration def self.up add_column :cart_products, :quantity, :integer end
def self.down drop_column :cart_products, :quantity endend
segunda-feira, 21 de setembro de 2009
com SQL!
segunda-feira, 21 de setembro de 2009
> 90%experiência pessoal
segunda-feira, 21 de setembro de 2009
ActionController
segunda-feira, 21 de setembro de 2009
session
segunda-feira, 21 de setembro de 2009
render
segunda-feira, 21 de setembro de 2009
filters
segunda-feira, 21 de setembro de 2009
class ApplicationController < ActionController::Base before_filter :check_login def check_login render :text => "acesso negado!" endend
segunda-feira, 21 de setembro de 2009
flash
segunda-feira, 21 de setembro de 2009
flash[:notice] = "Você logou no sistema"
segunda-feira, 21 de setembro de 2009
cookies
segunda-feira, 21 de setembro de 2009
respond_to
segunda-feira, 21 de setembro de 2009
ActionView
segunda-feira, 21 de setembro de 2009
erb
segunda-feira, 21 de setembro de 2009
haml
segunda-feira, 21 de setembro de 2009
erb
segunda-feira, 21 de setembro de 2009
form_tagform_for
segunda-feira, 21 de setembro de 2009
<div> <span><%= flash[:notice] %></span></div><div> <% form_tag do %> <p> Usuário: <%= text_field_tag 'username' %> </p> <p> Senha: <%= password_field_tag 'password' %> </p> <p> <%= submit_tag 'Entrar' %> </p> <% end %></div>
segunda-feira, 21 de setembro de 2009
Tempo para falar mal de certas “soluções”
segunda-feira, 21 de setembro de 2009
Fim do tempo para falar mal de certas
“soluções”
segunda-feira, 21 de setembro de 2009
Comunidade
segunda-feira, 21 de setembro de 2009
RailsConfhttp://railsconf.com
segunda-feira, 21 de setembro de 2009
segunda-feira, 21 de setembro de 2009
segunda-feira, 21 de setembro de 2009
segunda-feira, 21 de setembro de 2009
segunda-feira, 21 de setembro de 2009
segunda-feira, 21 de setembro de 2009
Rails Summit Latin America
http://railssummit.com.br
segunda-feira, 21 de setembro de 2009
13 e 14 de outubroSão Paulo/SP
segunda-feira, 21 de setembro de 2009
Aldo França
segunda-feira, 21 de setembro de 2009
Great Blogs ‘n People
segunda-feira, 21 de setembro de 2009
Akita on Railshttp://akitaonrails.com
segunda-feira, 21 de setembro de 2009
Carlos Brandohttp://nomedojogo.com
segunda-feira, 21 de setembro de 2009
Ozéias Sant’anahttp://railsbox.org
segunda-feira, 21 de setembro de 2009
Bruno Mirandahttp://brunomiranda.com
segunda-feira, 21 de setembro de 2009
Ruby Ondahttp://rubyonda.com
segunda-feira, 21 de setembro de 2009
Nando Vieirahttp://simplesideias.com.br
segunda-feira, 21 de setembro de 2009
PeepCodehttp://peepcode.com
segunda-feira, 21 de setembro de 2009
RailsCastshttp://railscasts.com
segunda-feira, 21 de setembro de 2009
http://slideshare.net/danteregis
segunda-feira, 21 de setembro de 2009
segunda-feira, 21 de setembro de 2009