as escolhas do desenvolvedor
Post on 05-Aug-2015
58 Views
Preview:
TRANSCRIPT
As escolhas do desenvolvedor
Willian Molinari (a.k.a PotHix)
Aviso
Plaev.github.io
C
Porque esse tema?
Especialista em desenvolvimento de
sistemasNa carteira de trabalho
Software Engineerpara ficar bonito em inglês
Desenvolvedorcomo eu acho que deveria ser
Solucionador de problemas
o que realmente somos
E para solucionar...fazemos algumas escolhas
1. Linguagens
C
C
Porque ruby?
● a syntax é bem enxuta● tem bastante coisa pronta que facilita● para aplicações web o Rails é muito útil● prototipagem rápida● já tenho uma boa experiência● porque eu gosto! :)
Então, tudo em ruby?
Ferramenta X Problema
Leela
C
C
C
C
Seja “fluente”em pelo menos 1 linguagem
SarumanWise provisioning
em 9 mesesEconomia de 75
servidores, cerca de 1.5MM de reais
2. Testes
Test Driven Development?
FrameworkLista: 74+ linguagens, avg 4 cada uma
Unitário? Integração?
Garanta que funcionade forma automática
3. Equipe
Mais de um devsempre que possível
Por projetoBus factor
Por funcionalidadePair programming, code review, ...
4. Código
Métodos menores
VersionamentoGit, hg, bzr, svn, ...
Implementações paralelas
gamecareerguide.com (reprinted)
Feature toggle
http://martinfowler.com/bliki/FeatureToggle.html
Otimização
Premature optimization is the root of all evil.
Donald Knuth
Padrões
● Observer
● Factory
● Singleton
● Adapter
● ...
Design patterns
● Responsabilidade única
● Aberto / Fechado
● Substituição de Liskov
● Segregação de interface
● Inversão de dependencia
SOLID
Twelve factor app
● Codebase● Dependencies● Config● Backing services● Build, release, run● Processes
● Port binding● Concurrency● Disposability● Dev/prod parity● Logs● Admin processes
5. Servidores
Conf. Managerou gerenciador de configuração
Infra imutável
Alta disponibilidade
6. Deploy
Etapa de build
vm, docker, lxc, chroot
Deb, rpm, tar.gz, exe, ...
Blue -> Greenusando sua alta disponibilidade
10%
90%
Entregas pequenas
Conclusão
Relembrando...
1. Linguagem2. Testes3. Equipe4. Código5. Servidores6. Deploy
Opçõese não respostas
Perguntas?
Willian Molinari
@PotHixpothix@pothix.com
Slides: http://goo.gl/V5BT5Jhttp://tinyurl.com/pothix-17elw
top related