Transcript
Page 1: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

2009, ano do Ruby on Rails no Brasil

Sunday, November 8, 2009

Page 2: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Cauê [email protected]

@caueguerra

Sunday, November 8, 2009

Page 3: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 4: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Ruby

Sunday, November 8, 2009

Page 5: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Yukihiro Matsumoto (Matz)

“Often people, especially computer engineers, focus on the machines. But in fact we need to focus on humans, on how humans care about doing programming or operating the application of the machines. We are the masters. They are the slaves.”

Sunday, November 8, 2009

Page 6: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Características

Sunday, November 8, 2009

Page 7: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Orientada a Objetos 2.times { puts “Olá” }

Características

Sunday, November 8, 2009

Page 8: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Orientada a Objetos

Tipagem dinâmica

2.times { puts “Olá” }

@nome = “Cauê Guerra”

Características

Sunday, November 8, 2009

Page 9: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Orientada a Objetos

Tipagem dinâmica

2.times { puts “Olá” }

@nome = “Cauê Guerra”

Características

Meta-programação Código que gera código

Sunday, November 8, 2009

Page 10: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Orientada a Objetos

Tipagem dinâmica

2.times { puts “Olá” }

@nome = “Cauê Guerra”

Características

Meta-programação

Programação funcional

Código que gera código

Sunday, November 8, 2009

Page 11: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Exemplo

Sunday, November 8, 2009

Page 12: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

class CalculadorDeMDC { public int calcula(int a, int b) { if (b == 0) return a; else return calcula(b, a % b); }}

CalculadorDeMDC calculador = new CalculadorDeMDC();System.out.println(calculador.calcula(28, 7));

Java

Sunday, November 8, 2009

Page 13: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Rubyclass CalculadorDeMDC def calcula(a, b) if b == 0 a else calcula(b, a % b) end endend

calculador = CalculadorDeMDC.newputs calculador.calcula(28, 7)

Sunday, November 8, 2009

Page 14: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Um outro exemplo

Sunday, November 8, 2009

Page 15: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

public String[] paraMaiuscula(String[] palavras) { String[] resposta = new String[palavras.length]; for (int i = 0; i < palavras.length; i++) resposta[i] = palavras[i].toUpperCase(); return resposta;}

Java

Sunday, November 8, 2009

Page 16: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Ruby

def paraMaiuscula(palavras) palavras.map { |palavra| palavra.upcase }end

Sunday, November 8, 2009

Page 17: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

“Tornar as coisas simples, fáceis; e as complexas,

possíveis”Filosofia Ruby

Sunday, November 8, 2009

Page 18: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

1995Sunday, November 8, 2009

Page 19: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

2001

Dave Thomas

Sunday, November 8, 2009

Page 20: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

RubyConf 2001

Sunday, November 8, 2009

Page 21: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

http://www.ruby-lang.org

Sunday, November 8, 2009

Page 22: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Thomas Enebo 2006

Sunday, November 8, 2009

Page 23: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 24: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 25: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 26: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 27: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

WTF?!?

Sunday, November 8, 2009

Page 28: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

WTF?!?

Sunday, November 8, 2009

Page 29: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 30: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 31: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 32: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 33: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 34: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 35: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

- Busca textual- Autenticação- Autorização- Processamento assíncrono- Mensageria- WebServices...

Sunday, November 8, 2009

Page 36: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

http://rubyonrails.org/

Sunday, November 8, 2009

Page 37: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Pilares

Sunday, November 8, 2009

Page 38: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Convention over Configuration

CoCSunday, November 8, 2009

Page 39: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

DRYDon’t Repeat Yourself

Sunday, November 8, 2009

Page 40: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

MVCSunday, November 8, 2009

Page 41: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Browser

Sunday, November 8, 2009

Page 42: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Browser

ApplicationController

Sunday, November 8, 2009

Page 43: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Browser

ApplicationController

Controller

Sunday, November 8, 2009

Page 44: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Browser

ApplicationController

Controller Model

Sunday, November 8, 2009

Page 45: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Browser

ApplicationController

Controller Model DB

