repensando o desenvolvimento web com ruby on rails

115
Ruby on Rails Repensando o Desenvolvimento Web com segunda-feira, 21 de setembro de 2009

Upload: dante-regis

Post on 24-May-2015

1.711 views

Category:

Technology


7 download

DESCRIPTION

Software Freedom Day. Em PDF

TRANSCRIPT

Page 1: Repensando o Desenvolvimento Web com Ruby on Rails

Ruby on RailsRepensando o Desenvolvimento Web com

segunda-feira, 21 de setembro de 2009

Page 2: Repensando o Desenvolvimento Web com Ruby on Rails

RailsRails

segunda-feira, 21 de setembro de 2009

Page 3: Repensando o Desenvolvimento Web com Ruby on Rails

ComunidadeComunidade

segunda-feira, 21 de setembro de 2009

Page 4: Repensando o Desenvolvimento Web com Ruby on Rails

FilosofiaFilosofia

segunda-feira, 21 de setembro de 2009

Page 5: Repensando o Desenvolvimento Web com Ruby on Rails

DanteRegis.com

@danteregis

Admin de Redes - TJ/SE

segunda-feira, 21 de setembro de 2009

Page 6: Repensando o Desenvolvimento Web com Ruby on Rails

DanteRegis.com

@danteregis

Admin de Redes - TJ/SE

http://slideshare.net/danteregis

segunda-feira, 21 de setembro de 2009

Page 7: Repensando o Desenvolvimento Web com Ruby on Rails

Você não vai aprenderRuby on Rails aqui

segunda-feira, 21 de setembro de 2009

Page 8: Repensando o Desenvolvimento Web com Ruby on Rails

framework

segunda-feira, 21 de setembro de 2009

Page 9: Repensando o Desenvolvimento Web com Ruby on Rails

segunda-feira, 21 de setembro de 2009

Page 10: Repensando o Desenvolvimento Web com Ruby on Rails

David Heinemeier Hansson2004

segunda-feira, 21 de setembro de 2009

Page 11: Repensando o Desenvolvimento Web com Ruby on Rails

37signals

segunda-feira, 21 de setembro de 2009

Page 12: Repensando o Desenvolvimento Web com Ruby on Rails

1400+desenvolvedores

segunda-feira, 21 de setembro de 2009

Page 13: Repensando o Desenvolvimento Web com Ruby on Rails

http://rubyonrails.com

segunda-feira, 21 de setembro de 2009

Page 14: Repensando o Desenvolvimento Web com Ruby on Rails

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

Page 15: Repensando o Desenvolvimento Web com Ruby on Rails

Empregos(fonte: indeed.com)

segunda-feira, 21 de setembro de 2009

Page 16: Repensando o Desenvolvimento Web com Ruby on Rails

segunda-feira, 21 de setembro de 2009

Page 17: Repensando o Desenvolvimento Web com Ruby on Rails

MVC

segunda-feira, 21 de setembro de 2009

Page 18: Repensando o Desenvolvimento Web com Ruby on Rails

opiniated

segunda-feira, 21 de setembro de 2009

Page 19: Repensando o Desenvolvimento Web com Ruby on Rails

eXtreme Programming

segunda-feira, 21 de setembro de 2009

Page 20: Repensando o Desenvolvimento Web com Ruby on Rails

TDD

segunda-feira, 21 de setembro de 2009

Page 21: Repensando o Desenvolvimento Web com Ruby on Rails

REST

segunda-feira, 21 de setembro de 2009

Page 22: Repensando o Desenvolvimento Web com Ruby on Rails

modularização

segunda-feira, 21 de setembro de 2009

Page 23: Repensando o Desenvolvimento Web com Ruby on Rails

DRY

segunda-feira, 21 de setembro de 2009

Page 24: Repensando o Desenvolvimento Web com Ruby on Rails

Convention over

Configuration

segunda-feira, 21 de setembro de 2009

Page 25: Repensando o Desenvolvimento Web com Ruby on Rails

KISS

segunda-feira, 21 de setembro de 2009

Page 26: Repensando o Desenvolvimento Web com Ruby on Rails

segunda-feira, 21 de setembro de 2009

Page 27: Repensando o Desenvolvimento Web com Ruby on Rails

script/console

segunda-feira, 21 de setembro de 2009

Page 28: Repensando o Desenvolvimento Web com Ruby on Rails

