29 de abril de 2015

Instalando Bower (Package Manager for FrontEnd)

São várias as tecnologias de apoio para o desenvolvimento web, Mas poucas criam uma sensação de "preciso ter isso na minha próxima aplicação" como o Bower (http://bower.io)

Bower: A package manager for the web
Ele é um gerenciador de pacotes no nível local da sua aplicação web. Isso mesmo! Se vc conheçe yum, ou apt-get, é um software com o mesmo propósito, mas que vai por exemplo implantar angular no seu projeto só com:

bower install angular

Nada de ir em sites, sair "catando" CDNs para colocar no atributo src da tag script, nem depender de disponibilidade da rede do ambiente do seu lugar de estudo/trabalho.

Instalação

Dentro de uma VM linux com o CentOS (instruções aqui), e para seguir as instruções de instalação do site do Bower, precisamos de um node implantado. Uma maneira simples de conseguir isso é usando o Node Version Manager (https://github.com/creationix/nvm), que também é bem fácil de instalar. 

Na linha de comando, digite (# = root user; $ common user ):

# yum -y install wget git
$ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.25.0/install.sh | bash

Isso vai disponibilizar o comando nvm. Crie então um arquivo de nome .nvmrc
(lembre-se do caracter '.' antes do nvmrc) e salve nele a palavra stable
. Isso vai informar ao nvm qual a versão do node que você vai usar.

use os seguintes comandos:
# nvm install stable
# nvm use stable

No momento a linha anterior for executada com sucesso, os executáveis do node e npm estão disponíveis para uso. Você pode testar se tudo está ok, usando o comando

node --version

que deve mostrar a versão recente mais estável do node.

Agora vamos instalar o Bower! Na linha de comando, em modo usuário root, digite

# npm install -g bower

Cabou instalação do Bower!







23 de abril de 2015

Ambiente de Desenvolvimento - VM

Uma das coisas mais primárias ao usar uma nova tecnologia é montar seu próprio ambiente de desenvolvimento, e no contexto atual de desenvolvimento Web, existe uma diversidade de tecnologias que são usadas para o setup do ambiente.
  1. Os softwares de pilhas de desenvolvimento vêm com muitas outras aplicações que não necessariamente preciso. Normalmente são inicializadas no start do Sistema Operacional, e acabam consumindo recursos da máquina para algo que não estou usando;
  2. Algumas dessas pilhas são tão intrincadas que é difícil desinstalá-las por completo. Acho que hoje já foi corrigido, mas na época da minha graduação, o XAMPP (uma pilha com o Apache HTTPD, MySQL, PHP, Perl, MercuryMail – server e client, FileZilla – server e client, e muitos outros...) só a formatação da máquina servia para garantir a desinstalação dele.
  3. As configurações de cada software são definidas para que tudo seja permitido de qualquer maneira. Isso tem duas consequências ruins:
    1. Acostuma o desenvolvedor que tudo será permitido no ambiente de produção. Não se iluda, é uma mentira clara.
    2. Se tudo é permitido, a segurança da máquina em que a pilha foi instalada fica comprometida. O XAMPP por exemplo até dá avisos em sua página que não é uma configuração para produção.
  4. Algumas features podem ficar perdidas, dada a maturidade do projeto. Um gerenciador de pacotes pode não existir, um comando pode não ter sido instalado e pra fazer essas características funcionarem, normalmente é mais complicado que se cada elemento tivesse sido instalado isoladamente.

Cada ambiente de desenvolvimento web vai ser composto por servidor web, linguagem de programação, banco de dados, editor de código e utilitários. Eu ainda prefiro isolar meu ambiente em máquinas virtuais, o que coloca algumas aplicações mais.

Geralmente eu utilizo o VirtualBox, e faço a instalação mínima do CentOS. A iso para download fica no link http://isoredirect.centos.org/centos/7/isos/x86_64/. Lá você escolhe o mirror mais próximo e baixa o arquivo iso que tem o nome mais próximo de: CentOS-7-x86_64-Minimal.iso

No VirtualBox, crie uma máquina com 1024 MB de RAM, 1 processador, uma interface de rede habilitada (em política NAT) e 120 GB de disco no modelo dinamicamente alocado (normalmente não é necessário tanto, mas não vai pesar na tua máquina).

Monte a iso no drive de CD da máquina virtual criada e ligue-a. A primeira tela será:


Escolha "Install CentOS 7" pressionando Enter


Na tela acima, você escolhe a linguagem da instalação. Eu sempre recomendo trabalhar em inglês.


A tela principal da instalação vai aparecer. Nossas configurações devem ser feitas todas aqui e voltaremos várias vezes para essa tela. Clique no item "Date & Time" e a seguinte tela vai ser exibida:


Escolha a sua região e cidade (no meu caso, Recife). Isso também pode ser feito clicando na área próxima à sua cidade. Selecione também se deseja que o formato de hora seja de 12 ou 24 horas, e ative a chave Network Time, para que os relógios do sistema sejam sincronizados pela web. Clique no botão azul "Done" na parte de cima da tela. Você voltará para a tela principal da instalação.

Escolha agora "Keyboard"

Na tela que surge clique no botão "+" como a figura acima mostra. Escolha o teclado "Portuguese (Brazilian)", e remova o English (US) caso seu teclado seja ABNT2. Clique no "Done" na parte de cima da tela. Você voltará para a tela principal da instalação.

Escolha agora "Installation Destination"


Garanta que o disco virtual esteja marcado e que seja selecionado o particionamento automático. Clique no "Done" na parte de cima da tela. Você voltará para a tela principal da instalação.

Clique agora em "Hostname & Network"


Defina o hostname. Na figura o que foi definido foi server1.example.com, mas poderia ser somente server1. Ligue a chave da interface de rede que está desligada. Clique agora no botão configure da interface Ethernet.


Clique na aba IPv4 e no método, selecione "Automatic (DHCP)". Clique no Botão "Save", e depois "Done". Ao voltar para a tela principal, clique no botão "Begin Installation". Aparecerá a tela de acompanhamento da instalação, que ainda oferece duas configurações a serem feitas:


Clique em "Root Password" e defina a senha do usuário root. Clique depois no "User Creation" para criar um usuário administrativo não root.




No término da instalação, você terá de reiniciar a VM. O gerenciador de boot vai parecer com a tela seguinte:


e após a inicialização, a tela será parecida com essa:


Nesse ponto, você pode logar como root e mandar o seguinte comando:

yum update

e após a execução do comando, seu sistema estará atualizado

No próximo post, faremos os detalhes para ter o editor de texto funcionando "on steroids".