Composer – Gerencie Dependências no PHP Facilmente

Logotipo do ComposerTodo projeto possui dependências. Isso é completamente normal e existe em qualquer linguagem de programação que você possa usar para criar seu projeto, seja PHP, Javascript, Ruby ou Go. O ponto é que eu vejo muitos projetos por aí que não usam sequer um gerenciador para ajudar a manejar toda a bagunça que o uso de muitas dependências podem causar, especialmente porque é comum uma dependência ter como dependência outra dependência (plugins do jQuery são um exemplo, assim como Underscore e Backbone), e, no server-side, isso só se torna ainda mais importante: Já imaginou o quão grave seria um problema com alguma dependência importante no seu projeto e o quão louco seria atualizá-la quando vários outras dependências do seu projeto a usam também? Pois então, isso é bem comum quando se usa frameworks..E por isso que hoje vou falar um pouco sobre o Composer, um gerenciador de dependências esperto para PHP que sabe como administrar tudo da melhor forma possível.

Continuar lendo Composer – Gerencie Dependências no PHP Facilmente

.gitignore – Saiba como ignorar arquivos no Git facilmente

Logotipo do GitUma coisa que todo iniciante de Git costuma fazer é comittar tudo o que há no projeto no repositório. Isso inclui dependências, arquivos compilados, arquivos temporários, e assim vai. Entretanto, com o tempo, esse tipo de arquivos tendem a ser modificados, e tendem a bagunçar muito mais do que deveriam o repositório. Como se isso não fosse o suficiente, à cada clone feito, é necessário lidar com uma quantidade muito maior de dados, pois não há como clonar um repositório no git sem clonar todos os arquivos (você pode até customizar o que vai ser baixado ou não, mas, dada uma branch, você precisa baixar todos os arquivos da branch para conseguir usá-la), o que tende a causar problemas ainda mais significativos ao decorrer do tempo. Por causa disso, hoje vou falar um pouco sobre o .gitignore e como criá-lo, um arquivo simples que lista o que o Git deve ignorar quando você estiver trabalhado no repositório, de forma que seja possível evitar a adição de arquivos indesejados no repositório sem dificuldades, tornando os arquivos indesejados totalmente invisíveis ao Git.

Continuar lendo .gitignore – Saiba como ignorar arquivos no Git facilmente

Docker Compose – Ou como criar aplicações multi-containers no Docker

Logotipo do Docker, que será usado em parceria com o Docker ComposeNo extenso post que fiz sobre o Docker, falei muito sobre o que a plataforma é apresentei alguns exemplos no qual ela se mostra bastante útil, mostrando o porque que ela é interessante especialmente para aplicativos já planejados para serem totalmente distribuídos. Entretanto, essa última parte, como você pode imaginar, exige um setup maior, pois você precisa configurar containers para cada aplicação e conectar tudo de forma que um container possa se comunicar com o outro, o que é bem complicado de administrar quando você precisa criar um determinado ambiente no Docker com determinada frequência (para uso por desenvolvedores, por exemplo). Por causa desse probleminha, hoje eu vou falar um pouco sobre o Docker Compose, uma ferramenta esperta que tem como objetivo facilitar essa configuração e permitir que ela seja reproduzível em qualquer ambiente no qual o Docker esteja instalado (ou que tenha acesso ao Docker, de alguma forma).

Continuar lendo Docker Compose – Ou como criar aplicações multi-containers no Docker

Gogs – Um sistema versátil para hospedagem de repositórios git

Logotipo do GogsComo apresentado no post “Onde (e como) hospedar meus repositórios git?”,  existem várias formas de hospedar seu repositório Git, desde serviços online à opções que você instala em seu servidor e começa a usar de maneira simples e prática. Hoje, vou falar mais um pouco sobre o Gogs, uma opção de hospedagem de repositórios Git fácil de instalar e usar que você pode instalar em seu servidor e usar sem limitações, seguido de um tutorial para começar seu uso facilmente. Bora? :)

Continuar lendo Gogs – Um sistema versátil para hospedagem de repositórios git

Git Flow – Uma forma legal de organizar repositórios git

Conheça o Git Flow, uma ferramenta desenvolvida para melhorar ainda mais o uso de repositórios GitUma dúvida muito comum a quem começa a usar o Git de maneira mais ativa é como organizar as branches, afinal, são muitos os problemas que um projeto pode enfrentar: De bugs urgentes que devem ser corrigidos, a criação de inúmeras features em conjunto com releases agrupando os deploys relativos a essas features. Mas..como organizar tudo? Pensando nisso é que foi criado o Git Flow, um modelo de organização de branches criado por Vincent Driessen que mais tarde se tornou uma excelente extensão ao Git, permitindo seu uso de forma fácil com qualquer repositório git, e é sobre isso que vou falar hoje.

Continuar lendo Git Flow – Uma forma legal de organizar repositórios git

Onde (e como) hospedar repositórios Git?

Logotipo do GitSe você leu o meu último post sobre o Git, já deve ter percebido que o Git é um sistema muito poderoso e que facilita o trabalho em equipe ao fornecer recursos para facilitar isso, como branches e registro do autor de cada commit. No mesmo post, eu ainda apresentei o fato que torna o Git distribuído: A possibilidade de usar qualquer repositório git em um computador remoto para sincronizar o conteúdo do seu repositório local, e como isso poderia permitir o uso do git como um sistema P2P.

Pois bem, é verdade que é possível usar o Git como um sistema P2P, mas isso não é muito prático, pois o não implementa uma forma de “consenso” nesse estilo de requisição, ou seja, você pode sincronizar repositórios Git entre duas máquinas (como entre o seu computador e um servidor, por exemplo), tranquilamente, mas se o número de máquinas é maior que dois, a situação começa a complicar.

Devido a isso, é comum o uso do Git com sistemas de hospedagem de repositórios, que funcionam como uma “central” no qual os repositórios são armazenados (servindo também como backup, portanto) e que serve como meio de sincronização entre 2 ou mais máquinas possuindo um determinado repositório Git. E hoje, vou falar um pouco sobre as variadas opções que temos disponíveis, e ensinar como integrá-las com o seu repositório git feito no post anterior.

Continuar lendo Onde (e como) hospedar repositórios Git?

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