SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
UMA (BREVE) INTRODUÇÃO
               LAILSON BANDEIRA
                    THIAGO DINIZ




RUBY
& RAILS
REQUISITOS
Programação

  Orientação a objetos

     Desenvolvimento web
linguagem


   RUBY
ON RAILS    framework web
1995

       Japão

RUBY   Yukihiro
       Matsumoto

       1.9.2 – 1.8.7
“   Ruby is designed to make
    programmers happy.
                        ”MATZ
MÃO NA
MASSA
2004




RAILS
        US, 37signals

        David DHH

        3.1.0.rc4 – 3.0.9
QUEM USA
                   CRUNCH BASE           BLOG BLOGS
PITCHFORK MEDIA

           BE ON THE NET*      YELLOW PAGES
 HULU
                  TWITTER             SCRIBD
SLIDESHARE
                    BASECAMP      JUSTIN TV
    GENI
            GOV. BRASILEIRO*
                               ONDE TRABALHAR*
GURUS
  CEARÁ ON RAILS
                   GURU-SP
          FREVO ON RAILS
RAILSMG              RAILSPI
           GURU-RS
DRY
DON’T REPEAT YOURSELF

                    PRINCÍPIOS
CoC
CONVENTION OVER CONFIGURATION

                    PRINCÍPIOS
KISS
KEEP IT STUPIDLY SIMPLE

                     PRINCÍPIOS
YAGNI    YOU AIN’T GONNA NEED IT

 NIHS NOT INVENTED HERE SYNDROME

TATFT TEST ALL THE FUCKING TIME

                        PRINCÍPIOS
ARQUITETURA

     MVC
MODEL-VIEW-CONTROLLER
ARQUITETURA
             HTML, CSS, JS,
   VIEW
             Flash, PDF

             URLs, Rotas,
CONTROLLER
             Ações

             Regras de negócio,
  MODEL
             Banco de dados
ACADEMUS
Como adminis!ador
Eu quero gerenciar o cadas!o de alunos
Para guardar os dados e usá-los depois em ou!as operações


Deve ser po"ível cadas!ar atualizar remover e
                         ,         ,
consultar cadas!os de alunos. Cada cadas!o tem os
seguintes dados: nome, data de nascimento, te#fone,
endereço e data de ingre"o. Nome, data de
nascimento e data de ingre"o são obrigatórios. O
te#fone deve estar no formato (XX) XXXX-XXXX.




                           CADASTRO DE ALUNOS
Como adminis!ador
Eu quero gerenciar o cadas!o de profe"ores
Para guardar os dados e usá-los depois em ou!as operações

Deve ser po"ível cadas!ar atualizar remover e consultar
                         ,         ,
cadas!os de profe"ores. Cada cadas!o tem os seguintes
dados: nome, data de nascimento, te#fone, endereço e
cargo. Nome, data de nascimento, te#fone e cargo são
obrigatórios. O profe"or deve ter pelo menos 18 anos e o
te#fone deve estar no formato (XX) XXXX-XXXX.




               CADASTRO DE PROFESSORES
Como adminis!ador
Eu quero gerenciar o cadas!o de disciplinas
Para guardar os dados e usá-los depois em ou!as operações


Deve ser possível cadastrar atualizar remover e
                          ,         ,
consultar cadastros de disciplinas. Cada cadastro tem
os seguintes dados: código, nome, área, carga horária
e se é obrigatória ou não. Todos os campos devem ser
preenchidos e carga horária deve estar entre 15 e 300h.




                  CADASTRO DE DISCIPLINAS
Como adminis!ador
Eu quero gerenciar o cadas!o de a!ibuições
Para guardar os dados e usá-los depois em ou!as operações

Deve ser po"ível cadas!ar atualizar remover e
                         ,         ,
consultar a!ibuições. Cada a!ibuição tem os seguintes
dados: semes!e, profe"or e disciplina. Todos os campos
são obrigatórios. O semes!e deve estar no formato YYYY-
X, onde X pode ser 1 ou 2. Pode haver apenas uma
a!ibuição para uma disciplina em um dado semes!e.




                 CADASTRO DE ATRIBUIÇÕES
Como administrador
Eu quero gerenciar as matrículas
Para determinar quais disciplinas um aluno está cursando em um semestre