Model

segunda-feira, 21 de setembro de 2009

Page 29: Repensando o Desenvolvimento Web com Ruby on Rails

Model

segunda-feira, 21 de setembro de 2009

Page 30: Repensando o Desenvolvimento Web com Ruby on Rails

Model

segunda-feira, 21 de setembro de 2009

Page 31: Repensando o Desenvolvimento Web com Ruby on Rails

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

Page 32: Repensando o Desenvolvimento Web com Ruby on Rails

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

Page 33: Repensando o Desenvolvimento Web com Ruby on Rails

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

Page 34: Repensando o Desenvolvimento Web com Ruby on Rails

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

Page 35: Repensando o Desenvolvimento Web com Ruby on Rails

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

Page 36: Repensando o Desenvolvimento Web com Ruby on Rails

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

Page 37: Repensando o Desenvolvimento Web com Ruby on Rails

Model

segunda-feira, 21 de setembro de 2009

Page 38: Repensando o Desenvolvimento Web com Ruby on Rails

Model

INSERT INTO `products` COLUMNS (`name`, `price`, `stock`) VALUES ("Pão Jaco", 0.15, 100);

segunda-feira, 21 de setembro de 2009

Page 39: Repensando o Desenvolvimento Web com Ruby on Rails

Model

segunda-feira, 21 de setembro de 2009

Page 40: Repensando o Desenvolvimento Web com Ruby on Rails

Model

Product.first

segunda-feira, 21 de setembro de 2009

Page 41: Repensando o Desenvolvimento Web com Ruby on Rails

Model

Product.first

Product.find_all_by_category_id(10)

segunda-feira, 21 de setembro de 2009

Page 42: Repensando o Desenvolvimento Web com Ruby on Rails

Model

Product.first

Product.find_all_by_category_id(10)

Product.find_or_create_by_name("Margarina")

segunda-feira, 21 de setembro de 2009

Page 43: Repensando o Desenvolvimento Web com Ruby on Rails

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

Page 44: Repensando o Desenvolvimento Web com Ruby on Rails

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

Page 45: Repensando o Desenvolvimento Web com Ruby on Rails

validations

segunda-feira, 21 de setembro de 2009

Page 46: Repensando o Desenvolvimento Web com Ruby on Rails

associations

segunda-feira, 21 de setembro de 2009

Page 47: Repensando o Desenvolvimento Web com Ruby on Rails

instance methods

segunda-feira, 21 de setembro de 2009

Page 48: Repensando o Desenvolvimento Web com Ruby on Rails

Model

class Product < ActiveRecord::Base

end

segunda-feira, 21 de setembro de 2009

Page 49: Repensando o Desenvolvimento Web com Ruby on Rails

Model

class Product < ActiveRecord::Base

endsegunda-feira, 21 de setembro de 2009

Page 50: Repensando o Desenvolvimento Web com Ruby on Rails

Model

class Product < ActiveRecord::Base

end

belongs_to :category

segunda-feira, 21 de setembro de 2009

Page 51: Repensando o Desenvolvimento Web com Ruby on Rails

Model

class Product < ActiveRecord::Base

end

belongs_to :category validates_presence_of :name

segunda-feira, 21 de setembro de 2009

Page 52: Repensando o Desenvolvimento Web com Ruby on Rails

Model

class Product < ActiveRecord::Base

end

belongs_to :category validates_presence_of :name validates_numericality_of :stock

segunda-feira, 21 de setembro de 2009

Page 53: Repensando o Desenvolvimento Web com Ruby on Rails

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

Page 54: Repensando o Desenvolvimento Web com Ruby on Rails

segunda-feira, 21 de setembro de 2009

Page 55: Repensando o Desenvolvimento Web com Ruby on Rails

p = Product.new(:stock => "xxxxx")

segunda-feira, 21 de setembro de 2009

Page 56: Repensando o Desenvolvimento Web com Ruby on Rails

p = Product.new(:stock => "xxxxx")p.save

segunda-feira, 21 de setembro de 2009

Page 57: Repensando o Desenvolvimento Web com Ruby on Rails

p = Product.new(:stock => "xxxxx")p.save#=> false

segunda-feira, 21 de setembro de 2009

Page 58: Repensando o Desenvolvimento Web com Ruby on Rails

p = Product.firstp.categoryp.category.name = "Mudei o nome"p.category.save

