Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Memórias das trincheiras (parte 2)

1,065 views

Published on

Decisões de arquitetura, escolhas de frameworks e linguagens, ferramentas, metodologias. Essas e outras dicas, truques, experiências, acertos e erros de uma equipe desenvolvendo códigos nos últimos 7 anos.

Published in: Technology
  • Be the first to comment

Memórias das trincheiras (parte 2)

  1. 1. Memórias dastrincheiras Elton Minetto - http://eltonminetto.net
  2. 2. Tecnologia
  3. 3. Arquitetura > framework (ou linguagem)
  4. 4. SOA “Service-Oriented Architecture (SOA) é um estilo de arquitetura de software cujo princípio fundamental prega que as funcionalidades implementadas devem ser disponibilizadas na forma de serviços. Frequentemente estes serviços são conectados através de um "barramento" que disponibiliza interfaces, ou contratos, acessíveis através de web services ou outra forma de comunicação entre aplicações” Wikipedia
  5. 5. 12 fatores » Codebase » Dependencies » Config » Backing Services » Build, release, run » Processes » Port binding » Concurrency » Disposability » Dev/prod parity » Logs » Admin processes
  6. 6. Eventos » Zend Event Manager
  7. 7. Injeção de dependências » Zend Service Manager
  8. 8. Não crieamarras
  9. 9. Banco de dados » Use um DBAL/ORM (Doctrine) » Não crie lógica em triggers ou procedures no banco de dados
  10. 10. Serviços externos » Podem mudar, novos podem ser adicionados » Interfaces!
  11. 11. Desenvolvapara padrões
  12. 12. » PSR-3: logs (Monolog) » PSR-7: mensagens http (Zend Expressive) » PSR-11: dependency injection containers (Zend Service Manager) » PSR-15: middlewares (Zend Expressive 2)
  13. 13. Não seapaixone por linguagem ou framework
  14. 14. » PHP (Zend Framework, Drupal, Zend Expressive, Silex) » Go » JavaScript (AngularJS, React, React Native) » Objective C » Java (Android) » Shell Script
  15. 15. Cuidado com modismos
  16. 16. » Serviços X micro serviços » Single Page Aplications X Sites estáticos » Banco relacional X NoSQL » O-novo-framework(JavaScript?)-da-semana
  17. 17. Métricas
  18. 18. Complexidade, padrões, segurança, coberturadetestes » Pdepend » PhpMetrics » PHPUnit » phpcs
  19. 19. Automatizetudo
  20. 20. » Build (Buildkite) » Deploy (Deploybot) » Testes (PHPUnit, Codeception) » Análise de código (Ebert)
  21. 21. Atualize-se sempre
  22. 22. » Eventos internos (Coderockr Jam) » Meetups » Eventos (PubTalks)
  23. 23. Projetos
  24. 24. Agilidadeao extremo
  25. 25. » Coderockr Way = Kanban + InnerSource + ConvDev » Slack
  26. 26. Métricas
  27. 27. LeadTime, CycleTime, Response Time,TaktTime » Planrockr ;)
  28. 28. Negócios
  29. 29. Nãoteste em projetos de clientes
  30. 30. » Love or Hate (conexão entre apps) » Orçamentos (Silex) » Planrockr (MongoDB, Go, React, Docker)
  31. 31. Nãotenhareceio de "perder" seus melhores
  32. 32. Uma banda é a junção de todos os talentos dos seus músicos
  33. 33. Serviços é f#%a!
  34. 34. Mas é possível ter sucesso e uma equipe incrível!
  35. 35. Como crescer? » melhores clientes » melhores processos » automação de processos » melhorar as pessoas
  36. 36. Clientes contratam uma empresa de serviços por dois motivos: para desenvolver algo que eles não querem fazer ou para desenvolver algo que eles não são especialistas. Qual destes cenários você acha melhor??
  37. 37. Links https://blog.planrockr.com https://blog.coderockr.com https://www.youtube.com/user/coderockr
  38. 38. Contato http://eltonminetto.net http://asemanaphp.com.br @eminetto eminetto@coderockr.com

×