SlideShare una empresa de Scribd logo
1 de 110
Descargar para leer sin conexión
Ruby on Rails

quarta-feira, 29 de setembro de 2010
Web

quarta-feira, 29 de setembro de 2010
15
                                       anos

quarta-feira, 29 de setembro de 2010
Aplicações



quarta-feira, 29 de setembro de 2010
quarta-feira, 29 de setembro de 2010
quarta-feira, 29 de setembro de 2010
quarta-feira, 29 de setembro de 2010
quarta-feira, 29 de setembro de 2010
quarta-feira, 29 de setembro de 2010
Browser



quarta-feira, 29 de setembro de 2010
Mozilla Firefox




quarta-feira, 29 de setembro de 2010
Google Chrome




quarta-feira, 29 de setembro de 2010
Apple Safari




quarta-feira, 29 de setembro de 2010
Software mais
                                        importante


quarta-feira, 29 de setembro de 2010
quarta-feira, 29 de setembro de 2010
Altas Expectativas



quarta-feira, 29 de setembro de 2010
Interação Constante



quarta-feira, 29 de setembro de 2010
Inteligência



quarta-feira, 29 de setembro de 2010
Facilidade de Uso



quarta-feira, 29 de setembro de 2010
Essenciais para o
                                           negócio


quarta-feira, 29 de setembro de 2010
Como funciona uma
                              aplicação web?


quarta-feira, 29 de setembro de 2010
quarta-feira, 29 de setembro de 2010
Internet




quarta-feira, 29 de setembro de 2010
Internet




quarta-feira, 29 de setembro de 2010
Internet




quarta-feira, 29 de setembro de 2010
Internet




quarta-feira, 29 de setembro de 2010
Internet




quarta-feira, 29 de setembro de 2010
Internet




quarta-feira, 29 de setembro de 2010
Internet




quarta-feira, 29 de setembro de 2010
Internet




quarta-feira, 29 de setembro de 2010
Internet




quarta-feira, 29 de setembro de 2010
Internet




quarta-feira, 29 de setembro de 2010
Internet




quarta-feira, 29 de setembro de 2010
Internet




quarta-feira, 29 de setembro de 2010
Internet




quarta-feira, 29 de setembro de 2010
Internet




quarta-feira, 29 de setembro de 2010
/cgi-bin/



quarta-feira, 29 de setembro de 2010
quarta-feira, 29 de setembro de 2010
quarta-feira, 29 de setembro de 2010
quarta-feira, 29 de setembro de 2010
quarta-feira, 29 de setembro de 2010
desenvolvimento
                                          frustrante


quarta-feira, 29 de setembro de 2010
Ruby on Rails

quarta-feira, 29 de setembro de 2010
framework



quarta-feira, 29 de setembro de 2010
quarta-feira, 29 de setembro de 2010
1400+           desenvolvedores




quarta-feira, 29 de setembro de 2010
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
                                       ago/2010   3.0


quarta-feira, 29 de setembro de 2010
e daí?



quarta-feira, 29 de setembro de 2010
quarta-feira, 29 de setembro de 2010
MVC
quarta-feira, 29 de setembro de 2010
apresentação
                                               x
                                       regras de negócio


quarta-feira, 29 de setembro de 2010
Don’t Repeat Yourself



quarta-feira, 29 de setembro de 2010
Convention
                                       over

                    Configuration
quarta-feira, 29 de setembro de 2010
quarta-feira, 29 de setembro de 2010
SQL



quarta-feira, 29 de setembro de 2010
Model



quarta-feira, 29 de setembro de 2010
Model




quarta-feira, 29 de setembro de 2010
Model




quarta-feira, 29 de setembro de 2010
Model




quarta-feira, 29 de setembro de 2010
Model
                         id: integer

                      name: string

                        price: float

              category_id: integer

                     stock: integer

              created_at: datetime

             updated_at: datetime




quarta-feira, 29 de setembro de 2010
Model
                         id: integer

                      name: string
                                       x = Product.new
                        price: float

              category_id: integer

                     stock: integer

              created_at: datetime

             updated_at: datetime




quarta-feira, 29 de setembro de 2010
Model
                         id: integer

                      name: string
                                       x = Product.new
                        price: float    x.name = "Pão Jacó"
              category_id: integer

                     stock: integer

              created_at: datetime

             updated_at: datetime




quarta-feira, 29 de setembro de 2010
Model
                         id: integer

                      name: string
                                       x = Product.new
                        price: float    x.name = "Pão Jacó"
              category_id: integer     x.stock = "100
                     stock: integer

              created_at: datetime

             updated_at: datetime




quarta-feira, 29 de setembro de 2010
Model
                         id: integer

                      name: string
                                       x = Product.new
                        price: float    x.name = "Pão Jacó"
              category_id: integer     x.stock = "100
                     stock: integer    x.price = 0.15
              created_at: datetime

             updated_at: datetime




quarta-feira, 29 de setembro de 2010
Model
                         id: integer

                      name: string
                                       x = Product.new
                        price: float    x.name = "Pão Jacó"
              category_id: integer     x.stock = "100
                     stock: integer    x.price = 0.15
              created_at: datetime     x.save
             updated_at: datetime