segunda-feira, 21 de setembro de 2009

Page 59: Repensando o Desenvolvimento Web com Ruby on Rails

has_many

segunda-feira, 21 de setembro de 2009

Page 60: Repensando o Desenvolvimento Web com Ruby on Rails

class Category < ActiveRecord::Base has_many :productsend

segunda-feira, 21 de setembro de 2009

Page 61: Repensando o Desenvolvimento Web com Ruby on Rails

cat.productscat.products.newcat.products.first

segunda-feira, 21 de setembro de 2009

Page 62: Repensando o Desenvolvimento Web com Ruby on Rails

named scope

segunda-feira, 21 de setembro de 2009

Page 63: Repensando o Desenvolvimento Web com Ruby on Rails

class Product < ActiveRecord::Base named_scope :low_stock, :conditions => ['stock <= 10']end

segunda-feira, 21 de setembro de 2009

Page 64: Repensando o Desenvolvimento Web com Ruby on Rails

segunda-feira, 21 de setembro de 2009

Page 65: Repensando o Desenvolvimento Web com Ruby on Rails

Product.low_stock#=> [.....]

segunda-feira, 21 de setembro de 2009

Page 66: Repensando o Desenvolvimento Web com Ruby on Rails

Product.low_stock#=> [.....]

category.products.low_stock#=> [...]

segunda-feira, 21 de setembro de 2009

Page 67: Repensando o Desenvolvimento Web com Ruby on Rails

SQL?

segunda-feira, 21 de setembro de 2009

Page 68: Repensando o Desenvolvimento Web com Ruby on Rails

migrations

segunda-feira, 21 de setembro de 2009

Page 69: Repensando o Desenvolvimento Web com Ruby on Rails

controle de versão

segunda-feira, 21 de setembro de 2009

Page 70: Repensando o Desenvolvimento Web com Ruby on Rails

do banco de dados!

segunda-feira, 21 de setembro de 2009

Page 71: Repensando o Desenvolvimento Web com Ruby on Rails

sem SQL!

segunda-feira, 21 de setembro de 2009

Page 72: Repensando o Desenvolvimento Web com Ruby on Rails

segunda-feira, 21 de setembro de 2009

Page 73: Repensando o Desenvolvimento Web com Ruby on Rails

class AddQuantityToCartProduct < ActiveRecord::Migration

segunda-feira, 21 de setembro de 2009

Page 74: Repensando o Desenvolvimento Web com Ruby on Rails

class AddQuantityToCartProduct < ActiveRecord::Migration def self.up add_column :cart_products, :quantity, :integer end

segunda-feira, 21 de setembro de 2009

Page 75: Repensando o Desenvolvimento Web com Ruby on Rails

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

Page 76: Repensando o Desenvolvimento Web com Ruby on Rails

com SQL!

segunda-feira, 21 de setembro de 2009

Page 77: Repensando o Desenvolvimento Web com Ruby on Rails

> 90%experiência pessoal

segunda-feira, 21 de setembro de 2009

Page 78: Repensando o Desenvolvimento Web com Ruby on Rails

ActionController

segunda-feira, 21 de setembro de 2009

Page 79: Repensando o Desenvolvimento Web com Ruby on Rails

session

segunda-feira, 21 de setembro de 2009

Page 80: Repensando o Desenvolvimento Web com Ruby on Rails

render

segunda-feira, 21 de setembro de 2009

Page 81: Repensando o Desenvolvimento Web com Ruby on Rails

filters

segunda-feira, 21 de setembro de 2009

Page 82: Repensando o Desenvolvimento Web com Ruby on Rails

class ApplicationController < ActionController::Base before_filter :check_login def check_login render :text => "acesso negado!" endend

segunda-feira, 21 de setembro de 2009

Page 83: Repensando o Desenvolvimento Web com Ruby on Rails

flash

segunda-feira, 21 de setembro de 2009

Page 84: Repensando o Desenvolvimento Web com Ruby on Rails

flash[:notice] = "Você logou no sistema"

segunda-feira, 21 de setembro de 2009

Page 85: Repensando o Desenvolvimento Web com Ruby on Rails

cookies

segunda-feira, 21 de setembro de 2009

Page 86: Repensando o Desenvolvimento Web com Ruby on Rails

respond_to

segunda-feira, 21 de setembro de 2009

