Ecossistema Ruby e Rails (Serpro BH)
-
Upload
daniel-lopes -
Category
Technology
-
view
2.511 -
download
1
description
Transcript of Ecossistema Ruby e Rails (Serpro BH)
![Page 1: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/1.jpg)
FILOSOFIA RUBY E RAILS
![Page 2: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/2.jpg)
@danielvlopes
![Page 9: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/9.jpg)
ENG. DE SOFTWARE CENTRADA EM MÉTODOS ÁGEIS
http://bit.ly/unapos
![Page 10: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/10.jpg)
FILOSOFIA RUBY E RAILS
![Page 11: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/11.jpg)
POR QUE ?
![Page 12: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/12.jpg)
OBRIGADO @AKITAONRAILS PELO CONTEÚDO
DE VÁRIOS SLIDES DESTA APRESENTAÇÃO
![Page 13: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/13.jpg)
O QUE EU TENHO COM ISSO?
![Page 14: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/14.jpg)
... um aclamado instrutor aplicando um curso descobriu que um de seus pupilos era um venture capitalist.
![Page 15: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/15.jpg)
Quando questionado sobre o motivo de estar em uma turma de “Ruby on Rails” ... , ele respondeu simplesmente:
![Page 16: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/16.jpg)
todas as start-ups que me procuram estão usando, eu quero descobrir qual é o “grande lance”.
Mark Gardner http://bit.ly/railsecosystem
![Page 17: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/17.jpg)
Entrevista Steve Jobs (momento entre 1:00 e 1:01): http://itunes.apple.com/us/podcast/steve- jobs-at-d8-conference/id377953458
![Page 18: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/18.jpg)
VOCÊ DEVE SE COMPORTAR COMO
UMA STARTUP
![Page 19: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/19.jpg)
![Page 20: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/20.jpg)
Ruby 1.8.7
![Page 21: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/21.jpg)
Ruby 1.8.7
Ruby 1.9.2
![Page 22: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/22.jpg)
Ruby 1.8.7
Ruby 1.9.2
Ruby on Rails 2.3.8
![Page 23: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/23.jpg)
Ruby 1.8.7
Ruby 1.9.2
Ruby on Rails 2.3.8
Ruby on Rails 3.0.0
![Page 24: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/24.jpg)
![Page 25: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/25.jpg)
![Page 26: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/26.jpg)
Yukihiro Matsumoto(criador do Ruby)
![Page 27: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/27.jpg)
“Se você terminar seu trabalho rápido e de forma divertida, isso
não é bom?”
Matz http://www.artima.com/intv/ruby3.html
![Page 28: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/28.jpg)
“Tornar as coisas simples fáceis e as coisas complexas possíveis”
![Page 29: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/29.jpg)
• 100% orientada a objetos
• Linguagem dinâmica
• Esperados 4 milhões até 2013
• FREE e Open Source
• As vezes chamada de “scripting” language
![Page 30: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/30.jpg)
![Page 31: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/31.jpg)
Eu inventei o termo “Orientação a Objetos” e posso dizer que não era C++ que eu tinha em mente.
![Page 32: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/32.jpg)
![Page 33: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/33.jpg)
Dave Thomas
![Page 34: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/34.jpg)
2001Dave Thomas
![Page 35: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/35.jpg)
![Page 36: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/36.jpg)
![Page 37: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/37.jpg)
2004
![Page 38: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/38.jpg)
“Eu sempre soube que Smalltalk substituiria Java. Só não sabia que isso se chamaria Ruby.”
Kent Beck, Criador do "Extreme Programming" e "TDD"
![Page 39: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/39.jpg)
FICAMOS EMPOLGADOS !!!
![Page 40: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/40.jpg)
![Page 41: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/41.jpg)
JAVA vs RAILS: http://www.youtube.com/watch? v=SsYKd37r26s
![Page 42: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/42.jpg)
![Page 43: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/43.jpg)
![Page 44: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/44.jpg)
JRubyCharles Nutter
![Page 45: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/45.jpg)
JRubyCharles Nutter
MacRubyL. Sansonetti
![Page 46: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/46.jpg)
JRubyCharles Nutter
JQuery/RailsYehuda Katz
MacRubyL. Sansonetti
![Page 47: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/47.jpg)
![Page 48: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/48.jpg)
![Page 49: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/49.jpg)
JRuby 1.5.X
![Page 50: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/50.jpg)
JRuby 1.5.X
Rubinius 1.0
![Page 51: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/51.jpg)
JRuby 1.5.X
Rubinius 1.0
Mac Ruby 0.6
![Page 52: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/52.jpg)
JRuby 1.5.X
Rubinius 1.0
Mac Ruby 0.6
Iron Ruby 1.0
![Page 53: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/53.jpg)
APLICANDO NA WEB
![Page 54: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/54.jpg)
![Page 55: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/55.jpg)
![Page 56: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/56.jpg)
David Heinemeier Hansson “DHH”
![Page 57: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/57.jpg)
David Heinemeier Hansson “DHH”
2004
![Page 58: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/58.jpg)
![Page 59: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/59.jpg)
![Page 60: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/60.jpg)
![Page 61: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/61.jpg)
código gerando código
![Page 62: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/62.jpg)
código gerando código
convention over configuration
![Page 63: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/63.jpg)
código gerando código
convention over configuration
don’t repeat your self
![Page 64: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/64.jpg)
código gerando código
convention over configuration
don’t repeat your self
desenvolvimento ágil
![Page 65: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/65.jpg)
EXTREME PROGRAMMING
![Page 66: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/66.jpg)
![Page 67: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/67.jpg)
recursos restful
![Page 68: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/68.jpg)
recursos restful
Unicode, TimeZone, i18n
![Page 69: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/69.jpg)
recursos restful
Unicode, TimeZone, i18n
Segurança (XSS, XSRF, Injection)
![Page 70: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/70.jpg)
![Page 71: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/71.jpg)
Templates ERB, HAML
Autenticação HTTP Basic, HTTP Digest, Devise
Bancos de Dados MongoDB, CouchDB, MySQL, PostgreSQL, Oracle
ORM’s ActiveRecord, DataMapper, MongoMapper
Javascript Prototype, jQuery, SproutCore
Web Servers Apache 2, NginX, Lighty, Litespeed
![Page 72: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/72.jpg)
Templates ERB, HAML
Autenticação HTTP Basic, HTTP Digest, Devise
Bancos de Dados MongoDB, CouchDB, MySQL, PostgreSQL, Oracle
ORM’s ActiveRecord, DataMapper, MongoMapper
Javascript Prototype, jQuery, SproutCore
Web Servers Apache 2, NginX, Lighty, Litespeed
![Page 73: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/73.jpg)
Templates ERB, HAML
Autenticação HTTP Basic, HTTP Digest, Devise
Bancos de Dados MongoDB, CouchDB, MySQL, PostgreSQL, Oracle
ORM’s ActiveRecord, DataMapper, MongoMapper
Javascript Prototype, jQuery, SproutCore
Web Servers Apache 2, NginX, Lighty, Litespeed
![Page 74: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/74.jpg)
Templates ERB, HAML
Autenticação HTTP Basic, HTTP Digest, Devise
Bancos de Dados MongoDB, CouchDB, MySQL, PostgreSQL, Oracle
ORM’s ActiveRecord, DataMapper, MongoMapper
Javascript Prototype, jQuery, SproutCore
Web Servers Apache 2, NginX, Lighty, Litespeed
![Page 75: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/75.jpg)
Templates ERB, HAML
Autenticação HTTP Basic, HTTP Digest, Devise
Bancos de Dados MongoDB, CouchDB, MySQL, PostgreSQL, Oracle
ORM’s ActiveRecord, DataMapper, MongoMapper
Javascript Prototype, jQuery, SproutCore
Web Servers Apache 2, NginX, Lighty, Litespeed
![Page 76: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/76.jpg)
Templates ERB, HAML
Autenticação HTTP Basic, HTTP Digest, Devise
Bancos de Dados MongoDB, CouchDB, MySQL, PostgreSQL, Oracle
ORM’s ActiveRecord, DataMapper, MongoMapper
Javascript Prototype, jQuery, SproutCore
Web Servers Apache 2, NginX, Lighty, Litespeed
![Page 77: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/77.jpg)
![Page 78: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/78.jpg)
![Page 79: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/79.jpg)
![Page 80: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/80.jpg)
![Page 81: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/81.jpg)
![Page 82: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/82.jpg)
![Page 83: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/83.jpg)
![Page 84: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/84.jpg)
![Page 85: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/85.jpg)
![Page 86: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/86.jpg)
![Page 87: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/87.jpg)
![Page 88: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/88.jpg)
![Page 89: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/89.jpg)
class Post < ActiveRecord::Base # ASSOCIATIONS has_and_belongs_to_many :categories belongs_to :author has_many :comments, :dependent => :destroy
# VALIDATIONS validates_presence_of :title, :body, :author, :slug, :published_at validates_uniqueness_of :slug validates_inclusion_of :draft, :in => [true, false] validates_associated :author
# SCOPES (custom queries) default_scope :order => 'published_at DESC' scope :published, lambda { where(:draft => false) }
# CALLBACKS before_validation :generate_slug
protected def generate_slug self.slug = title unless slug.present? self.slug = slug.parameterize endend
model
![Page 90: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/90.jpg)
<%= form_for [ post, comment ], :remote => true do |f| %> <%= error_messages_for comment %> <div class="field"> <%= f.label :author %><br /> <%= f.text_field :author %> </div>
<div class="field"> <%= f.label :url %><br /> <%= f.text_field :url %> </div>
<div class="field"> <%= f.label :body %><br /> <%= f.text_area :body, :rows => 10, :cols => 90 %> </div>
<%= render "submit_or_cancel" %><% end %>
views
![Page 91: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/91.jpg)
class Admin::PostCategoriesController < ApplicationController def index @categories = PostCategory.all respond_with @categories end
def show @category = PostCategory.find(params[:id]) respond_with @category end
def new @category = PostCategory.new respond_with @category end
def edit @category = PostCategory.find(params[:id]) end
def create @category = PostCategory.new(params[:post_category]) flash[:notice] = 'Category was successfully created.' if @category.save respond_with @post end
def update end
def destroy endend
controller
![Page 92: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/92.jpg)
CLEAN CODE
![Page 93: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/93.jpg)
![Page 94: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/94.jpg)
![Page 95: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/95.jpg)
![Page 96: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/96.jpg)
![Page 97: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/97.jpg)
190
40VS
![Page 98: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/98.jpg)
![Page 99: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/99.jpg)
Eles servem mais de 23 milhões de visitantes/mês.
![Page 100: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/100.jpg)
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
![Page 101: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/101.jpg)
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 dificuldade que tinham em manutenção.
![Page 102: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/102.jpg)
“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 dificuldade que tinham em manutenção. Eles
também finalizaram 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.”
http://www.railsonwave.com/railsonwave/2008/6/4/yellowpages-com-migrates-to-rails
![Page 103: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/103.jpg)
ECOSSISTEMA
![Page 104: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/104.jpg)
![Page 105: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/105.jpg)
Repositórios Github e Codebase
Integração Contínua Hudson, Cruise, CI Joe
Deploy Chef, Puppet, Capistrano
Monitoramento NewRelic, Scout, BackupMyApp
![Page 106: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/106.jpg)
Repositórios Github e Codebase
Integração Contínua Hudson, Cruise, CI Joe
Deploy Chef, Puppet, Capistrano
Monitoramento NewRelic, Scout, BackupMyApp
![Page 107: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/107.jpg)
Repositórios Github e Codebase
Integração Contínua Hudson, Cruise, CI Joe
Deploy Chef, Puppet, Capistrano
Monitoramento NewRelic, Scout, BackupMyApp
![Page 108: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/108.jpg)
Repositórios Github e Codebase
Integração Contínua Hudson, Cruise, CI Joe
Deploy Chef, Puppet, Capistrano
Monitoramento NewRelic, Scout, BackupMyApp
![Page 109: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/109.jpg)
![Page 110: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/110.jpg)
![Page 111: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/111.jpg)
source 'http://rubygems.org'
gem 'rails', '3.0.0.rc'gem 'devise', '1.1.1'gem 'paperclip', '2.3.3'gem 'menu_builder', '0.3.3'gem 'RedCloth', '4.2.3'gem 'will_paginate', '3.0.pre2'gem 'reverse_captcha', '0.0.1'gem 'capistrano', '2.5.19'gem 'mysql', '2.8.1'
group :development do gem 'sqlite3-ruby', :require => 'sqlite3' gem "rspec", ">=2.0.0.beta.11" gem "rspec-rails", ">=2.0.0.beta.11" gem "ruby-debug"end
group :test do gem 'capybara' gem 'database_cleaner' gem 'steak', '>= 0.4.0.beta.1' gem 'factory_girl_rails'end
Gemfile
![Page 112: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/112.jpg)
COMO ACHAR ?
![Page 113: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/113.jpg)
![Page 114: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/114.jpg)
DEPLOY
![Page 115: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/115.jpg)
![Page 116: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/116.jpg)
deploy.rbset :application, "producer"set :ip_address , "208.88.125.20"
# GIT SETTINGSset :scm, :gitset :repository, "[email protected]:danielvlopes/producer.git"set :branch, "master"set :deploy_via, :remote_cache
# SSH SETTINGSset :user , "rails"set :deploy_to, "/home/rails/#{application}"set :shared_directory, "#{deploy_to}/shared"set :use_sudo, falseset :group_writable, falsedefault_run_options[:pty] = true
# ROLESrole :app, ip_addressrole :web, ip_addressrole :db, ip_address, :primary => true
# HOOKSafter 'deploy:setup', 'db:setup'
after 'deploy:update_code' do db.symlink assets.symlinkend
![Page 117: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/117.jpg)
![Page 118: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/118.jpg)
TESTES
![Page 119: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/119.jpg)
![Page 120: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/120.jpg)
RSpec Steak
Cucumber Test::Unit
Minitest Bacon Should
Factory Girl Fabrication
Machinist Mocha RR
![Page 121: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/121.jpg)
Feature: Authenticate In order to see my previous links As a user I want to be able to create an account
Scenario: Creating a new account Given I am not authenticated When I go to register And I fill in the following: | Email | [email protected] | | Password | 123456 | | Password confirmation | 123456 | And I press "Sign up" Then I should see "You have signed up successfully"
Cucumber
http://github.com/danielvlopes/buggy/blob/master/features/authenticate.feature
![Page 122: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/122.jpg)
feature "Catalog", %q{ In order to display a catalog in devices As registered publisher I want to manage a catalog.} do
background do ensure_not_logged_in @owner = Factory :app, :name => "1Password" end
scenario "Create catalog for 1Password", :js => true do visit new_catalog_page_for(@owner)
select "shelf/metal", :from => "Theme" fill_in "Title", :with => "Appextras"
drag_to_catalog available_app click "Create Catalog"
should_have_notice "Catalog was successfully created." end
Steak
![Page 123: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/123.jpg)
describe Guest do before do @room = Room.new("Room 35", Type::Master.new) @hosting = Hosting.new(@room, 5) @guest = Guest.new("Daniel Lopes", @hosting) end
it "should have a name" do assert_equal "Daniel Lopes", @guest.name end
describe "when print the invoice" do it "should have the guest name" do assert_match /Daniel Lopes/, @guest.invoice end
it "should have the room name" do assert_match /Room 35/, @guest.invoice end
it "should have the total amount" do assert_match /Valor total: 1000/, @guest.invoice end
it "should have the discount points earned with that hosting" do assert_match /Você ganhou 6 ponto\(s\)/, @guest.invoice end endend
Minispec
![Page 124: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/124.jpg)
COMUNIDADE
![Page 125: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/125.jpg)
guides.rubyonrails.org
![Page 126: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/126.jpg)
peepcode.com
![Page 127: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/127.jpg)
railscasts.com
![Page 128: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/128.jpg)
akitaonrails.com
![Page 129: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/129.jpg)
egenial.com.br/cursos
![Page 130: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/130.jpg)
github.com
![Page 131: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/131.jpg)
![Page 132: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/132.jpg)
MITOS
![Page 133: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/133.jpg)
![Page 134: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/134.jpg)
Ruby é Lento
![Page 135: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/135.jpg)
http://programmingzen.com/?s=benchmark
![Page 136: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/136.jpg)
slideshare.net
![Page 137: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/137.jpg)
![Page 138: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/138.jpg)
Home 331 ms
Total 5.45 ms
http://railsmg.org/meetings/1
![Page 139: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/139.jpg)
![Page 140: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/140.jpg)
Rails NÃO ESCALA
![Page 141: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/141.jpg)
![Page 142: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/142.jpg)
Friendster foi escrito em Java e mudaram para PHP.
MySpace foi escrito em ColdFusion e mudaram ASP.NET.
Quando as pessoas caem em problemas de escalabilidade, normalmente acham que a linguagem é o problema, mas eu acho que isso raramente é a realidade.
http://www.akitaonrails.com/2008/6/17/chatting-with-blaine-cook-twitter
![Page 143: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/143.jpg)
“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.”
http://www.computerworld.com.au/article/268003/ruby_rails_rolls_into_enterprise?fp=16&fpid=1
![Page 144: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/144.jpg)
RAILS é a SALVAÇÃO
![Page 145: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/145.jpg)
![Page 146: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/146.jpg)
![Page 147: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/147.jpg)
![Page 148: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/148.jpg)
VAMOS SER AGILE
![Page 149: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/149.jpg)
![Page 150: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/150.jpg)
![Page 151: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/151.jpg)
![Page 152: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/152.jpg)
![Page 153: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/153.jpg)
![Page 154: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/154.jpg)
![Page 155: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/155.jpg)
![Page 156: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/156.jpg)
![Page 157: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/157.jpg)
![Page 158: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/158.jpg)
![Page 161: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/161.jpg)
Recapitulando
![Page 162: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/162.jpg)
entregue rápido
![Page 163: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/163.jpg)
entregue pouco, mas sempre
![Page 164: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/164.jpg)
mas com qualidade para manutenção
![Page 165: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/165.jpg)
Rails e Ruby vão ajudar MUITO mas não fazem milagres
![Page 166: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/166.jpg)
todas as start-ups que me procuram estão usando, eu quero descobrir qual é o “grande lance”.
![Page 167: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/167.jpg)
o “grande lance” é que Rails é uma ferramentapara empreendedores.
![Page 168: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/168.jpg)
![Page 169: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/169.jpg)
![Page 170: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/170.jpg)
MUITO OBRIGADO
![Page 171: Ecossistema Ruby e Rails (Serpro BH)](https://reader036.fdocuments.net/reader036/viewer/2022062613/5408f8278d7f7263058b45d9/html5/thumbnails/171.jpg)
CURSOS
egenial.com.br/cursorails
egenial.com.br/imersaorubyonrails
CONTATOS
blog.areacriacoes.com.br
twitter @danielvlopes