Deve ser po"ível cadas!ar atualizar remover e consultar
                         ,         ,
ma!ículas. Cada ma!ícula tem os seguintes dados: semes!e,
aluno e até oito disciplinas. Todos os campos são obrigatórios.
O semes!e deve estar no formato YYYY-X, onde X pode ser 1
ou 2. Pelo menos uma disciplina deve ser se#cionada. Pode
haver apenas uma ma!ícula para uma disciplina em um
dado semes!e.




                                                  MATRÍCULAS
AGILE WEB
DEVELOPMENT
WITH RAILS
Sam Ruby




      REFERÊNCIAS
DESENVOLVIMENTO
ÁGIL PARA WEB 2.0
Caelum




         REFERÊNCIAS
RAILS
  GUIDES
  guides.rubyonrails.org




REFERÊNCIAS
RAILSCASTS
  railscasts.com




REFERÊNCIAS
ISTO É
TUDO, PESSOAL
      XII ENCONTRO DO FREVO ON RAILS
      Apresentação feita por Lailson Bandeira e Thiago Diniz, em 13 de julho de
      2011, disponível em http://www.slideshare.net/frevoonrails. Slides criados
      no Keynote com as fontes League Gothic, Arimo, Copse e Comic Jens Pro.

Contenu connexe

Similaire à Introdução ao Ruby on Rails

SEO (Search Engine Optimization) Otimização de sites para motores de busca - ...
SEO (Search Engine Optimization) Otimização de sites para motores de busca - ...SEO (Search Engine Optimization) Otimização de sites para motores de busca - ...
SEO (Search Engine Optimization) Otimização de sites para motores de busca - ...Tchelinux
 
Tchelinux 2009 - Otimização de sites para motores de busca
Tchelinux 2009 - Otimização de sites para motores de buscaTchelinux 2009 - Otimização de sites para motores de busca
Tchelinux 2009 - Otimização de sites para motores de buscaEveraldo Wanderlei Uavniczak
 
Introdução ao Desenvolvimento WEB com Ruby on Rails
Introdução ao Desenvolvimento WEB com Ruby on RailsIntrodução ao Desenvolvimento WEB com Ruby on Rails
Introdução ao Desenvolvimento WEB com Ruby on RailsJulio Betta
 
Performance e Tunning - Boas práticas em desenvolvimento
Performance e Tunning - Boas práticas em desenvolvimentoPerformance e Tunning - Boas práticas em desenvolvimento
Performance e Tunning - Boas práticas em desenvolvimentoMarcelo Raposo
 
Performance e Tunning no dia a dia do desenvolvimento: boas práticas com banc...
Performance e Tunning no dia a dia do desenvolvimento: boas práticas com banc...Performance e Tunning no dia a dia do desenvolvimento: boas práticas com banc...
Performance e Tunning no dia a dia do desenvolvimento: boas práticas com banc...iMasters
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonIgor Sobreira
 
Construindo sua primeira ontologia
Construindo sua primeira ontologiaConstruindo sua primeira ontologia
Construindo sua primeira ontologiaRômulo Jales
 
Amadurecendo com seu produto: Do fit ao data-driven - Maxmilhas - Vinicius Co...
Amadurecendo com seu produto: Do fit ao data-driven - Maxmilhas - Vinicius Co...Amadurecendo com seu produto: Do fit ao data-driven - Maxmilhas - Vinicius Co...
Amadurecendo com seu produto: Do fit ao data-driven - Maxmilhas - Vinicius Co...Product Camp Brasil
 
QArentena 21: BDD - com Fábio Araújo
QArentena 21: BDD - com Fábio AraújoQArentena 21: BDD - com Fábio Araújo
QArentena 21: BDD - com Fábio AraújoJosé Correia
 
Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São GabrielMinicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São GabrielMarcelo Linhares
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?Fabio Janiszevski
 
Construindo seu framework CSS
Construindo seu framework CSSConstruindo seu framework CSS
Construindo seu framework CSSDiego Eis
 
Foco no app, viva o serverless!
Foco no app, viva o serverless!Foco no app, viva o serverless!
Foco no app, viva o serverless!Mario Guedes
 
