Git – Sistema de controle de versões distribuído

Logotipo do GitSe você trabalha com desenvolvimento e não registra as alterações feitas no seu projeto, você está praticamente perdido. O que fazer se uma alteração for enviada para produção e der algum erro? Tira tudo do ar? Restaura um backup? Da mesma forma, como descobrir quem fez essa alteração - no caso de você trabalhar em uma equipe de 5, 10, 20 pessoas? - e ainda, como separar o trabalho de cada um de tal forma que seja possível criar vários recursos novos para um mesmo projeto, paralelamente, juntando todas as alterações no final, sem necessitar do uso de pendrives para copiar arquivos para lá e para cá? Bom, é com o objetivo de facilitar todas essas tarefas que hoje eu vou falar um pouco (e apresentar um breve tutorial) sobre o Git, um poderoso sistema de controle de versões distribuído.

Continuar lendo Git – Sistema de controle de versões distribuído

Docker – O que é, o que não é, e alguns detalhes a mais

Logotipo do DockerNo último post, eu falei um pouco sobre o Vagrant,  que é uma ferramenta que permite criar e distribuir máquinas virtuais voltadas especificadamente para desenvolvimento de software. Pois bem, quem já é mais antenado nas últimas novidades, ao ler o último post, deve ter pensado algo como "nossa, mas já temos o Docker, e containers são muito melhores que máquinas virtuais!!!!!". E bem, na verdade, tempos atrás, eu mesmo teria dito o mesmo sobre quem ousasse comentar sobre Vagrant, máquinas virtuais e tal. Por isso, hoje, vou falar sobre o Docker, o que ele faz, o que ele não faz, seus recursos, uma breve comparação com o Vagrant e todo o contexto das máquinas virtuais e também um breve tutorial de uso.

Continuar lendo Docker – O que é, o que não é, e alguns detalhes a mais

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