• Save
O que vi na QCon 2012 São Paulo
Upcoming SlideShare
Loading in...5
×
 

O que vi na QCon 2012 São Paulo

on

  • 658 views

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

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

Statistics

Views

Total Views
658
Slideshare-icon Views on SlideShare
658
Embed Views
0

Actions

Likes
1
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \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 O que vi na QCon 2012 São Paulo Presentation Transcript

  • Por Ismael Soares
  • 1º Dia
  • Key Notes
  • Design de Software no Século 21
  • 3 apresentações em 1* Os Desafios do Desenvolvimento Mobile* NoSQL* Projeto de Software
  • 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
  • Projeto de Software“Empurrar o design é um pecado e que todasas variáveis que indicam isso deveriam ir parao inferno”Uncle Bob
  • Fogo do Inferno Ágil
  • 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!
  • o ! teir aloC
  • Performance e Tolerância a Falhas no NetFlix Ben Christensen
  • 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.
  • Merchandising...
  • Tracks
  • Métodos Ágeis: o quefolclore e o que real? Mauricio Aniche
  • Amar demais um método pode ser umproblema...Precisamos ver as coisas como elasrealmente são!
  • 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)
  • • 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)
  • Sem TDD,seu código não terá qualidade
  • “... 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
  • Quando o Aniche não usaTDD...- Já tem bem claro o projeto da classeque ele está trabalhando;-É código que lida com infraestrutura
  • 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!
  • Programação em Par é obrigatório?
  • Quando usar PP- tarefas complexas;- Há conhecimento para sercompartilhado.
  • Quando não usar PP- tarefa simples e não conhecimentopara ser compartilhado;- tarefas de estudo.
  • Documentação não serve para nada!
  • Várias formas de documentar- através de conversas;- através de UML (mesmo caipira);- desenhos que o time criou durante oplanejamento;- etc.
  • Correlação e Causahttp://www.slideshare.net/mauricioaniche/mtodos-geis-o-que-folclore-e-o-que-real-qcon- sp-2012
  • Kanban: aplicando melhoria contínua ao seu processo Rodrigo Yoshima
  • Complexo e complicadoVocê só sabe se esta certo seexperimentar. Não dá para ter certezascom antecedência.
  • 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
  • Porque mudanças são tão difíceis?- CULTURA- MEDO- RISCO- CONTROLE- RESISTÊNCIA EMOCIONAL as pessoas resistem ser mudadas
  • “Mude. Mas mude devagar,porque a direção é maisimportante que a velocidade.”Clarisse Lispector
  • http://www.slideshare.net/rodrigoy/kanban-aplicando-tdd-melhoria-contnua-do-seu-processo
  • http://www.slideshare.net/rodrigoy/kanban-aplicando-tdd-melhoria-contnua-do-seu-processo
  • http://www.slideshare.net/rodrigoy/kanban-aplicando-tdd-melhoria-contnua-do-seu-processo
  • Visualização do Kanban
  • http://www.slideshare.net/rodrigoy/kanban-aplicando-tdd-melhoria-contnua-do-seu-processo
  • Almoço
  • Construindo um avião em pleno Vôo Matheus Rossato
  • 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
  • DesafioConstruir uma plataforma elástica,escalável e disponível na Nuvem daAmazon
  • 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
  • Mega Scrum: Escalando o Scrum passo a passo Marden Neubert
  • 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.
  • 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.
  • 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.
  • 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
  • 2º Dia
  • Key Notes
  • Para o infinito e além (Nasa) Tom Soderstrom
  • Apresentação- Imagens de Marte- Missões deste ano- Robô que foi para Marte semanapassada
  • Mitos acerca de Cloud Não é Seguro! Não é Confiável!
  • 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
  • Escalando o GitHub Zach Holman
  • Início...-> 4 Fases (Local, Networked, Network e GitRPC) - começou com Grit; - tiveram que refazê-lo para suportar o crescimento;
  • 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
  • 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.
  • 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.
  • 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.
  • Tracks
  • Responsive Web Design Eduardo Shiota
  • 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
  • Hibernate Efetivo: erros comuns e soluções Rafael Ponte
  • 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.
  • 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.
  • N+1- Eager + Join Fetch- busca em lote (Batch size) é meio termo entre oEager e Lazy, porque faz uma adivinhação cega, umchute;- subselect.
  • 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.
  • Almoço
  • Arquitetura Facebook Rodrigo Schmidt
  • 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
  • Java EE Vs SpringNico Steppat e Guilherme Moreira
  • http://www.slideshare.net/gui0rafa/spring-vs-java-ee-qconsp-2012
  • 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
  • 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
  • Estatísticas http://www.slideshare.net/gui0rafa/spring-vs-java-ee-qconsp-2012
  • Resultado http://www.slideshare.net/gui0rafa/spring-vs-java-ee-qconsp-2012
  • Referências
  • 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
  • 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
  • OBRIGADO