I BootCamp SMO - RubyOnRails
I BootCamp SMO - RubyOnRailsI BootCamp SMO - RubyOnRails
I BootCamp SMO - RubyOnRailsMarcelo Júnior
 

Similaire à Introdução ao Ruby on Rails (20)

Apostila Sas
Apostila SasApostila Sas
Apostila Sas
 
Diversas Ferramentas de dados
Diversas Ferramentas de dadosDiversas Ferramentas de dados
Diversas Ferramentas de dados
 
SEO (Search Engine Optimization) Otimização de sites para motores de busca - ...
SEO (Search Engine Optimization) Otimização de sites para motores de busca - ...SEO (Search Engine Optimization) Otimização de sites para motores de busca - ...
SEO (Search Engine Optimization) Otimização de sites para motores de busca - ...
 
Tchelinux 2009 - Otimização de sites para motores de busca
Tchelinux 2009 - Otimização de sites para motores de buscaTchelinux 2009 - Otimização de sites para motores de busca
Tchelinux 2009 - Otimização de sites para motores de busca
 
Apostila treinamento sas
Apostila treinamento sasApostila treinamento sas
Apostila treinamento sas
 
Apostila treinamento sas
Apostila treinamento sasApostila treinamento sas
Apostila treinamento sas
 
Introdução ao Desenvolvimento WEB com Ruby on Rails
Introdução ao Desenvolvimento WEB com Ruby on RailsIntrodução ao Desenvolvimento WEB com Ruby on Rails
Introdução ao Desenvolvimento WEB com Ruby on Rails
 
Html 5 datainfo
Html 5   datainfoHtml 5   datainfo
Html 5 datainfo
 
Performance e Tunning - Boas práticas em desenvolvimento
Performance e Tunning - Boas práticas em desenvolvimentoPerformance e Tunning - Boas práticas em desenvolvimento
Performance e Tunning - Boas práticas em desenvolvimento
 
Performance e Tunning no dia a dia do desenvolvimento: boas práticas com banc...
Performance e Tunning no dia a dia do desenvolvimento: boas práticas com banc...Performance e Tunning no dia a dia do desenvolvimento: boas práticas com banc...
Performance e Tunning no dia a dia do desenvolvimento: boas práticas com banc...
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com Python
 
Construindo sua primeira ontologia
Construindo sua primeira ontologiaConstruindo sua primeira ontologia
Construindo sua primeira ontologia
 
Amadurecendo com seu produto: Do fit ao data-driven - Maxmilhas - Vinicius Co...
Amadurecendo com seu produto: Do fit ao data-driven - Maxmilhas - Vinicius Co...Amadurecendo com seu produto: Do fit ao data-driven - Maxmilhas - Vinicius Co...
Amadurecendo com seu produto: Do fit ao data-driven - Maxmilhas - Vinicius Co...
 
QArentena 21: BDD - com Fábio Araújo
QArentena 21: BDD - com Fábio AraújoQArentena 21: BDD - com Fábio Araújo
QArentena 21: BDD - com Fábio Araújo
 
Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São GabrielMinicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?
 
Construindo seu framework CSS
Construindo seu framework CSSConstruindo seu framework CSS
Construindo seu framework CSS
 
Foco no app, viva o serverless!
Foco no app, viva o serverless!Foco no app, viva o serverless!
Foco no app, viva o serverless!
 
I BootCamp SMO - RubyOnRails
I BootCamp SMO - RubyOnRailsI BootCamp SMO - RubyOnRails
I BootCamp SMO - RubyOnRails
 
Palestra nosql
Palestra nosqlPalestra nosql
Palestra nosql
 

Plus de Frevo on Rails

Ruby e o Mundo Mágico dos Unicórnios
Ruby e o Mundo Mágico dos UnicórniosRuby e o Mundo Mágico dos Unicórnios
Ruby e o Mundo Mágico dos UnicórniosFrevo on Rails
 
As aventuras psicodélicas de Guilherme no mundo open source
As aventuras psicodélicas de Guilherme no mundo open sourceAs aventuras psicodélicas de Guilherme no mundo open source
As aventuras psicodélicas de Guilherme no mundo open sourceFrevo on Rails
 
Apresentacao institucional Frevo on Rails
Apresentacao institucional Frevo on RailsApresentacao institucional Frevo on Rails
Apresentacao institucional Frevo on RailsFrevo on Rails
 
