O que vi na QCon 2012 São Paulo

659 views

Published on

Ismael Soares apresenta o que viu na QCon 2012, que se deu em São Paulo nos dias 4 e 5 de Agosto.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
659
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • O que vi na QCon 2012 São Paulo

    1. 1. Por Ismael Soares
    2. 2. 1º Dia
    3. 3. Key Notes
    4. 4. Design de Software no Século 21
    5. 5. 3 apresentações em 1* Os Desafios do Desenvolvimento Mobile* NoSQL* Projeto de Software
    6. 6. Projeto de SoftwareReal necessidade de se fazer um projeto desoftware“Precisamos abrir mão da qualidade paraentregar mais na próxima release...”Gerentes de projetos
    7. 7. Projeto de Software“Empurrar o design é um pecado e que todasas variáveis que indicam isso deveriam ir parao inferno”Uncle Bob
    8. 8. Fogo do Inferno Ágil
    9. 9. Projeto de Software Software com ótimo design custa caro! Temos que aceitar algumas dívidas, desde que elas valham a pena. Toda Dívida tem juros... Não seja imprudente! Paga a sua dívida o mais rápido possível!
    10. 10. o ! teir aloC
    11. 11. Performance e Tolerância a Falhas no NetFlix Ben Christensen
    12. 12. Atualmente...- O NetFlix recebe mais de 1 bilhão de requisões pordia.- Estas requisições são processadas por dezenas desistemas internos.- Como a API do NetFlix suporta diferentes tipos dedispositivos e ainda permite que os fabricantesotimizem de acordo com suas necessidades.
    13. 13. Merchandising...
    14. 14. Tracks
    15. 15. Métodos Ágeis: o quefolclore e o que real? Mauricio Aniche
    16. 16. Amar demais um método pode ser umproblema...Precisamos ver as coisas como elasrealmente são!
    17. 17. Estudos e pesquisasNão podemos acreditar em tudo quedizem por ai... De 1996 trabalhos, só 36 possuem rigor científico (Dyba,T., Dingsoyr,T. Empirical studies of agile software development: A systematic review)
    18. 18. • Grande parte dos estudos feitos com XP (76%);• Single-Case (39%) e Multiple-Case (33%)• 73% dos estudos com iniciantes em agile; só 12% com times maduros;• 73% dos estudos com profissionais; (Dyba,T., Dingsoyr,T. Empirical studies of agile software development: A systematic review)
    19. 19. Sem TDD,seu código não terá qualidade
    20. 20. “... a prática de TDD não guia odesenvolvedor para um bom projeto declasses de forma automática” Aniche, Gerosa. Como a Prática de TDD Influencia o Projeto de Classes em Sistemas Orientados a Objetos: Padrões de Feedback para o Desenvolvedor. 2012
    21. 21. Quando o Aniche não usaTDD...- Já tem bem claro o projeto da classeque ele está trabalhando;-É código que lida com infraestrutura
    22. 22. Quando o Aniche não usaTDD...- Já tem bem claro o projeto da classeque ele está trabalhando;-É código que lida com infraestrutura Mas ele testa sempre!
    23. 23. Programação em Par é obrigatório?
    24. 24. Quando usar PP- tarefas complexas;- Há conhecimento para sercompartilhado.
    25. 25. Quando não usar PP- tarefa simples e não conhecimentopara ser compartilhado;- tarefas de estudo.
    26. 26. Documentação não serve para nada!
    27. 27. Várias formas de documentar- através de conversas;- através de UML (mesmo caipira);- desenhos que o time criou durante oplanejamento;- etc.
    28. 28. Correlação e Causahttp://www.slideshare.net/mauricioaniche/mtodos-geis-o-que-folclore-e-o-que-real-qcon- sp-2012
    29. 29. Kanban: aplicando melhoria contínua ao seu processo Rodrigo Yoshima
    30. 30. Complexo e complicadoVocê só sabe se esta certo seexperimentar. Não dá para ter certezascom antecedência.
    31. 31. Método Kanban- Comece como você está hoje- Visualize seu progresso- Melhore colaborativamente com técnicas científicas- Gerêncie o fluxo- Torne o processo explícito
    32. 32. Porque mudanças são tão difíceis?- CULTURA- MEDO- RISCO- CONTROLE- RESISTÊNCIA EMOCIONAL as pessoas resistem ser mudadas
    33. 33. “Mude. Mas mude devagar,porque a direção é maisimportante que a velocidade.”Clarisse Lispector
    34. 34. http://www.slideshare.net/rodrigoy/kanban-aplicando-tdd-melhoria-contnua-do-seu-processo
    35. 35. http://www.slideshare.net/rodrigoy/kanban-aplicando-tdd-melhoria-contnua-do-seu-processo
    36. 36. http://www.slideshare.net/rodrigoy/kanban-aplicando-tdd-melhoria-contnua-do-seu-processo
    37. 37. Visualização do Kanban
    38. 38. http://www.slideshare.net/rodrigoy/kanban-aplicando-tdd-melhoria-contnua-do-seu-processo
    39. 39. Almoço
    40. 40. Construindo um avião em pleno Vôo Matheus Rossato
    41. 41. Empresa que trabalha com mineração de dados,Caso de sucesso na personalização de E-commerce Chaordic com base no modelo Trabalham de ser viços SaaS
    42. 42. DesafioConstruir uma plataforma elástica,escalável e disponível na Nuvem daAmazon
    43. 43. Lições aprendidas- Itere rapidamente e em pequenos passos- Observe o que funciona- Debugue em produção- Mude com frequência- Aprenda a falhar e quebrar as coisas- Integração contínua ajuda evitar problemas- Cloud pode viabilizar seus negócios
    44. 44. Mega Scrum: Escalando o Scrum passo a passo Marden Neubert
    45. 45. Caso de estudo: UOLProjeto de missão crítica (Pague Seguro) quesofreu atrasos e precisou mudar a gestão.Veio o crescimento que trouxe um enormebacklog.
    46. 46. Crescimento do time- Melhorar a comunicação;- Garantir o retorno do investimento;- Organizar os times por backlog independentes;- Priorizar por temas;- Vários times uma só equipe.
    47. 47. Lições- Inclua novos Membros nos times produtivos;- Retire pessoas produtivas e forme outros times;- Não crie times só com pessoas novas;- Em time que esta ganhando e que e mexe;- Troque os membros constantemente;- Crie processos criteriosos de contratação; - Use desenvolvedores nas entrevistas de contratação; - O time da o feedback para novos integrantes.
    48. 48. Mega Scrum- Sprints de 3 semanas para ajudar a sincronizar astarefas;- Ambientes de homologação;- Deploy automático;- Mega planning com líderes técnicos P.O.- Mega Stand-up (reunião diária) com a equipe- Reevew e retrospectiva por equipe- Pré planning (planning dos próximos realeses)- Mega retrospectiva a cada 6 meses (identificarproblemas comuns entre as equipes e discutir soluções)- Knowlogde Sharing
    49. 49. 2º Dia
    50. 50. Key Notes
    51. 51. Para o infinito e além (Nasa) Tom Soderstrom
    52. 52. Apresentação- Imagens de Marte- Missões deste ano- Robô que foi para Marte semanapassada
    53. 53. Mitos acerca de Cloud Não é Seguro! Não é Confiável!
    54. 54. Alguns cuidados- Suba as coisas por etapa começando pelo menosimportante;- Redunde os dados;- Use criptografia- Não guarde as chaves no Cloud- Load Balance (várias zonas) do for importante- Utilize backup automatizado e teste os backups- Faça contratos
    55. 55. Escalando o GitHub Zach Holman
    56. 56. Início...-> 4 Fases (Local, Networked, Network e GitRPC) - começou com Grit; - tiveram que refazê-lo para suportar o crescimento;
    57. 57. Networked - problemas com distribuição em rede - mudaram servidores - alteraram a implementação para distribuição em rede mas com a aplicação local (Grit) - latência muito grande - em resumo fizeram uma escalação horizontal
    58. 58. Network - problemas duplicação de dados no fork; - alto custo para manter os dados; - resolveram fazendo shard, mantendo os dados do projeto principal armazenado em outro lugar e os forks passaram a ser apenas ponteiros.
    59. 59. GitRPC - problemas com código bagunçado; - criaram uma implementação para acessar o Git via rede; - diminuiu a latência; - Cache Logic; - ainda estão migrando aos poucos.
    60. 60. Empresa Feliz - 108 funcionários a 5 anos  e ninguém nunca saiu; - diminua o motivo das saídas ; - uma pessoa que sai custa caro, porque uma pessoa novademora para começar a agregar valor; - as pessoas trabalham da maneira que eles gostam. Boaparte trabalha remotamente aonde quiserem; - escolhem seu horário de trabalho, ferias, etc. - as pessoas trabalham a vontade sem stress.
    61. 61. Tracks
    62. 62. Responsive Web Design Eduardo Shiota
    63. 63. Conteúdo- início do HTML em 1992- uso de Design na Web- CSS Zen Garden (site)- aumento do uso de dispositivos móveis- como suportar todos os dispositivos sem ter re-trabalho?- The Boston Globe foi o primeiro site a usar RWD- Técnicas para ter um design flexível sem fixar ostamanhos
    64. 64. Hibernate Efetivo: erros comuns e soluções Rafael Ponte
    65. 65. Lazy Initialization- ocorre quando sessão é fechada antes de terminaro acesso aos dados;- Não faça Eager, pois trará problemas deperformance;- Pattern Open Session In View ajuda quandousamos uma mesma request.
    66. 66. Cache- cache de primeiro nível;- cada request tem uma session, causando muitasconsultas. Configure o cache de segundo nível;- Caching Strategy (ehCache)- cache 2nd não guarda hierarquias complexas;- use o cache 2nd apenas para entidades que nãoalteram com frequência;- cache de consulta (Query Cache), onde a chave éa consulta + os parâmetros.
    67. 67. N+1- Eager + Join Fetch- busca em lote (Batch size) é meio termo entre oEager e Lazy, porque faz uma adivinhação cega, umchute;- subselect.
    68. 68. Processamento em lote - a cada entidade inserida na memória, o Hibernate cria um foto e coloca no cache de primeiro nível;- StatelessSession (session de baixo nível) não usacache; - Configurar o bach size no hibernate para ir menosvezes ao banco.
    69. 69. Almoço
    70. 70. Arquitetura Facebook Rodrigo Schmidt
    71. 71. Arquitetura Open Graph, é uma forma facilitar a integração entre páginas da web e o próprio facebook. Nas palavras deles, usando o Open Graph, você pode fazer qualquer página se comportar - 955 milhões de usuários como um objeto do - grafo das conexões sociais facebook, com direito a analytics e tudo. - esquema de metadados Open Graph (http://www.modelomental.com.br/web-semantica/conhecendo-o-facebook-open-graph-protocol) - MySQL (tabelas particionadas) - tabelas simples com poucos índices e os dados são armazenados em um array (Blob) - usam Mencache - multi-get (trazer tudo em paralelo) - Preparable - compilador foi feito em C por deficiência do PHP
    72. 72. Java EE Vs SpringNico Steppat e Guilherme Moreira
    73. 73. http://www.slideshare.net/gui0rafa/spring-vs-java-ee-qconsp-2012
    74. 74. Java EE - lutador experiente - mudou a tática no Java EE 5 - ganhou confiança com CDI - perdeu peso para ser ágil - patrocinado pela Oracle, Red Hat, IBM and outros
    75. 75. Spring Framework - sem derrota desde 2004 - nocauteou o J2EE - luta em qualquer container - golpes fortes com POJOs - sabe explorar bem seu oponente - patrocinado pela Spring Source
    76. 76. Estatísticas http://www.slideshare.net/gui0rafa/spring-vs-java-ee-qconsp-2012
    77. 77. Resultado http://www.slideshare.net/gui0rafa/spring-vs-java-ee-qconsp-2012
    78. 78. Referências
    79. 79. Martin Fowler: http://www.martinfowler.com/articles/multiMobile/Netflix: https://speakerdeck.com/u/benjchristensen/p/performance-and-fault-tolerance-for-the-netflix-api-qcon-sao-pauloMauricio Aniche: http://www.slideshare.net/mauricioaniche/mtodos-geis-o-que-folclore-e-o-que-real-qcon-sp-2012Rodrigo Yoshima: http://www.slideshare.net/rodrigoy/kanban-aplicando-tdd-melhoria-contnua-do-seu-processoMatheus Rossato: http://www.slideshare.net/matheusrossato/qconsp-2012-construindo-um-avio-em-pleno-vo-na-nuvem
    80. 80. Nasa: http://prezi.com/5pt5hgflj3ah/to-infinity-and-beyond/?auth_key=4433faf57961988041cfd419c2c27f9aaf579ad4GitHub: http://zachholman.com/talk/how-to-build-a-githubRafael Ponte: http://www.slideshare.net/rponte/hibernate-efetivo-qconsp2012Caelum: http://www.slideshare.net/gui0rafa/spring-vs-java-ee-qconsp-2012
    81. 81. OBRIGADO

    ×