quarta-feira, 29 de setembro de 2010
Model




quarta-feira, 29 de setembro de 2010
Model



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




quarta-feira, 29 de setembro de 2010
Model




quarta-feira, 29 de setembro de 2010
Model

      Product.first




quarta-feira, 29 de setembro de 2010
Model

      Product.first

      Product.find_all_by_category_id(10)




quarta-feira, 29 de setembro de 2010
Model

      Product.first

      Product.find_all_by_category_id(10)

      Product.find_or_create_by_name("Margarina")




quarta-feira, 29 de setembro de 2010
Model

      Product.first

      Product.find_all_by_category_id(10)

      Product.find_or_create_by_name("Margarina")

      Product.count




quarta-feira, 29 de setembro de 2010
Model

      Product.first

      Product.find_all_by_category_id(10)

      Product.find_or_create_by_name("Margarina")

      Product.count

      Product.average('price')



quarta-feira, 29 de setembro de 2010
has_many



quarta-feira, 29 de setembro de 2010
class Category < ActiveRecord::Base
                       has_many :products
                     end




quarta-feira, 29 de setembro de 2010
cat.products
                                       cat.products.new
                                       cat.products.first




quarta-feira, 29 de setembro de 2010
validations



quarta-feira, 29 de setembro de 2010
Roteamento



quarta-feira, 29 de setembro de 2010
Controller



quarta-feira, 29 de setembro de 2010
Sessões



quarta-feira, 29 de setembro de 2010
Filtros



quarta-feira, 29 de setembro de 2010
class ApplicationController < ActionController::Base
  before_filter :check_login

  def check_login
    render :text => "acesso negado!"
  end
end




quarta-feira, 29 de setembro de 2010
Flash



quarta-feira, 29 de setembro de 2010
flash[:notice] = "Você logou no sistema"




quarta-feira, 29 de setembro de 2010
cookies



quarta-feira, 29 de setembro de 2010
respond_to



quarta-feira, 29 de setembro de 2010
View



quarta-feira, 29 de setembro de 2010
<%= flash[:notice] %>
            <% form_tag do %>
                  Usuário: <%= text_field_tag 'username' %>
                  Senha: <%= password_field_tag 'password' %>
                  <%= submit_tag 'Entrar' %>
            <% end %>




quarta-feira, 29 de setembro de 2010
Comunidade
quarta-feira, 29 de setembro de 2010
RailsConf
                                       http://railsconf.com




quarta-feira, 29 de setembro de 2010
quarta-feira, 29 de setembro de 2010
quarta-feira, 29 de setembro de 2010
quarta-feira, 29 de setembro de 2010
quarta-feira, 29 de setembro de 2010
quarta-feira, 29 de setembro de 2010
RubyConf Brasil
                                         http://rubyconf.com.br



quarta-feira, 29 de setembro de 2010
26 e 27 de outubro
                                       São Paulo/SP




quarta-feira, 29 de setembro de 2010
Great Resources



quarta-feira, 29 de setembro de 2010
PeepCode
                                       http://peepcode.com




quarta-feira, 29 de setembro de 2010
RailsCasts
                                       http://railscasts.com




quarta-feira, 29 de setembro de 2010
Ruby Onda
                                       http://rubyonda.com




quarta-feira, 29 de setembro de 2010
Akita on Rails
                                        http://akitaonrails.com




quarta-feira, 29 de setembro de 2010
Carlos Brando
                                        http://nomedojogo.com




quarta-feira, 29 de setembro de 2010
Ozéias Sant’ana
                                          http://railsbox.org




quarta-feira, 29 de setembro de 2010
Bruno Miranda
                                        http://brunomiranda.com




quarta-feira, 29 de setembro de 2010
Nando Vieira
                                       http://simplesideias.com.br




quarta-feira, 29 de setembro de 2010
Aldo França



quarta-feira, 29 de setembro de 2010
Aldo França
quarta-feira, 29 de setembro de 2010
DanteRegis.com
                                            @danteregis

                                       Admin de Redes - TJ/SE




quarta-feira, 29 de setembro de 2010
DanteRegis.com
                                                        @danteregis

                                                   Admin de Redes - TJ/SE




                               http://slideshare.net/danteregis

quarta-feira, 29 de setembro de 2010

Más contenido relacionado

Destacado

ThingTank @ MIT-Skoltech Innovation Symposium 2014
ThingTank @ MIT-Skoltech Innovation Symposium 2014ThingTank @ MIT-Skoltech Innovation Symposium 2014
ThingTank @ MIT-Skoltech Innovation Symposium 2014
Neil Rubens
 
Arquiteturas de software para computação ubiqua
Arquiteturas de software para computação ubiquaArquiteturas de software para computação ubiqua
Arquiteturas de software para computação ubiqua
Rubens Matos Junior
 
Mini-curso de git -- SECOMP-UFS
Mini-curso de git -- SECOMP-UFSMini-curso de git -- SECOMP-UFS
Mini-curso de git -- SECOMP-UFS
Felipe Carvalho
 
