Categoria: Business

Desempenho de Websites com Google PageSpeed Insights

Muitos se preocupam com boa pontuação no Pages Speed:
pagespeed_animation
Nesta semana foram corrigidas algumas configurações que ficaram erradas após migrações, e que estavam afetando performance.
Isso é muito importante e pode ajudar na performance de websites. Se precisar de algum apoio, conte conosco!

Ah, dica extra sobre Linux:

Se estiver se perguntando “Como fazer uma animação simples como essa aqui logo acima?“. Bom, é bem simples.

Bate duas fotos(a.k.a. screenshots) por exemplo como foi feito ali no pagespeed, uma na abinha mobile, outra na abinha desktop, e faz o seguinte comando numa pasta contendo apenas essas duas imagens:

$ convert -delay 100 -loop 0 *.png animation.gif

Isso vai gerar um gif com nome animation.gif, que fica passando as duas imagens.

Esse exemplo mostra como gerar um gif a partir de duas imagens png. Mas também é possível fazer com mais!! Quantas forem necessário para sua explicação.

Ótima ferramenta de ensino para tutoriais, blogs, manuais de instrução online(aqueles em html).

Lembrando sempre que o convert é uma ferramenta encontrada dentro do pacote do ImageMagick, então se não tens imagemagick:

$ sudo apt-get install imagemagick imagemagick-common

Por: Hudson Santos
Referência: https://unix.stackexchange.com/questions/24014/creating-a-gif-animation-from-png-files

letsencrypt: Certificado HTTPS gratuito, automatizado e aberto

Isso mesmo, Let’s Encrypt é uma nova Autoridade Certificadora patrocinada por gigantes como mozilla, facebook, cisco e google-chrome..

Qualquer pessoa que já trabalhou na criação de um site seguro(https) sabe a burocracia que era obter e manter um certificado. Let’s Encrypt automatiza e resolve este problema, permitindo que operadores de sites ativem e gerenciem seu HTTPS com comandos simples. Isso significa:

  • Nenhum e-mail de validação;
  • Sem edição de configuração complicada;
  • Sem certificados expirados quebrando seu site.

E, claro, uma vez que o Let’s Encrypt fornece certificados de graça, não há necessidade de providenciar o pagamento.

Este POST visa descrever como realizar as funções de gestão de certificados mais comuns usando o cliente Let’s Encrypt.

Se quiser aprofundar conhecimento e saber mais sobre como isso funciona nos bastidores, acesse os links nas referências ao final deste POST.

Primeiro passo é acessar seu servidor e fazer uma cópia do cliente letsencrypt:

$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt
$ ./letsencrypt-auto –help

Agora vamos gerar o certificado:

$ ./letsencrypt-auto certonly –webroot –webroot-path /var/www/seu_dominio.com.br –renew-by-default –email webmaster@seu_dominio.com.br –text –agree-tos -d seu_dominio.com.br -d www.seu_dominio.com.br

Logo após a geração, se tudo correr bem, você verá algumas informações importantes tais como essa a seguir. Guarde em local seguro.

IMPORTANT NOTES:
If you lose your account credentials, you can recover through
e-mails sent to webmaster@seu_dominio.com.br.

Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/seu_dominio.com.br/fullchain.pem. Your cert will
expire on 2016-05-26. To obtain a new version of the certificate in
the future, simply run Let’s Encrypt again.

Your account credentials have been saved in your Let’s Encrypt
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Let’s
Encrypt so making regular backups of this folder is ideal.

If you like Let’s Encrypt, please consider supporting our work by:

Donating to ISRG / Let’s Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

Agora habilite em seu webserver as configurações necessárias apontando para o certificado gerado. Segue as configurações para os webservers mais usados:

Nginx:

listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/seu_dominio.com.br/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/seu_dominio.com.br/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;

Apache:

Dê uma olhada se há alguma configuração no ports.conf.
Senão, crie um arquivo de configuração para seu domínio: /etc/apache2/sites-available/seu_dominio.com.br-ssl.conf

Com o seguinte conteúdo:

<VirtualHost *:443>
ServerAdmin webmaster@seu_dominio.com.br
ServerName www.seu_dominio.com.br
ServerAlias seu_dominio.com.br
DocumentRoot “/var/www/seu_dominio.com.br/”
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM

