7coisas que todo desenvolvedor Ruby on Rails  deveria fazer
Fernando Hamasaki     @Prodis
7coisas que todo desenvolvedor Ruby on Rails  deveria fazer
1Atualizações transacionais   no banco de dados
update_attribute      é o câncer dasatualizações transacionais  Atualizações transacionais no banco de dados
Atualizações transacionais no banco de dados
Atualizações transacionais no banco de dados
2 Trazer todos os dados   necessários de umalistagem (eager loading)
Trazer todos os dados necessários de uma listagem
Trazer todos os dados necessários de uma listagem
Trazer todos os dados necessários de uma listagem
Trazer todos os dados necessários de uma listagem
3Não colocar tudo no model (fat is ugly)
Modelos deveriam serresponsáveis somente por  manipulação de dados      Não colocar tudo no model
Não colocar tudo no model
Não colocar tudo no model
Não colocar tudo no model
Não colocar tudo no model
Não colocar tudo no model
4  Cuidado ao incluirmódulos em controllers     (filters hell)
Esses módulos podem possuir filtros que criamcomplexidade e dificultam      a manutenção   Cuidado ao incluir módulos em con...
Cuidado ao incluir módulos em controllers
Cuidado ao incluir módulos em controllers
5Logar chamadas de serviços externos
Serviços externos podem  ter comportamentos       inesperados    Logar chamadas de serviços externos
O que logar?- URL (com parâmetros)- HTTP method- Body      Logar chamadas de serviços externos
Correios-Frete Request:GET http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?sCepOrigem=05707001&sCepDestino=057070...
Logar chamadas de serviços externos
6   Fazer migrações em  etapas quando houverriscos de perda de dados
Fazer migrações em etapas
Fazer migrações em etapas
Fazer migrações em etapas
Fazer migrações em etapas
7Compartilhar suas  experiências
Idéias    Soluções   Problemas    Macetes     DicasCompartilhe suas experiências
Perguntas? Acho que não dá tempo
Vai, Corinthians!
Fernando Hamasaki     @Prodis
Próximos SlideShares
Carregando em…5
×

7 coisas que todo desenvolvedor Ruby on Rails deveria fazer

4.878 visualizações

Publicada em

7 dicas que irão ajudar a manter o código das aplicações Rails livre de erros, deixá-lo mais fácil de ser mantido e fazer com que os usuários da aplicação tenham uma experiência mais agradável ao utilizá-la.

Publicada em: Tecnologia
0 comentários
4 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
4.878
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2.526
Ações
Compartilhamentos
0
Downloads
37
Comentários
0
Gostaram
4
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • \n
  • \n
  • \n
  • Uso indiscrimado de save e update_attribute (e similares)\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Manipulação de arquivos, chamadas de serviços externos, estrutura de dados (parser), envio de e-mails, etc.\n\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • - O serviço pode estar fora do ar\n- Os dados de retorno podem estar inconsistentes\n\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Segunda etapa\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • 7 coisas que todo desenvolvedor Ruby on Rails deveria fazer

    1. 1. 7coisas que todo desenvolvedor Ruby on Rails deveria fazer
    2. 2. Fernando Hamasaki @Prodis
    3. 3. 7coisas que todo desenvolvedor Ruby on Rails deveria fazer
    4. 4. 1Atualizações transacionais no banco de dados
    5. 5. update_attribute é o câncer dasatualizações transacionais Atualizações transacionais no banco de dados
    6. 6. Atualizações transacionais no banco de dados
    7. 7. Atualizações transacionais no banco de dados
    8. 8. 2 Trazer todos os dados necessários de umalistagem (eager loading)
    9. 9. Trazer todos os dados necessários de uma listagem
    10. 10. Trazer todos os dados necessários de uma listagem
    11. 11. Trazer todos os dados necessários de uma listagem
    12. 12. Trazer todos os dados necessários de uma listagem
    13. 13. 3Não colocar tudo no model (fat is ugly)
    14. 14. Modelos deveriam serresponsáveis somente por manipulação de dados Não colocar tudo no model
    15. 15. Não colocar tudo no model
    16. 16. Não colocar tudo no model
    17. 17. Não colocar tudo no model
    18. 18. Não colocar tudo no model
    19. 19. Não colocar tudo no model
    20. 20. 4 Cuidado ao incluirmódulos em controllers (filters hell)
    21. 21. Esses módulos podem possuir filtros que criamcomplexidade e dificultam a manutenção Cuidado ao incluir módulos em controllers
    22. 22. Cuidado ao incluir módulos em controllers
    23. 23. Cuidado ao incluir módulos em controllers
    24. 24. 5Logar chamadas de serviços externos
    25. 25. Serviços externos podem ter comportamentos inesperados Logar chamadas de serviços externos
    26. 26. O que logar?- URL (com parâmetros)- HTTP method- Body Logar chamadas de serviços externos
    27. 27. Correios-Frete Request:GET http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?sCepOrigem=05707001&sCepDestino=05707001&nVlPeso=0.099&nVlComprimento=36,0&nVlLargura=43,0&nVlAltura=5,0&nVlDiametro=0,0&nCdFormato=1&sCdMaoPropria=N&sCdAvisoRecebimento=N&nVlValorDeclarado=0,00&nCdServico=40010&nCdEmpresa=&sDsSenha=&StrRetorno=xmlCorreios-Frete Response:HTTP/1.1 200 OK<?xml version="1.0" encoding="ISO-8859-1" ?><Servicos><cServico><Codigo>40010</Codigo><Valor>12,40</Valor><PrazoEntrega>1</PrazoEntrega><ValorMaoPropria>0,00</ValorMaoPropria><ValorAvisoRecebimento>0,00</ValorAvisoRecebimento><ValorValorDeclarado>0,00</ValorValorDeclarado><EntregaDomiciliar>S</EntregaDomiciliar><EntregaSabado>S</EntregaSabado><Erro>0</Erro><MsgErro></MsgErro></cServico></Servicos> Logar chamadas de serviços externos
    28. 28. Logar chamadas de serviços externos
    29. 29. 6 Fazer migrações em etapas quando houverriscos de perda de dados
    30. 30. Fazer migrações em etapas
    31. 31. Fazer migrações em etapas
    32. 32. Fazer migrações em etapas
    33. 33. Fazer migrações em etapas
    34. 34. 7Compartilhar suas experiências
    35. 35. Idéias Soluções Problemas Macetes DicasCompartilhe suas experiências
    36. 36. Perguntas? Acho que não dá tempo
    37. 37. Vai, Corinthians!
    38. 38. Fernando Hamasaki @Prodis

    ×