Ismael Soares 2011
1º Dia
Key Notes
Aprendizados de grandes Sistema HTTP Jim Webber
Dificuldades * com arquitetura SOA * mudanças de schema * sistemas não escaláveis * segurança * transações complexas  * etc
Case * serviço de SMS por voz onde a utilização de REST com middleware de HTML comum foi mais barata que a solução baseada...
Otimização de Sites Sérgio Lopes
A importância de otimizar um site... * Cada 400ms de melhora, o Yahoo! aumenta o tráfego em 9% * Ao diminuir 2.2s de sua p...
75% dos sites demoraram 400ms ou menos no servidor. A coisa tá feia mesmo!
Diminua o tamanho das Requests * Habilitar o GZIP no servidor * Comprimir o JavaScript, CSS e HTML * Não redimensionar Ima...
Diminua a quantidade de Requests * Junte os JavaScripts e CSS * Use Data URIs (consome menos banda) <img src=&quot;http://...
Outras dicas * Coloque o css no inicio da página * Coloque o javaScript no fim da página * Carregamento de Js assíncrono *...
Engenharia de performance no Twitter Evan Weaver
Pontos principais * mostrou algumas técnicas para escalar utilizadas pela equipe do Twitter * otimizar o garbadge collecto...
Trilhas
Refatoração em Larga Escala Danilo Sato
Porque Refatorar? * Adicionar nova funcionalidade * Corrigir bugs * Melhorar o Design * Otimizar o código
Para refatorar… * Entender os motivos da mudança * Planejá-las * Coding Kata!  (exercício de programação baseado em repeti...
Para refatorar… * Entender os motivos da mudança * Planejá-las * Coding Kata! (exercício de programação baseado em repetiç...
Para refatorar… * isole o impacto das mudanças * baby Steps  * mantenha os testes passando * Regredir para progredir * Man...
Veja o exemplo em: http://github.com/dtsato/refactoring-experiment
Design de Código: a qualidade que faz a diferença Guilherme Silveira
Dificuldades em um projeto *   Implementação * Design * Arquitetura
Design =  como seu código se comunica Implementação =  como seu código é executado
Não adianta ter uma boa arquitetura se ela for difícil de entender  Porque a única coisa que existe de fato é a implementa...
Não dá para falar de arquitetura ou design sem falar de implementação
Em suma, cuide do código! Faça-o mais legível possível Porque um dia você vai precisar dar manutenção nele e ai você não p...
Divida Técnica Alexandre Freire
Tipos... Irresponsável Consciente
Débito não é Divida
Divida se paga
* Atrasos * Bugs * Sistema Engessado * Baixa Cobertura de Código * Falha de comunicação
Calcule e pague
2º Dia
Key Notes
Caching e NoSQL? Kunal Bhasin
Que tal Centenas de Gigabytes no cache da memória?
Garbage Collector não deixa!
Os caras da TerraCotta conseguiram resolver este problema
Em 2003, Greg Luck começou o projeto do  Ehcache . Em 2009 a TerraCotta assumiu o projeto.
O Ehcache gerencia os objetos que estão em cache e decide quando joga-los ou não no lixo.
MythBuster – Mission Cloud Computing @NASA Khawaja Shams
Cloud Computing
Cloud não é seguro?
Cloud não é confiável?
Cloud é apenas para pequenas empresas?
Amazon
O Jet Propulsion Laboratory da NASA +TI
Evolução da Arquitetura  como fazê-la funcionar  Rebecca Parson
Arquitetura Evolucionária  Vs Design Emergente
www.ibm.com/developerworks/br/java/library/j-eaed10/ Arquitetura Design
A hora de agir
Usar ferramentas fáceis de mudar
Automatize...
Almoço
Trilhas
Edição de Homes com Javascript End to End Jorge Walendowsky
Dificuldades no...
Sacadas...
Java Script  + Json  + NodeJs + HTML 5
Separam a lógica do HTML
Programação funcional Com OO em Java Script Christiano Milfont
Dificuldades com JS
Linguagem Fraca
Usar técnicas para contornar...
Testes de Interface Andrews Medina Francisco Souza
Várias Ferramentas...
Splinter
 
Referências http://en.wikipedia.org/wiki/Data_URI_scheme blog.caelum.com.br/qcon-2011-como-foi-a-segunda-edicao-do-princip...
Próximos SlideShares
Carregando em…5
×

QCon 2011

1.488 visualizações

Publicada em

Nestes Slides resumo o que vi em um das melhores conferências para desenvolvedores realizados no Brasil: QCon 2011

Publicada em: Tecnologia
1 comentário
0 gostaram
Estatísticas
Notas
  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.488
No SlideShare
0
A partir de incorporações
0
Número de incorporações
288
Ações
Compartilhamentos
0
Downloads
7
Comentários
1
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • De um lado o consumidor (SOAP e RNI) e do outro lado o Produtor (REST e JNI). No meio temos o ESB como Middlware (meio de comunicação entre as diversas tecnologias). O ESB fornece um driver de evento e padrões baseados em mensagens (BUS).
  • URI (Indentificador Uniforme de Recursos) – É uma forma de obter recursos na NET de forma otimizada.
  • Design ativo – decisões arquiteturiais direcionadas para melhorar o projeto Design passivo – maus cheiros, métricas, visualizações
  • Design ativo – decisões arquiteturiais direcionadas para melhorar o projeto Design passivo – maus cheiros, métricas, visualizações
  • Dificil em um projeto é implementar bem....
  • Dificil em um projeto é implementar bem....
  • Dificil em um projeto é implementar bem....
  • Dificil em um projeto é implementar bem....
  • Dívida irresponsável - proposital ou não Dívida consciente - empréstimo do carro, dívida de cartão de crédito ou cheque especial ou empréstimo da casa
  • Citou alguns Cases
  • Você precisa confiar em um terceiro Só conseguimos garantir o que está em nosso controle.
  • Cai...mas os Data Center também caem Temos que nos precaver com redundâncias de aplicações, roteamento, etc
  • Grandes empresas usam. Provavelmente até a Apple Não infinita mas é virtualmente ilimitada
  • Quase trezentas instâncias em poucos minutos
  • O Jet Propulsion Laboratory da NASA tem feito investimentos significativos nos últimos três anos através de uma exemplar parceria entre as missões e a TI Imagens de 45 Giga pixels vindos do espaço em 10 minutos com Cloud
  • Decisões que você precisa tomar ao iniciar um projeto
  • Fowler: Arquitetura é aquela coisa que é difícil de mudar depois. E deve existir o mínimo possível dessa coisa.
  • Tomar as decisões na hora certa Diminuir sua divida técnica Foque nos lugares mais alterados
  • Testes e Deploy
  • sistema de gerenciamento do IG (marketing) Usabilidade, Performance, Duplicidade e edição Simultânia
  • Interface intuitiva (games) Reunir as informações Trazer um pouco da carga para lado do cliente Servidores leves (NoSQL)
  • Não tem métodos, Classes, padrões
  • Não tem métodos, Classes, padrões
  • Criar objetos
  • Pyccuracy, Selenium, Zope, HTML Unit, Zombie, Capybara
  • QCon 2011

    1. 1. Ismael Soares 2011
    2. 2. 1º Dia
    3. 3. Key Notes
    4. 4. Aprendizados de grandes Sistema HTTP Jim Webber
    5. 5. Dificuldades * com arquitetura SOA * mudanças de schema * sistemas não escaláveis * segurança * transações complexas * etc
    6. 6. Case * serviço de SMS por voz onde a utilização de REST com middleware de HTML comum foi mais barata que a solução baseada em ESB (Enterprise Service Bus) http://pt.wikipedia.org/wiki/Enterprise_Service_Bus
    7. 7. Otimização de Sites Sérgio Lopes
    8. 8. A importância de otimizar um site... * Cada 400ms de melhora, o Yahoo! aumenta o tráfego em 9% * Ao diminuir 2.2s de sua página principal, a Mozilla aumentou em 15% os downloads do FireFox * 100ms de melhora aumentaram o faturamento da Amazon em 1% * O Google fez um experimento aumentando o número de resultados da busca de 10 para 30 levando de 0.4 para 0.9s. O tráfego caiu 20% * 2s a mais na busca do Bing diminuíram o faturamento em 4,3%
    9. 9. 75% dos sites demoraram 400ms ou menos no servidor. A coisa tá feia mesmo!
    10. 10. Diminua o tamanho das Requests * Habilitar o GZIP no servidor * Comprimir o JavaScript, CSS e HTML * Não redimensionar Imagens no HTML * Otimize as imagens * Diminua cookies e headers
    11. 11. Diminua a quantidade de Requests * Junte os JavaScripts e CSS * Use Data URIs (consome menos banda) <img src=&quot;http://phpied.com/images/check.png&quot; /> <img src=&quot; data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAIAAAA7ljm RAAAAGElEQVQIW2P4DwcMDAxAfBvMAhEQMYgcACEHG8ELxtbPAAAAAElFTkSuQmCC&quot; />
    12. 12. Outras dicas * Coloque o css no inicio da página * Coloque o javaScript no fim da página * Carregamento de Js assíncrono * Adie o carregamento do for possível * Use ferramentas de diagnóstico
    13. 13. Engenharia de performance no Twitter Evan Weaver
    14. 14. Pontos principais * mostrou algumas técnicas para escalar utilizadas pela equipe do Twitter * otimizar o garbadge collector do Ruby * Porque devemos acessar os dados em massa e como gerencia-los na memória.
    15. 15. Trilhas
    16. 16. Refatoração em Larga Escala Danilo Sato
    17. 17. Porque Refatorar? * Adicionar nova funcionalidade * Corrigir bugs * Melhorar o Design * Otimizar o código
    18. 18. Para refatorar… * Entender os motivos da mudança * Planejá-las * Coding Kata! (exercício de programação baseado em repetições)
    19. 19. Para refatorar… * Entender os motivos da mudança * Planejá-las * Coding Kata! (exercício de programação baseado em repetições) * Fazer o passo-a-passo * Identificar o objetivo - Design ativo - Design passivo * Traçar a estratégia
    20. 20. Para refatorar… * isole o impacto das mudanças * baby Steps * mantenha os testes passando * Regredir para progredir * Manter o plano traçado * Se possível, faça um diagrama de efeitos * Use ferramentas
    21. 21. Veja o exemplo em: http://github.com/dtsato/refactoring-experiment
    22. 22. Design de Código: a qualidade que faz a diferença Guilherme Silveira
    23. 23. Dificuldades em um projeto * Implementação * Design * Arquitetura
    24. 24. Design = como seu código se comunica Implementação = como seu código é executado
    25. 25. Não adianta ter uma boa arquitetura se ela for difícil de entender Porque a única coisa que existe de fato é a implementação!
    26. 26. Não dá para falar de arquitetura ou design sem falar de implementação
    27. 27. Em suma, cuide do código! Faça-o mais legível possível Porque um dia você vai precisar dar manutenção nele e ai você não poder reclamar
    28. 28. Divida Técnica Alexandre Freire
    29. 29. Tipos... Irresponsável Consciente
    30. 30. Débito não é Divida
    31. 31. Divida se paga
    32. 32. * Atrasos * Bugs * Sistema Engessado * Baixa Cobertura de Código * Falha de comunicação
    33. 33. Calcule e pague
    34. 34. 2º Dia
    35. 35. Key Notes
    36. 36. Caching e NoSQL? Kunal Bhasin
    37. 37. Que tal Centenas de Gigabytes no cache da memória?
    38. 38. Garbage Collector não deixa!
    39. 39. Os caras da TerraCotta conseguiram resolver este problema
    40. 40. Em 2003, Greg Luck começou o projeto do Ehcache . Em 2009 a TerraCotta assumiu o projeto.
    41. 41. O Ehcache gerencia os objetos que estão em cache e decide quando joga-los ou não no lixo.
    42. 42. MythBuster – Mission Cloud Computing @NASA Khawaja Shams
    43. 43. Cloud Computing
    44. 44. Cloud não é seguro?
    45. 45. Cloud não é confiável?
    46. 46. Cloud é apenas para pequenas empresas?
    47. 47. Amazon
    48. 48. O Jet Propulsion Laboratory da NASA +TI
    49. 49. Evolução da Arquitetura como fazê-la funcionar Rebecca Parson
    50. 50. Arquitetura Evolucionária Vs Design Emergente
    51. 51. www.ibm.com/developerworks/br/java/library/j-eaed10/ Arquitetura Design
    52. 52. A hora de agir
    53. 53. Usar ferramentas fáceis de mudar
    54. 54. Automatize...
    55. 55. Almoço
    56. 56. Trilhas
    57. 57. Edição de Homes com Javascript End to End Jorge Walendowsky
    58. 58. Dificuldades no...
    59. 59. Sacadas...
    60. 60. Java Script + Json + NodeJs + HTML 5
    61. 61. Separam a lógica do HTML
    62. 62. Programação funcional Com OO em Java Script Christiano Milfont
    63. 63. Dificuldades com JS
    64. 64. Linguagem Fraca
    65. 65. Usar técnicas para contornar...
    66. 66. Testes de Interface Andrews Medina Francisco Souza
    67. 67. Várias Ferramentas...
    68. 68. Splinter
    69. 70. Referências http://en.wikipedia.org/wiki/Data_URI_scheme blog.caelum.com.br/qcon-2011-como-foi-a-segunda-edicao-do-principal-evento-de-arquitetos-e-desenvolvedores-no-brasil/

    ×