Page 87: Repensando o Desenvolvimento Web com Ruby on Rails

ActionView

segunda-feira, 21 de setembro de 2009

Page 88: Repensando o Desenvolvimento Web com Ruby on Rails

erb

segunda-feira, 21 de setembro de 2009

Page 89: Repensando o Desenvolvimento Web com Ruby on Rails

haml

segunda-feira, 21 de setembro de 2009

Page 90: Repensando o Desenvolvimento Web com Ruby on Rails

erb

segunda-feira, 21 de setembro de 2009

Page 91: Repensando o Desenvolvimento Web com Ruby on Rails

form_tagform_for

segunda-feira, 21 de setembro de 2009

Page 92: Repensando o Desenvolvimento Web com Ruby on Rails

<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

Page 93: Repensando o Desenvolvimento Web com Ruby on Rails

Tempo para falar mal de certas “soluções”

segunda-feira, 21 de setembro de 2009

Page 94: Repensando o Desenvolvimento Web com Ruby on Rails

Fim do tempo para falar mal de certas

“soluções”

segunda-feira, 21 de setembro de 2009

Page 95: Repensando o Desenvolvimento Web com Ruby on Rails

Comunidade

segunda-feira, 21 de setembro de 2009

Page 96: Repensando o Desenvolvimento Web com Ruby on Rails

RailsConfhttp://railsconf.com

segunda-feira, 21 de setembro de 2009

Page 97: Repensando o Desenvolvimento Web com Ruby on Rails

segunda-feira, 21 de setembro de 2009

Page 98: Repensando o Desenvolvimento Web com Ruby on Rails

segunda-feira, 21 de setembro de 2009

Page 99: Repensando o Desenvolvimento Web com Ruby on Rails

segunda-feira, 21 de setembro de 2009

Page 100: Repensando o Desenvolvimento Web com Ruby on Rails

segunda-feira, 21 de setembro de 2009

Page 101: Repensando o Desenvolvimento Web com Ruby on Rails

segunda-feira, 21 de setembro de 2009

Page 102: Repensando o Desenvolvimento Web com Ruby on Rails

Rails Summit Latin America

http://railssummit.com.br

segunda-feira, 21 de setembro de 2009

Page 103: Repensando o Desenvolvimento Web com Ruby on Rails

13 e 14 de outubroSão Paulo/SP

segunda-feira, 21 de setembro de 2009

Page 104: Repensando o Desenvolvimento Web com Ruby on Rails

Aldo França

segunda-feira, 21 de setembro de 2009

Page 105: Repensando o Desenvolvimento Web com Ruby on Rails

Great Blogs ‘n People

segunda-feira, 21 de setembro de 2009

Page 106: Repensando o Desenvolvimento Web com Ruby on Rails

Akita on Railshttp://akitaonrails.com

segunda-feira, 21 de setembro de 2009

Page 107: Repensando o Desenvolvimento Web com Ruby on Rails

Carlos Brandohttp://nomedojogo.com

segunda-feira, 21 de setembro de 2009

Page 108: Repensando o Desenvolvimento Web com Ruby on Rails

Ozéias Sant’anahttp://railsbox.org

segunda-feira, 21 de setembro de 2009

Page 109: Repensando o Desenvolvimento Web com Ruby on Rails

Bruno Mirandahttp://brunomiranda.com

segunda-feira, 21 de setembro de 2009

Page 110: Repensando o Desenvolvimento Web com Ruby on Rails

Ruby Ondahttp://rubyonda.com

segunda-feira, 21 de setembro de 2009

Page 111: Repensando o Desenvolvimento Web com Ruby on Rails

Nando Vieirahttp://simplesideias.com.br

segunda-feira, 21 de setembro de 2009

Page 112: Repensando o Desenvolvimento Web com Ruby on Rails

PeepCodehttp://peepcode.com

segunda-feira, 21 de setembro de 2009

Page 113: Repensando o Desenvolvimento Web com Ruby on Rails

RailsCastshttp://railscasts.com

segunda-feira, 21 de setembro de 2009

Page 114: Repensando o Desenvolvimento Web com Ruby on Rails

http://slideshare.net/danteregis

segunda-feira, 21 de setembro de 2009

Page 115: Repensando o Desenvolvimento Web com Ruby on Rails

[email protected]

segunda-feira, 21 de setembro de 2009