Frontinsampa 2013

Já está sabendo do Frontinsampa 2013? Estamos apoiando o evento este ano, que vai ser imperdível por diversos motivos, entre eles quero destacar dois:

Lea Verou

Isso mesmo! A Lea (ou se você prefer formalidade, Michaelia Komvouti-Verou) trabalha no W3C e vai dar o ar da graça, palestra internacional no evento! Dando uma olhada nos projetos dela dá para ter idéia de que a palestra será sensacional.

Inferno

Se você tem alguma dúvida de que o Frontinsampa poderia ser “só mais um evento de front-end”, esta dúvida acaba agora: o evento vai acontecer no Inferno, uma casa noturna que fica na Rua Augusta, aqui em São Paulo. A casa será adaptada para o dia do evento e contará com toda a infraestrutura que o evento exige!

FrontinSampa

Quando: 14 de Setembro
Onde: Inferno (Rua Augusta), São Paulo SP
Quanto: R$200,00 (R$175,00 se você usar nosso cupom de desconto!)


Cupom de desconto

Como alguns de vocês sabem, eu sou sócio do Eu Compraria! e nós estamos apoiando o evento, estaremos lá com vários produtos!

De quebra a organização liberou um cupom de desconto (no valor de R$25,00), faça agora sua inscrição utilizando o cupom: EUCOMPRARIA-25 


Vamos lá aprender e discutir front-end e tomar uma cerveja depois? 😀

Montando um novo volume na Amazon EC2

Uso o serviço de cloud (EC2) da Amazon, mas ainda não utilizo do S3 para storage de arquivos então tive a necessidade de montar um volume maior na minha instância, para armazenamento de backups e outros arquivos do servidor.

Criando um volume no EC2

O primeiro passo é montar um volume no painel de controle do AWS – monte o volume sem resgatar nenhuma snapshot.

Feito isso, agora precisamos deixar este volume criado acessível pela sua instância, para isso será necessário “interligar” o volume criado a sua intância.

  1.  Clique com o botão direito no volume criado
  2. Clique em attach volume
  3. Selecione a sua instância

Agora o novo volume estará visível para a sua instância, precisamos montar o volume. Primeiro vamos ver o nome do volume montado, ainda no painel selecione o volume que você criou.