Programação GUI com jRuby
Programação GUI com jRubyProgramação GUI com jRuby
Programação GUI com jRubyFrevo on Rails
 
WebApps minimalistas com Sinatra
WebApps minimalistas com SinatraWebApps minimalistas com Sinatra
WebApps minimalistas com SinatraFrevo on Rails
 
The elements of User Experience
The elements of User ExperienceThe elements of User Experience
The elements of User ExperienceFrevo on Rails
 
Crash Course Ruby & Rails
Crash Course Ruby & RailsCrash Course Ruby & Rails
Crash Course Ruby & RailsFrevo on Rails
 
jcheck: validações client-side sem dores
jcheck: validações client-side sem doresjcheck: validações client-side sem dores
jcheck: validações client-side sem doresFrevo on Rails
 
Ruby (nem tão) Básico
Ruby (nem tão) BásicoRuby (nem tão) Básico
Ruby (nem tão) BásicoFrevo on Rails
 
Resolvendo problemas de dependências com o Bundler
Resolvendo problemas de dependências com o BundlerResolvendo problemas de dependências com o Bundler
Resolvendo problemas de dependências com o BundlerFrevo on Rails
 
O que vem por aí com Rails 3
O que vem por aí com Rails 3O que vem por aí com Rails 3
O que vem por aí com Rails 3Frevo on Rails
 

Plus de Frevo on Rails (15)

Ruby e o Mundo Mágico dos Unicórnios
Ruby e o Mundo Mágico dos UnicórniosRuby e o Mundo Mágico dos Unicórnios
Ruby e o Mundo Mágico dos Unicórnios
 
As aventuras psicodélicas de Guilherme no mundo open source
As aventuras psicodélicas de Guilherme no mundo open sourceAs aventuras psicodélicas de Guilherme no mundo open source
As aventuras psicodélicas de Guilherme no mundo open source
 
Event machine
Event machineEvent machine
Event machine
 
Apresentacao institucional Frevo on Rails
Apresentacao institucional Frevo on RailsApresentacao institucional Frevo on Rails
Apresentacao institucional Frevo on Rails
 
Programação GUI com jRuby
Programação GUI com jRubyProgramação GUI com jRuby
Programação GUI com jRuby
 
awesome_nested_fields
awesome_nested_fieldsawesome_nested_fields
awesome_nested_fields
 
WebApps minimalistas com Sinatra
WebApps minimalistas com SinatraWebApps minimalistas com Sinatra
WebApps minimalistas com Sinatra
 
The elements of User Experience
The elements of User ExperienceThe elements of User Experience
The elements of User Experience
 
Crash Course Ruby & Rails
Crash Course Ruby & RailsCrash Course Ruby & Rails
Crash Course Ruby & Rails
 
jcheck: validações client-side sem dores
jcheck: validações client-side sem doresjcheck: validações client-side sem dores
jcheck: validações client-side sem dores
 
Ruby (nem tão) Básico
Ruby (nem tão) BásicoRuby (nem tão) Básico
Ruby (nem tão) Básico
 
Perfil da Comunidade
Perfil da ComunidadePerfil da Comunidade
Perfil da Comunidade
 
Resolvendo problemas de dependências com o Bundler
Resolvendo problemas de dependências com o BundlerResolvendo problemas de dependências com o Bundler
Resolvendo problemas de dependências com o Bundler
 
O que vem por aí com Rails 3
O que vem por aí com Rails 3O que vem por aí com Rails 3
O que vem por aí com Rails 3
 
Introdução a Ruby
Introdução a RubyIntrodução a Ruby
Introdução a Ruby
 

