seu site voando

31
Seu site voando Maurício Linhares - @mauriciojr sábado, 13 de novembro de 2010

Upload: mauricio-linhares

Post on 19-Jun-2015

2.317 views

Category:

Technology


1 download

DESCRIPTION

Melhorando a performance da sua aplicação web sem dor nem sofrimento com dicas simples e fáceis de serem implementadas em qualquer aplicação web.Material apresentado originalmente no Maré de Agilidade Fortaleza, 2010.

TRANSCRIPT

Page 1: Seu site voando

Seu site voandoMaurício Linhares - @mauriciojr

sábado, 13 de novembro de 2010

Page 2: Seu site voando

Quem?

Java, Ruby, Objective-C, whatever

Developer da OfficeDrop.com

Agile Coach que escreve código

Finge que é músico jogando Rock band

sábado, 13 de novembro de 2010

Page 3: Seu site voando

Onde?

sábado, 13 de novembro de 2010

Page 4: Seu site voando

Aprenda a respeitar o protocolo HTTP

Ler o RFC ajuda

sábado, 13 de novembro de 2010

Page 5: Seu site voando

GET é PEGAR uma CÓPIA, macho

Dicionário: não cause alteraçoes no seu BANCO, mané

sábado, 13 de novembro de 2010

Page 6: Seu site voando

Quando usar GET?

Visualizar informaçoes

Buscar informaçoes (usuários devem ser capazes de fazer bookmarking)

Análise de tráfego (Analytics? Alguém?)

sábado, 13 de novembro de 2010

Page 7: Seu site voando

POST é MANDAR um mói de coisa, abestadoE isso pode causar mudanças no seu BANCO

sábado, 13 de novembro de 2010

Page 8: Seu site voando

Princípio da idempotência

Vários GETs == mesmo resultadoVários POSTs == várias linhas no banco

sábado, 13 de novembro de 2010

Page 9: Seu site voando

Google Web AcceleratorUma história épica e dramática em um único

capítulo, no seu Netscape mais próximo

sábado, 13 de novembro de 2010

Page 10: Seu site voando

Otimizações de front-end

Mais fácil do que achar um cearense que não sabe contar piada

sábado, 13 de novembro de 2010

Page 11: Seu site voando

Use um proxy-server pra servir o seu conteúdo

Nginx, por favor

!"#$%&

!"#$%&'('

!"#$%&'')'

!"#$%&''*'

sábado, 13 de novembro de 2010

Page 12: Seu site voando

Defina cabeçalhos de expires pra todo o

conteúdo estático em um futuro muito distante

sábado, 13 de novembro de 2010

Page 13: Seu site voando

Problemas?

Se você atualizar o arquivo, o browser não vai ver

É necessário renomear os arquivos ou mudar a chamada pra eles

/javascripts/jquery.js?12398766

sábado, 13 de novembro de 2010

Page 14: Seu site voando

Nginx config

location ~ ^/(images|javascripts|stylesheets)/ { root /home/deployer/shop/current/public;  expires max;  break;}

sábado, 13 de novembro de 2010

Page 15: Seu site voando

Ligue a compressão GZIP do seu proxy

sábado, 13 de novembro de 2010

Page 16: Seu site voando

Nginx config

gzip on;gzip_http_version 1.0;gzip_proxied any;gzip_min_length 500;gzip_disable "MSIE [1-6]\.";gzip_types text/html text/xml text/javascript;

sábado, 13 de novembro de 2010

Page 17: Seu site voando

Coloque o seu CSS no início da página

Assim o IEca não fica fazendo pantim na hora de mostrar o HTML

sábado, 13 de novembro de 2010

Page 18: Seu site voando

Use CSS sprites

sábado, 13 de novembro de 2010

Page 19: Seu site voando

No CSS

<div  style="background-­‐image:  url('a_lot_of_sprites.gif');        background-­‐position:  -­‐260px  -­‐90px;        width:  26px;  height:  24px;"></div>

sábado, 13 de novembro de 2010

Page 20: Seu site voando

Contrate uma CDN pra servir conteúdo estático

e de usuáriosCDN == Content Delivery NetworkS3 pra todos nós que somos pobres

sábado, 13 de novembro de 2010

Page 21: Seu site voando

Junte todos os CSS e JavaScripts em um único

arquivo:cache => “todos_os_estilos”faz isso pra você no Rails

sábado, 13 de novembro de 2010

Page 22: Seu site voando

Faça crushing dos seus PNGs

pngcrush for the win

sábado, 13 de novembro de 2010

Page 23: Seu site voando

Use hosts separados pra servir conteúdo estático

assets1.meusite.com.brassets2.meusite.com.brassets3.meusite.com.brassets4.meusite.com.br

sábado, 13 de novembro de 2010

Page 24: Seu site voando

Remova os metadados de JPEGs

convert -strip source.jpeg destination.jpegImageMagick

sábado, 13 de novembro de 2010

Page 25: Seu site voando

Otimizações de JavaScript

sábado, 13 de novembro de 2010

Page 26: Seu site voando

Coloque Scripts no FIM da página

sábado, 13 de novembro de 2010

Page 27: Seu site voando

Faça o download de scripts de forma

assíncrona

document.write(“<script src=‘something.js’>”)

XHR fazendo eval no script

dom.createElement( “script” )

sábado, 13 de novembro de 2010

Page 28: Seu site voando

Faça a minificação dos seus scripts

YUI Compressor

JSMIN

JS Minifier

sábado, 13 de novembro de 2010

Page 29: Seu site voando

Quebre os scripts da primeira página em 2

beforeOnload.jsafterOnload.js

sábado, 13 de novembro de 2010

Page 30: Seu site voando

Use requisições Ajax para navegar no seu site

Twitter.com? Alguém?

sábado, 13 de novembro de 2010

Page 31: Seu site voando

Dúvidas?É nóis que vôa, bruxão!

sábado, 13 de novembro de 2010