qcon 2011

Post on 15-May-2015

1.267 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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/

top related