Introdução ao Ruby on Rails

  • 1. UMA (BREVE) INTRODUÇÃO LAILSON BANDEIRA THIAGO DINIZ RUBY & RAILS
  • 2. REQUISITOS Programação Orientação a objetos Desenvolvimento web
  • 3. linguagem RUBY ON RAILS framework web
  • 4. 1995 Japão RUBY Yukihiro Matsumoto 1.9.2 – 1.8.7
  • 5. Ruby is designed to make programmers happy. ”MATZ
  • 7. 2004 RAILS US, 37signals David DHH 3.1.0.rc4 – 3.0.9
  • 8. QUEM USA CRUNCH BASE BLOG BLOGS PITCHFORK MEDIA BE ON THE NET* YELLOW PAGES HULU TWITTER SCRIBD SLIDESHARE BASECAMP JUSTIN TV GENI GOV. BRASILEIRO* ONDE TRABALHAR*
  • 9. GURUS CEARÁ ON RAILS GURU-SP FREVO ON RAILS RAILSMG RAILSPI GURU-RS
  • 12. KISS KEEP IT STUPIDLY SIMPLE PRINCÍPIOS
  • 13. YAGNI YOU AIN’T GONNA NEED IT NIHS NOT INVENTED HERE SYNDROME TATFT TEST ALL THE FUCKING TIME PRINCÍPIOS
  • 14. ARQUITETURA MVC MODEL-VIEW-CONTROLLER
  • 15. ARQUITETURA HTML, CSS, JS, VIEW Flash, PDF URLs, Rotas, CONTROLLER Ações Regras de negócio, MODEL Banco de dados
  • 17. Como adminis!ador Eu quero gerenciar o cadas!o de alunos Para guardar os dados e usá-los depois em ou!as operações Deve ser po"ível cadas!ar atualizar remover e , , consultar cadas!os de alunos. Cada cadas!o tem os seguintes dados: nome, data de nascimento, te#fone, endereço e data de ingre"o. Nome, data de nascimento e data de ingre"o são obrigatórios. O te#fone deve estar no formato (XX) XXXX-XXXX. CADASTRO DE ALUNOS
  • 18. Como adminis!ador Eu quero gerenciar o cadas!o de profe"ores Para guardar os dados e usá-los depois em ou!as operações Deve ser po"ível cadas!ar atualizar remover e consultar , , cadas!os de profe"ores. Cada cadas!o tem os seguintes dados: nome, data de nascimento, te#fone, endereço e cargo. Nome, data de nascimento, te#fone e cargo são obrigatórios. O profe"or deve ter pelo menos 18 anos e o te#fone deve estar no formato (XX) XXXX-XXXX. CADASTRO DE PROFESSORES
  • 19. Como adminis!ador Eu quero gerenciar o cadas!o de disciplinas Para guardar os dados e usá-los depois em ou!as operações Deve ser possível cadastrar atualizar remover e , , consultar cadastros de disciplinas. Cada cadastro tem os seguintes dados: código, nome, área, carga horária e se é obrigatória ou não. Todos os campos devem ser preenchidos e carga horária deve estar entre 15 e 300h. CADASTRO DE DISCIPLINAS
  • 20. Como adminis!ador Eu quero gerenciar o cadas!o de a!ibuições Para guardar os dados e usá-los depois em ou!as operações Deve ser po"ível cadas!ar atualizar remover e , , consultar a!ibuições. Cada a!ibuição tem os seguintes dados: semes!e, profe"or e disciplina. Todos os campos são obrigatórios. O semes!e deve estar no formato YYYY- X, onde X pode ser 1 ou 2. Pode haver apenas uma a!ibuição para uma disciplina em um dado semes!e. CADASTRO DE ATRIBUIÇÕES
  • 21. Como administrador Eu quero gerenciar as matrículas Para determinar quais disciplinas um aluno está cursando em um semestre Deve ser po"ível cadas!ar atualizar remover e consultar , , ma!ículas. Cada ma!ícula tem os seguintes dados: semes!e, aluno e até oito disciplinas. Todos os campos são obrigatórios. O semes!e deve estar no formato YYYY-X, onde X pode ser 1 ou 2. Pelo menos uma disciplina deve ser se#cionada. Pode haver apenas uma ma!ícula para uma disciplina em um dado semes!e. MATRÍCULAS
  • 23. DESENVOLVIMENTO ÁGIL PARA WEB 2.0 Caelum REFERÊNCIAS
  • 24. RAILS GUIDES guides.rubyonrails.org REFERÊNCIAS
  • 26. ISTO É TUDO, PESSOAL XII ENCONTRO DO FREVO ON RAILS Apresentação feita por Lailson Bandeira e Thiago Diniz, em 13 de julho de 2011, disponível em http://www.slideshare.net/frevoonrails. Slides criados no Keynote com as fontes League Gothic, Arimo, Copse e Comic Jens Pro.