70
Ismael Soares 2011

QCon 2011

  • Upload
    ismael

  • View
    1.267

  • Download
    3

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: QCon 2011

Ismael Soares

2011

Page 2: QCon 2011

1º Dia

Page 3: QCon 2011

Key Notes

Page 4: QCon 2011

Aprendizados de grandes Sistema HTTP

Jim Webber

Page 5: QCon 2011

Dificuldades* com arquitetura SOA

* mudanças de schema

* sistemas não escaláveis

* segurança

* transações complexas

* etc

Page 6: QCon 2011

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

Page 7: QCon 2011

Otimização de Sites

Sérgio Lopes

Page 8: QCon 2011

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%

Page 9: QCon 2011

75% dos sites demoraram 400ms ou menos no servidor.

A coisa tá feia mesmo!

Page 10: QCon 2011

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

Page 11: QCon 2011

Diminua a quantidade de Requests

* Junte os JavaScripts e CSS

* Use Data URIs (consome menos banda)<img src="http://phpied.com/images/check.png" />

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAIAAAA7ljmRAAAAGElEQVQIW2P4DwcMDAxAfBvMAhEQMYgcACEHG8ELxtbPAAAAAElFTkSuQmCC" />

Page 12: QCon 2011

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

Page 13: QCon 2011

Engenharia de performance no Twitter

Evan Weaver

Page 14: QCon 2011

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.

Page 15: QCon 2011

Trilhas

Page 16: QCon 2011

Refatoração em Larga Escala

Danilo Sato

Page 17: QCon 2011

Porque Refatorar?

* Adicionar nova funcionalidade

* Corrigir bugs

* Melhorar o Design

* Otimizar o código

Page 18: QCon 2011

Para refatorar…

* Entender os motivos da mudança

* Planejá-las

* Coding Kata! (exercício de programação baseado em repetições)

Page 19: QCon 2011

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

Page 20: QCon 2011

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

Page 21: QCon 2011

Veja o exemplo em:

http://g

ithub.com/dtsa

to/refactorin

g-experiment

Page 22: QCon 2011

Design de Código: a qualidade que faz a

diferença

Guilherme Silveira

Page 23: QCon 2011

Dificuldades em um Dificuldades em um projetoprojeto

* Implementação

* Design

* Arquitetura

Page 24: QCon 2011

Design = como seu código se comunica

Implementação = como seu código é executado

Page 25: QCon 2011

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!

Page 26: QCon 2011

Não dá para falar de arquitetura ou design sem falar de implementação

Page 27: QCon 2011

Em suma, cuide do código!Faça-o mais legível possívelPorque um dia você vai precisar dar manutenção nele e ai você não poder reclamar

Page 28: QCon 2011

Divida Técnica

Alexandre Freire

Page 29: QCon 2011

Tipos...

Irresponsável

Consciente

Page 30: QCon 2011

Débito não é Divida

Page 31: QCon 2011

Divida se paga

Page 32: QCon 2011

* Atrasos

* Bugs

* Sistema Engessado

* Baixa Cobertura de Código

* Falha de comunicação

Page 33: QCon 2011

Calcule e pague

Page 34: QCon 2011

2º Dia

Page 35: QCon 2011

Key Notes

Page 36: QCon 2011

Caching e NoSQL?

Kunal Bhasin

Page 37: QCon 2011

Que tal Centenas de Gigabytes no

cache da memória?

Page 38: QCon 2011

Garbage Collector não deixa!

Page 39: QCon 2011

Os caras da TerraCotta conseguiram resolver este problema

Page 40: QCon 2011

Em 2003, Greg Luck começou o projeto do Ehcache.

Em 2009 a TerraCotta assumiu o projeto.

Page 41: QCon 2011

O Ehcache gerencia os objetos que estão em cache e decide quando joga-los ou não no lixo.

Page 42: QCon 2011

MythBuster – Mission Cloud Computing @NASA

Khawaja Shams

Page 43: QCon 2011

Cloud Computing

Page 44: QCon 2011

Cloud não é seguro?

Page 45: QCon 2011

Cloud não é confiável?

Page 46: QCon 2011

Cloud é apenas para pequenas

empresas?

Page 47: QCon 2011

Amazon

Page 48: QCon 2011

O Jet Propulsion Laboratory da NASA +TI

Page 49: QCon 2011

Evolução da Arquitetura como fazê-la funcionar

Rebecca Parson

Page 50: QCon 2011

Arquitetura Evolucionária

Vs

Design Emergente

Page 51: QCon 2011

www.ibm.com/developerworks/br/java/library/j-eaed10/

Arquitetura

Design

Page 52: QCon 2011

A hora de agir

Page 53: QCon 2011

Usar ferramentas fáceis de mudar

Page 54: QCon 2011

Automatize...

Page 55: QCon 2011

Almoço

Page 56: QCon 2011

Trilhas

Page 57: QCon 2011

Edição de Homes com Javascript End to End

Jorge Walendowsky

Page 58: QCon 2011

Dificuldades no...

Page 59: QCon 2011

Sacadas...

Page 60: QCon 2011

Java Script

+ Json

+ NodeJs

+ HTML 5

Page 61: QCon 2011

Separam a lógica do HTML

Page 62: QCon 2011

Programação funcionalCom OO em Java Script

Christiano Milfont

Page 63: QCon 2011

Dificuldades com JS

Page 64: QCon 2011

Linguagem Fraca

Page 65: QCon 2011

Usar técnicas para contornar...

Page 66: QCon 2011

Testes de Interface

Andrews MedinaFrancisco Souza

Page 67: QCon 2011

Várias Ferramentas...

Page 68: QCon 2011

Splinter

Page 69: QCon 2011
Page 70: QCon 2011

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/