Sunday, November 8, 2009

Page 46: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Browser

ApplicationController

Controller Model DB

Sunday, November 8, 2009

Page 47: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Browser

ApplicationController

Controller Model DB

Sunday, November 8, 2009

Page 48: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Browser

ApplicationController

Controller Model DBView

Sunday, November 8, 2009

Page 49: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 50: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

AplicaçãoConfiguraçõesSchema evolution

Testes

Sunday, November 8, 2009

Page 51: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Model

View

Controller

Sunday, November 8, 2009

Page 52: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

TestesSunday, November 8, 2009

Page 53: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

TestesTest All The Fucking Time!

Sunday, November 8, 2009

Page 54: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

TDDBDD

Test Driven Development

Behavior Driven Development

Sunday, November 8, 2009

Page 55: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

it "should require acceptance of terms of service" do @job.attributes = valid_job_attributes.except(:terms_accepted) @job.should_not be_valid @job.terms_accepted = false @job.should_not be_valid @job.terms_accepted = true @job.should be_validend

RSpec

Sunday, November 8, 2009

Page 56: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Feature: Job listing In order to see the job offers in my area and start working As a user I want to see a list of jobs filtered by type and location

Scenario: Listing when there is no jobs Given there is no jobs When I go to "java" Then I should see "Desculpe, não existem vagas disponíveis." And the "OndeTrabalhar.com" field should contain "java"

Cucumber

Sunday, November 8, 2009

Page 57: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Rails 3 = +

Sunday, November 8, 2009

Page 58: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Yehuda Katz

Sunday, November 8, 2009

Page 59: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

José Valim

Sunday, November 8, 2009

Page 60: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Por que não aprender Rails?

Sunday, November 8, 2009

Page 61: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Rails não escala!

Sunday, November 8, 2009

Page 62: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Hoje o Redeparede.com serve 7,5 milhões de acessos por mês usando Ruby on Rails. Rails escala, depende de você!

Sunday, November 8, 2009

Page 63: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

“Basecamp is now handling more than 50 million Rails requests per week. We're peaking out at around 200

req/sec. Damn!”

“Basecamp's average response time is 90ms and 87% of all requests

finish in less than 200ms.”

Sunday, November 8, 2009

Page 64: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Não conheço ninguém que use Rails

Sunday, November 8, 2009

Page 65: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 66: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 67: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 68: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 69: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 70: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 71: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 72: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 73: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

http://www.workingwithrails.com/high-profile-organisations

Sunday, November 8, 2009

Page 74: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 75: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Martin Fowler

41 projetos Ruby de 2006 a 2008 - a maioria usando

Rails

Sunday, November 8, 2009

Page 76: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Ruby é mais produtivo?

Negativo 0 20% 50% 2X 5X 10X

1

5

13

5

3

2

1

Sunday, November 8, 2009

Page 77: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Ruby foi a escolha certa?

sim36

não5

Sunday, November 8, 2009

Page 78: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 79: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

“As empresas estão cheias de guardas,

impedindo as pessoas de mudar!”

Sunday, November 8, 2009

Page 80: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 81: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 82: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 83: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 84: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 85: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 86: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 87: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 88: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 89: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Regis Pires

IFPI - Piauí

Sunday, November 8, 2009

Page 90: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 91: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 92: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 93: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

2Sunday, November 8, 2009

Page 94: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

3Sunday, November 8, 2009

Page 95: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Formação Rails

RR-71: Desenvolvimento Ágil para Web 2.0 com Ruby on Rails

RR-75: Ruby e Rails avançados: lidando com problemas do dia a dia

Sunday, November 8, 2009

Page 96: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

0

38

75

113

150

10

72

113

2007

2008

2009

Sunday, November 8, 2009

Page 97: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

E daí?

Sunday, November 8, 2009

Page 98: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

http://ondetrabalhar.com/ruby+ou+rails

Sunday, November 8, 2009

Page 99: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 100: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Sunday, November 8, 2009

Page 101: 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

http://slideshare.net/caueguerra

Sunday, November 8, 2009


Recommended