O Estrategista Criativo - Bravura, Generosidade e Planejamento
O Estrategista Criativo - Bravura, Generosidade e PlanejamentoO Estrategista Criativo - Bravura, Generosidade e Planejamento
O Estrategista Criativo - Bravura, Generosidade e Planejamento
Daniel Caldas
 

Destacado (20)

IBECC - Contratos Empresariais - Revisão e Controle
IBECC - Contratos Empresariais - Revisão e ControleIBECC - Contratos Empresariais - Revisão e Controle
IBECC - Contratos Empresariais - Revisão e Controle
 
Aula06 matriz em C
Aula06 matriz em CAula06 matriz em C
Aula06 matriz em C
 
Ecossistemas de startups nordestinos os desafios para a competitividade (2)
Ecossistemas de startups nordestinos  os desafios para a competitividade (2)Ecossistemas de startups nordestinos  os desafios para a competitividade (2)
Ecossistemas de startups nordestinos os desafios para a competitividade (2)
 
História do Escritório Virtual de Aracaju
História do Escritório Virtual de AracajuHistória do Escritório Virtual de Aracaju
História do Escritório Virtual de Aracaju
 
ThingTank @ MIT-Skoltech Innovation Symposium 2014
ThingTank @ MIT-Skoltech Innovation Symposium 2014ThingTank @ MIT-Skoltech Innovation Symposium 2014
ThingTank @ MIT-Skoltech Innovation Symposium 2014
 
MySQL - copiando, movendo e restaurando dados
MySQL - copiando, movendo e restaurando dadosMySQL - copiando, movendo e restaurando dados
MySQL - copiando, movendo e restaurando dados
 
Seminario - Versão Final
Seminario - Versão FinalSeminario - Versão Final
Seminario - Versão Final
 
Google+ Para Empresas - GBG Aracaju - Tiago Araujo Melo
Google+ Para Empresas - GBG Aracaju - Tiago Araujo MeloGoogle+ Para Empresas - GBG Aracaju - Tiago Araujo Melo
Google+ Para Empresas - GBG Aracaju - Tiago Araujo Melo
 
Palestra - Bem vindo a era pós-digital: Empreendendo em um ambiente mutante.
Palestra - Bem vindo a era pós-digital: Empreendendo em um ambiente mutante.Palestra - Bem vindo a era pós-digital: Empreendendo em um ambiente mutante.
Palestra - Bem vindo a era pós-digital: Empreendendo em um ambiente mutante.
 
Arquiteturas de software para computação ubiqua
Arquiteturas de software para computação ubiquaArquiteturas de software para computação ubiqua
Arquiteturas de software para computação ubiqua
 
Introdução ao scrum
Introdução ao scrumIntrodução ao scrum
Introdução ao scrum
 
Social Web Studies - What kind of collaboration is right for your business
Social Web Studies - What kind of collaboration is right for your businessSocial Web Studies - What kind of collaboration is right for your business
Social Web Studies - What kind of collaboration is right for your business
 
Web 2.0 Collaboration – Using digital tools for redesigning governance
Web 2.0 Collaboration – Using digital tools for redesigning governanceWeb 2.0 Collaboration – Using digital tools for redesigning governance
Web 2.0 Collaboration – Using digital tools for redesigning governance
 
Apresentação ForkInSergipe
Apresentação ForkInSergipeApresentação ForkInSergipe
Apresentação ForkInSergipe
 
HCI Korea 2012 Keynote Talk on Model-Driven Research in Social Computing
HCI Korea 2012 Keynote Talk on Model-Driven Research in Social ComputingHCI Korea 2012 Keynote Talk on Model-Driven Research in Social Computing
HCI Korea 2012 Keynote Talk on Model-Driven Research in Social Computing
 
15 perfis que merecem FOLLOW dos Administradores Y
15 perfis que merecem FOLLOW dos Administradores Y15 perfis que merecem FOLLOW dos Administradores Y
15 perfis que merecem FOLLOW dos Administradores Y
 
Mini-curso de git -- SECOMP-UFS
Mini-curso de git -- SECOMP-UFSMini-curso de git -- SECOMP-UFS
Mini-curso de git -- SECOMP-UFS
 
Como Python ajudou a automatizar o nosso laboratório v.2
Como Python ajudou a automatizar o nosso laboratório v.2Como Python ajudou a automatizar o nosso laboratório v.2
Como Python ajudou a automatizar o nosso laboratório v.2
 
O Estrategista Criativo - Bravura, Generosidade e Planejamento
O Estrategista Criativo - Bravura, Generosidade e PlanejamentoO Estrategista Criativo - Bravura, Generosidade e Planejamento
O Estrategista Criativo - Bravura, Generosidade e Planejamento
 
Web 2.0 Collective Intelligence - How to use collective intelligence techniqu...
Web 2.0 Collective Intelligence - How to use collective intelligence techniqu...Web 2.0 Collective Intelligence - How to use collective intelligence techniqu...
Web 2.0 Collective Intelligence - How to use collective intelligence techniqu...
 

Último

Último (6)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 

Ruby on rails - CEFET de Lagarto