Vagrant – Máquinas virtuais automatizadas para desenvolvimento

Logotipo do VagrantQuando você começa a trabalhar com programação, é a principio normal que sua máquina fique um pouco bagunçada. Bibliotecas pra cá, interpretadores pra lá, compiladores ali, e assim vai. Depois de algum tempo, você até se encontra de forma que consegue usar tudo o que você mesmo colocou e dessa forma consegue fazer o que quer, ou seja, programar. O problema é quando você precisa efetivamente replicar este mesmo ambiente em outras máquinas, como a máquina dos seus colegas de trabalho,  por exemplo, ou quando você por algum motivo perde todos os dados da máquina (como quando o HD resolve pifar, o que costuma acontecer com certa frequência, pelo que vejo). É aí que a situação complica, e por causa disso hoje vou falar um pouco sobre o Vagrant e inclusive apresentar um breve tutorial sobre como usá-lo da maneira devida.

Continuar lendo Vagrant – Máquinas virtuais automatizadas para desenvolvimento

Bower – Gerencie Javascript e CSS com facilidade

Quando a aplicação é pequena e você é o único desenvolvedor do projeto, pode até ser fácil e rápido pegar todos os JS e CSS que você precisa (como do jQuery, por exemplo), colocar em alguma pasta do projeto e simplesmente usá-los referenciando em seu HTML. Entretanto, conforme o projeto vai crescendo, seja em complexidade seja em número de colaboradores, as coisas vão ficando mais complicadas e vale ter noção de versionamento, dependências e tudo mais. E fazer tudo isso manualmente é bem... chato.

E não basta ser chato! Conforme o tempo vai passando, vai ficando cada vez mais difícil manter o projeto com as dependências não sendo auLogo do Bower - Um gerenciador de dependências para seu projeto web!tomaticamente gerenciadas. Afinal, quem aí já tentou atualizar as dependências de um projeto que não possui esse tipo de gerenciamento? Dica: não queira tentar.

É por isso que gerenciadores de pacotes se tornaram cada vez mais comum na web. E hoje vou falar um pouco sobre o Bower, um popular gerenciador de dependências projetado para gerenciar especialmente dependências do frontend, como projetos CSS, Javascript, etc.

Continuar lendo Bower – Gerencie Javascript e CSS com facilidade

Ngrok – Vá além do localhost

Quem desenvolve para a web sabe que, durante o desenvolvimento, é comum usar um servidor HTTP local para poder testar os sites e aplicações web desenvolvidos. Sabe também que, por ser um servidor local, outras pessoas não tem acesso ao que você desenvolve localmente, e isso pode ser um problema caso você queira que outra pessoa teste rapidamente o que você desenvolveu ou queira apenas mostrar uma funcionalidade nova a um amigo.

Continuar lendo Ngrok – Vá além do localhost

Mailhog – Teste seus e-mails em desenvolvimento

Quando se desenvolve uma aplicação web, é normal que tal aplicação possua suporte a envio de e-mails. Seja para confirmar o e-mail do usuário, seja para mandar boas vindas a ele, seja para recuperar senha, enfim, são variados os e-mails a serem enviados pela aplicação e normalmente é bem chato de testar o envio em ambiente de desenvolvimento, pois o envio de e-mails exige configuração de algumas coisas bem chatas, como host SMTP, usuário, senha, criptografia, e por aí vai.

Continuar lendo Mailhog – Teste seus e-mails em desenvolvimento

Guake – Terminal com fácil acesso em qualquer lugar

Quem é desenvolvedor sabe que o uso do terminal costuma ser constante. Quando eu comecei no Linux, por exemplo, um dos primeiros comandos que eu aprendi e memorizei foi o tradicional CTRL+ALT+T, que abria uma janela do terminal para a entrada de comandos. Um problema desta abordagem, no entanto, é que com mais janelas abertas no sistema, mais ALT+TAB eu fazia, principalmente quando estava checando algum tutorial de instalação de alguma ferramenta ou biblioteca que eu curti e que precisava de algum comando mais avançado além do tradicional ./configure && make && make install ou procedimento com gerenciadores de pacote (npm install, pip install, etc.).

Continuar lendo Guake – Terminal com fácil acesso em qualquer lugar

Sentry – Monitoramento de bugs em aplicações

Quando um programador iniciante vai lançar uma aplicação, é comum que este programe-a de forma que, a cada exceção lançada, seja enviado um e-mail para ele. No inicio, esse tipo de método funciona bem, pois a aplicação raramente começa ser um sucesso logo nos primeiros dias. Entretanto, conforme a aplicação vai adquirindo novos usuários, esse método começa a se provar não-escalável, e a caixa de entrada do e-mail começa a ficar cada vez mais cheia devido a bugs que, mesmo que pequenos, podem ser causados muitas, dezenas, centenas, talvez milhares de vezes, devido ao uso da aplicação por cada usuário.

Continuar lendo Sentry – Monitoramento de bugs em aplicações

Gource – Histórico de seu repositório de código fonte, redesenhado

Visualizar o histórico de um repositório pode ser chato demais. Normalmente, as ferramentas de gerenciamento de repositórios nos fornecem somente visualizações em forma de timeline, mostrando o histórico dos branches numa normalmente longa e tediosa lista (imagine ver uma lista com 10000 commits?). Entretanto, para conhecer o histórico do projeto, as vezes pode ser útil sair um pouco dessa lista e ver as coisas de um novo ângulo, saber quem trabalhou no quê, em que ordem os arquivos foram trabalhados, conhecer o que as pessoas fizeram no projeto....Enfim, coisas que uma lista até retornar, mas que pode ser tedioso e chato para explorar.

Continuar lendo Gource – Histórico de seu repositório de código fonte, redesenhado