SSLCertificateFile /etc/letsencrypt/live/seu_dominio.com.br/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/seu_dominio.com.br/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/seu_dominio pf8melp.com.br/chain.pem
</VirtualHost>

…depois faça um link simbólico pra ele dentro de sites-enabled:

ln -s /etc/apache2/sites-available/seu_dominio.com.br-ssl.conf /etc/apache2/sites-enabled/seu_dominio.com.br-ssl.conf

Se quiser fazer o redirecionamento de todo o tráfego entrante de HTTP para HTTPS, use regra 301 do tipo:

server {
listen 80 default;
server_name seu_dominio.com.br www.seu_dominio.com.br;
return 301 https://www.seu_dominio.com.br$request_uri;
}

E se por acaso estiver configurando o certificado num proxy, não esqueça de configurar o proxy para adicionar os cabeçalhos:

    location / {
proxy_pass http://localhost:1234;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

Desta forma, mesmo outros servidores ‘atrás’ do seu proxy terão condições de permanecer em HTTPS para o usuário, como na gravura a seguir:

Para re-validar seu certificado é simples: letsencrypt renew

Por exemplo, usuários nginx poderiam usar um script assim:

#!/bin/sh
if ! /caminho/para/seu/letsencrypt-auto renew > /var/log/letsencrypt/renew.log 2>&1 ; then
echo Automated renewal failed:
cat /var/log/letsencrypt/renew.log
exit 1
fi
nginx -s reload

Para apache:

#!/bin/sh
if ! /caminho/para/seu/letsencrypt-auto renew > /var/log/letsencrypt/renew.log 2>&1 ; then
echo Automated renewal failed:
cat /var/log/letsencrypt/renew.log
exit 1
fi
apachectl graceful

Agora basta fazer o teste pra saber se está tudo OK: https://cryptoreport.websecurity.symantec.com/checker/

Obrigado pela leitura e volte sempre.
Qualquer dúvida fique a vontade para postar nos comentários logo abaixo.

Referências:

Acordo de assinatura: https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf
https://letsencrypt.org/getting-started/
https://letsencrypt.org/howitworks/
https://support.cloudflare.com/hc/en-us/articles/214820528-How-to-Validate-a-Let-s-Encrypt-Certificate-on-a-Site-Already-Active-on-CloudFlare
https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-load-balancing-with-ssl-termination

Aproximação de clientes em potencial

Entrar em contato com um potencial cliente que nunca ouviu falar de você pode ser assustador. Seja através de uma ligação ou um email, é necessário dar atenção inicialmente justamente a essa maneira escolhida para contato.

Aos poucos torna-se fácil.

Segue formato de email usado para entrar em contato com clientes em potencial, e que já rendeu conversas que levam ao trabalho remunerado.

Assunto: Eu gostaria de ajudá-lo com X

Olá,

Meu nome é Eric Davis e eu gostaria de conversar com você sobre X.

Seu projeto chamou minha atenção pois X. Por gentileza, você poderia me contar um pouco sobre qual é sua principal necessidade atualmente?

Obrigado

Assinatura,

Perceba que única preocupação da abordagem é: iniciar uma conversa. Você não quer vender seu serviço logo de cara. Você não precisa contar-lhe toda sua história ou listar os nomes dos seus melhores clientes e provar 10 razões principais pelas quais você é o melhor freelancer para ele.

Você precisa apenas iniciar a conversa.

Levei algum tempo para entender isso. Eu tentava me vender ao máximo logo no email inicial para evitar ‘idas e vindas’ de informação, tipo uma conversa. Foi então que percebí que eu estava na verdade despejando uma parede de texto e sugestões de atividades a serem feitas pelo meu potencial cliente. Atividades estas que eu mesmo estava pedindo-lhes para realizar.

Como você se sentiria se alguém que você não conhece sugerisse um monte de atividades pra você fazer?

Comece pequeno, com um curto email inicial, e deixe a conversa progredir naturalmente.

Não tenha medo de abordagens frias. Emails, ligações telefônicas ou encontro pessoalmente: todos funcionam e todos tem suas vantagens e desvantagens. Mas é importante fazê-las de maneira apropriada.

Você perderá 100% dos clientes que não entrar em contato.

by Eric Davis (http://theadmin.org)