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
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 em ESB (Enterprise Service Bus)
http://pt.wikipedia.org/wiki/Enterprise_Service_Bus
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á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%
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 Imagens no HTML
* Otimize as imagens
* Diminua cookies e headers
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" />
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
Engenharia de performance no Twitter
Evan Weaver
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.
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ções)
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
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
Veja o exemplo em:
http://g
ithub.com/dtsa
to/refactorin
g-experiment
Design de Código: a qualidade que faz a
diferença
Guilherme Silveira
Dificuldades em um Dificuldades em um projetoprojeto
* 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ção!
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ívelPorque um dia você vai precisar dar manutenção nele e ai você não poder reclamar
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 funcionalCom OO em Java Script
Christiano Milfont
Dificuldades com JS
Linguagem Fraca
Usar técnicas para contornar...
Testes de Interface
Andrews MedinaFrancisco 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-principal-evento-de-arquitetos-e-desenvolvedores-no-brasil/