No meu caso o nome é sdg (veja o campo Attachment das informações do volume (este nome é escolhido quando você seleciona a qual instância este volume irá ser atrelado, no passo anterior deste tutorial).


Montando o volume no EC2 (Linux)

Primeiro crie um FS para o volume criado:

sudo mkfs.ext3 /dev/sdg

Agora é só montar no local que você achar melhor, para este exemplo vou montar em /meuvolume

Abra o arquivo /etc/fstab:

sudo vim /etc/fstab

E adicione a seguinte linha:

/dev/sdg /meuvolume ext3 noatime 0 0

Agora crie o diretório meuvolume e monte:

mkdir /meuvolume
mount /meuvolume

Pronto, agora você tem um novo volume montado e acessível na sua instância!

Aprendi fazendo depois de ler aqui.

Os perigos do Compass!

Tenho trabalhado muito com compass ultimamente e para falar a verdade não consigo mais trabalhar diretamente no .css, a estrutura e legibilidade que ele proporciona são excelentes. Mas tenho percebido um problema nos meus códigos que nunca vi ninguém falar antes pelos blogs e afins, bom vamos ao cenário:

Imagine que você tem que fazer a seguinte tela:

No compass você fara algo assim:

a, .address{

 display: inline-block;
 padding: 30px 15px;
 border: solid 1px #c3c3c3;
 margin-right: 10px;
 width: 200px;
 text-align: center;
}

Até então nada diferente de um css normal, mas então o design muda e fala que o endereço agora será negrito e vermelho, colocamos a tag strong no html e vamos la no css estilizar o strong para vermelho:

No compass você fara algo assim:

a, .address{
 display: inline-block;
 padding: 30px 15px;
 border: solid 1px #c3c3c3;
 margin-right: 10px;
 width: 200px;
 text-align: center;
 strong{
  color: #ff0000;
 }
}

Ok, tudo certo, funcionando e minimizado por que temos sempre que pensar em performance certo? Mas espera um pouco vamos olhar o css criado pelo compass:

a, .address{
 display: inline-block;
 padding: 30px 15px;
 border: solid 1px #c3c3c3;
 margin-right: 10px;
 width: 200px;
 text-align: center;
}

a strong, .address strong{
 color: #ff0000;
}

Opa, a strong? Pois é muitas vezes com a comodidade que o compass nos oferece deixamos alguns códigos desnecessários passar e toda aquela nossa preocupação com a performance vai por aguá abaixo, claro que esse é um exemplo simples, mas pense naqueles grandes sites com mais de 20 arquivos .css e cada um com umas 700 linhas cada.

Shellscript para configurar domínio no Apache

Quando você se torna freelancer ou empreendedor a automatização passa a ser um ponto ainda mais importante no seu dia a dia. Cada tarefa automatizada significa aumento de lucro a longo prazo, mais tempo para estudar ou descansar. 

Pensando em automatização, recomendo que você aprenda como usar o GruntJS neste ótimo artigo do Fernahhh.

Eu administro um servidor AWS para meus projetos e projeto de alguns clientes, é um Ubuntu Server com Apache. Configurar domínios, principalmente localmente no meu ambiente de desenvolvimento, se tornou uma tarefa comum e que levava alguns minutos.

A cada novo projeto que vou trabalhar (seja front-end ou back-end) eu aponto um novo domínio para meu servidor local (hosts) e crio um domínio no meu apache apontando para o repositório do projeto. 

Shellscript para automatizar a criação de domínios no Apache

Resolvi utilizar shellscript para automatizar a criação de domínios no Apache. Encontrei um script e adaptei para a minha necessidade.

Este script rece um parâmetro, que é o domínio que será criado.

Exemplo:

sh create-site andafter.org

As ações do script:

  1. Cria os diretórios para o domínio
    1. /var/www/$dominio
    2. /var/www/$dominio/public
    3. /var/www/$dominio/logs
  2. Cria um arquivo de configuração com o nome do comínio em /etc/apache2/sites-available
  3. Cria um link simbólico para ativar o domínio (sites-enabled)

create-site.sh

!/bin/bash
################
# Script for creating Virtual Servers On Apache
# Check for the correct parameters
if [ $# -eq 0 ]; then
        echo 'Você precisa passar o domínio a ser criado como parâmetro'
        echo 'Uso: create-site gssolutions.com.br'
        exit 0
fi
# Assign Variables
SITE=$1
# Create the Directory which will contain your Virtual Site
if [ ! -d /var/www/$SITE ]; then
        mkdir /var/www/$SITE
        mkdir /var/www/$SITE/public
        mkdir /var/www/$SITE/logs
fi
# Create the Config file for your virtual site
echo "<virtualhost *:80="">"> /etc/apache2/sites-available/$SITE
echo    "# Admin email, Server Name (domain name) and any aliases"  >> /etc/apache2/sites-available/$SITE
echo    "  ServerAdmin [email protected]" >> /etc/apache2/sites-available/$SITE
echo    "  ServerName $SITE" >> /etc/apache2/sites-available/$SITE
echo    "  ServerAlias www.$SITE" >> /etc/apache2/sites-available/$SITE
echo    " ">>/etc/apache2/sites-available/$SITE
echo    "  # Index file and Document Root (where the public files are located)" >> /etc/apache2/sites-available/$SITE
echo    "  DirectoryIndex index.html" >> /etc/apache2/sites-available/$SITE
echo    "  DocumentRoot /var/www/$SITE/public" >> /etc/apache2/sites-available/$SITE
echo    "  LogLevel warn" >> /etc/apache2/sites-available/$SITE
echo    "  ErrorLog  /var/www/$SITE/logs/error.log" >> /etc/apache2/sites-available/$SITE
echo    "  CustomLog /var/www/$SITE/logs/access.log combined" >> /etc/apache2/sites-available/$SITE
echo "</virtualhost>" >> /etc/apache2/sites-available/$SITE
echo    "<directory \"="" var="" www="" $site="" public\"="">" >> /etc/apache2/sites-available/$SITE
echo    "   Options Indexes FollowSymLinks" >> /etc/apache2/sites-available/$SITE
echo    "   AllowOverride All" >> /etc/apache2/sites-available/$SITE
echo    "   Order allow,deny" >> /etc/apache2/sites-available/$SITE
echo    "   Allow from all" >> /etc/apache2/sites-available/$SITE
echo    "</directory>" >> /etc/apache2/sites-available/$SITE
# Create the Sym Link to enable your Virtual Site
if [ ! -L /etc/apache2/sites-enabled/$SITE ]; then
        ln -s /etc/apache2/sites-available/$SITE /etc/apache2/sites-enabled/
fi

Se você quiser pode adicionar ao final do script o comando para dar reload nas configurações do Apache.

Ilustra do “apache” é do ~pitx

Como encontrar o PHP.ini?

Já tive problemas para encontrar o PHP.ini no MacOS, eu alterava as configurações do meu arquivo php.ini, reiniciava o meu apache e as mudanças não eram aplicadas.

Já imaginava que era isso, então descobri que eu estava alterando um php.ini que não estava sendo carregado pelo PHP na minha máquina.

Como descobrir onde está o PHP.ini?

Você pode criar uma página que exiba toda a configuração do PHP e exiba em seu navegador, para isso crie um arquivo com o seguinte:

<?
phpinfo();
?>

Coloque o arquivo em uma pasta acessível pelo seu Apache e abra ela no navegador, esta página exibe todas as configurações do seu PHP.

Procure por “configuration file” e lá estará o caminho (path) do arquivo de configuração carregado pelo PHP.

Descobrindo o php.ini no terminal

Se você tem acesso a um terminal pode exibir todas as informações do php.ini direto no terminal, para isso digite:

php -i

E para facilitar a identificação do caminho completo do seu arquivo de configuração do PHP (php.ini) execute o seguinte comando no terminal:

php -i | grep 'Configuration File'<br>

Espero ter te ajudado a encontrar o caminho do php.ini.


Graças ao google os artigos mais acessados do O Desenvolvedor são os que responsem dúvidas simples com respostas rápidas, quer saber mais sobre PHP? Leia também: