Minicurso Ruby on Rails - Wake Up Systems

29
CURSOS Ruby on Rails Prof: Igor Portela

Transcript of Minicurso Ruby on Rails - Wake Up Systems

Page 1: Minicurso Ruby on Rails - Wake Up Systems

CURSOS

Ruby on Rails Prof: Igor Portela

Page 2: Minicurso Ruby on Rails - Wake Up Systems

Desenvolvedor:  Fazer  afirmações  com  desconhecimento  de  causa  é  um  atestado  de  ignorância.  

Reflexão  

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Page 3: Minicurso Ruby on Rails - Wake Up Systems

Framework  Linguagem  

Ruby  !=  Rails  

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Page 4: Minicurso Ruby on Rails - Wake Up Systems

Criador:  Yukihiro  Matsumoto  ou  “Matz”  Ano:  1995  CaracterísXcas:              Dinâmica  e  interpretada            Forte  POO  -­‐  Tudo  é  objeto            Todas  as  classes  herda  de  Object            Operação  é  método:  eql,  exists,  extend  

A  Linguagem  

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Page 5: Minicurso Ruby on Rails - Wake Up Systems

         Métodos  retornam  valor    puts  “Hello  World”  =>  nil  

Tipos  básicos:            Numeric            Symbol            String            Array            Hash    

A  Linguagem  

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Page 6: Minicurso Ruby on Rails - Wake Up Systems

Locais:  variavel  =  0    Instâncias:  @variavel  =  “Igor”    Classe:  @@classe  =  Classe  (saXc  do  Java)    Globais:  $variavel  =  100  

Variáveis  

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Page 7: Minicurso Ruby on Rails - Wake Up Systems

JAVA  public  double  soma(double  a,  double  b){      return  a  +  b;  }  

RUBY  def  soma  a,b      a+b  end  

Comparação  

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Page 8: Minicurso Ruby on Rails - Wake Up Systems

Criador:  Dave  Thomas  Ano:  2004  CaracterísXcas:            DRY  (Don’t  Repeat  Yourself            Scaffold  (CRUD)  

Framework  

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Page 9: Minicurso Ruby on Rails - Wake Up Systems

         AcXveSupport            AcXveRecord            AcXonPack            AcXonMailer            AcXveResource  

Framework  

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Page 10: Minicurso Ruby on Rails - Wake Up Systems

Arquitetura  

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Page 11: Minicurso Ruby on Rails - Wake Up Systems

   É   um   framework   que   contém   um   conjunto   de  diversas  classes  e  extensões  de  bibliotecas  úteis  para  o  desenvolvimento  web  

AcXveSupport  

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Page 12: Minicurso Ruby on Rails - Wake Up Systems

   Framework   que   contém   uma   camada   de  mapeamento   objeto-­‐relacional,   entre   a  aplicação  e  o  banco  de  dados  relacional.  

AcXveRecord  

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Page 13: Minicurso Ruby on Rails - Wake Up Systems

   Framework  HTML,  XML,  Javascripts  e  controle  de  regras  de  negócio.  

AcXonPack  

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Page 14: Minicurso Ruby on Rails - Wake Up Systems

   Framework  de  recebimento  de  emails.  Realiza  diversas  operações  apenas  com  chamadas  de  entrega  de  correspondência.  

AcXonMailer  

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Page 15: Minicurso Ruby on Rails - Wake Up Systems

Framework  RESTful  (RepresentaXonal  State  Transfer)  “ful”  é  de  simplesmente  REST.  Técnica  da  engenharia  de  soyware  para  sistemas  na  internet.  Principais  POST,  GET,  PUT,  DELETE    

AcXveResource  

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Page 16: Minicurso Ruby on Rails - Wake Up Systems

 WEBRick  ou  Mongrel  –  desenvolvimento  e  teste    Sqlite3  MySQL  Oracle  PostgreSQL  

Servidores  e  Banco  de  Da

dos  

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Page 17: Minicurso Ruby on Rails - Wake Up Systems

         About  Informação  sobre  a  versão  e  componentes            Console  Console  com  o  ambiente  da  aplicação            Dbconsole  Console  padrão  do  banco  de  dados            Destroy  Remove  o  código  gerado  

Scripts  

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Page 18: Minicurso Ruby on Rails - Wake Up Systems

         Generate  Gera  o  código  de  uma  aplicação            Runner  AutomaXzar  tarefas  da  aplicação            Server  Inicia  o  servidor  de  aplicação  

Scripts  

Page 19: Minicurso Ruby on Rails - Wake Up Systems

         Controller  não  deve  resolver  tudo  sozinho.            Convenções            Modelos  gordos            Controllers  magros            Código  em  Inglês            Tabelas  são  classes  no  plural            Chave  primária  é  por  convenção  (table_id)  

Boas  PráXcas  

Page 20: Minicurso Ruby on Rails - Wake Up Systems

Criando  um  projeto  no  “terminal”      

Rails  new  projeto  –d  banco_de_dados      

O  Framework  agiliza  grande  parte  do  processo  para  você  

PráXca  

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Page 21: Minicurso Ruby on Rails - Wake Up Systems

App  –  abriga  os  controllers,  helpers,  views,  models,  css,  js,  images  

Config  –  configurações  da  aplicação,  banco,  ambientes  do  projeto  

DB  –  guarda  as  migrações,    esquemas  e  arquivos  do  banco  

Doc  –  documentação  Lib  –  arquivos  de  biblioteca  

Log  –  os  logs  dos  servidores  (desenvolvimento,  producao,  teste)  

 Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Projeto  

Page 22: Minicurso Ruby on Rails - Wake Up Systems

Script  –  scripts  do  rails  (rails  generate,  rails  s)  Test  –  arquivos  de  testes  funcionais,  unitários,  

integração.  Tmp  –  arquivos  temporários  (sessão,  cache,  

migrações,  esquemas  e  etc.)  Gemfile  –  onde  é  requerida  as  gems  

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Projeto  

Page 23: Minicurso Ruby on Rails - Wake Up Systems

*..1  -­‐  has_many    (muitos  p/  um)    1..*  -­‐  belongs_to  (um  p/  muitos)    *..*  -­‐  has_and_belongs_to_many  (muitos  p/  muitos)    1..1  –  has_one  (um  p/  um)  

 

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Relacionamentos  

Page 24: Minicurso Ruby on Rails - Wake Up Systems

Executadas  em  sequência.  Permite  portabilidade  e  manutenabilidade.  Básico:    add_column(:email)    remove_column(:email)  

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Migrações  

Page 25: Minicurso Ruby on Rails - Wake Up Systems

É  similar  ao  make  do  Unix  que  tem  diversas    opções  para  ajudar  o  desenvolvedor.  rake  db:create  

Cria  o  banco  de  dados    rake  db:migrate  

 migra  o  banco  de  dados    

rake  db:destroy  Destrói  o  banco  de  dados  

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Rake  

Page 26: Minicurso Ruby on Rails - Wake Up Systems

São  bibliotecas  que  auxiliam  e  agilizam  o  desenvolvimento  do  seu  projeto.    Configuradas  no  arquivo  Gemfile.    Permite  o  controle  de  versãoda  bilbioteca  que  deseja  usar.    Experimente  a  gem  ‘  copyright_author  ’  –  Permite  registrar  o  autor  ou  autores  em  todo  código.      URL:  github.com/igorportela/copyright_author  

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Gem  

Page 27: Minicurso Ruby on Rails - Wake Up Systems

ValidaXons  Form_helpers  Presenters  Módulos  Polymorphic  Metaprogramação  NoSql  Testes  com  BDD  (Behavior  Driven  Development)  

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Dica  

Page 28: Minicurso Ruby on Rails - Wake Up Systems

Leia  antes  de  “colocar  a  mão  na  massa”    Google  group  –  rails-­‐br    api.rubyonrails.org    

Curso  de  Ruby  on  Rails.  Direitos  Autorais  2013  Wake  Up  Systems.                                                                                              www.WakeUpSystems.com  

Recomendações  

Page 29: Minicurso Ruby on Rails - Wake Up Systems

www.WakeUpSystems.com  (83)  8818.2046  |  (83)  8830.7759