Posts com ambiente-de-desenvolvimento

Vim: O meu editor favorito

Logo do editor VIM Há um bom tempo que eu trabalho com o Vim, tanto tempo que quando estou em qualquer outro editor escrevo :wq para salvar e sair.

Mas não comecei a utilizar o Vim por gostar de desafios… foi pura necessidade! Trabalhei em uma empresa onde desenvolvíamos em uma máquina remota, através de linha de comando. Logo, entre o Vim e Emacs (ou ficar subindo arquivos via FTP ou SSH), optei pelo mais fácil de usar. É claro que no início eu não conseguia encontrar facilidade de jeito nenhum. Navegar pelas teclas h, j, k e l não fazia sentido nenhum para mim, sem falar que (segundo os meus colegas de trabalho) utilizar o PageUp , PageDown, Home e End era praticamente uma heresia.

Uma ode ao PostgreSQL

Logotipo do PostgreSQL O MySQL é um dos meus mais leais companheiros de projetos, desde os meus tempos de PHP até projetos mais recentes com o Python. A sua agilidade e facilidade são indiscutivelmente boas, tanto que renderam ao projeto um “domínio global” no ramo.

Hoje, sob “cuidados” da Oracle, o projeto tem causado certas desconfianças. A criação de um fork pelo autor original não ajudou, e isso abriu margem para um velho, confiável e simpático banco de dados: o Postgres.

Automatize o deploy dos seus projetos com Fabric

Deploy now! Durante a minha árdua trajetória com o PHP, sempre fiz “subidas” de projetos utilizando um cliente FTP. Um processo manual, extremamente repetitivo (e chato).

Já com Python, pude utilizar o SSH, que me proporcionou maior agilidade e liberdade dentro do ambiente de produção. Mas que não deixou de ser um processo manual, extremamente repetitivo, chato e muito suscetível a falhas.

Supervisor: Aumentando a disponibilidade das suas aplicações Web

Logotipo do Supervisor E se você pudesse controlar uma série de processos através de um comando? Ou de garantir que serviços “down” sejam reiniciados automaticamente? Ou ainda, agrupar seus serviços e poder reiniciá-los com um simples comando de terminal?

O Supervisor aparece para facilitar muito a vida de quem precisa administrar servidores Web, e não tem muito tempo a perder com criação de rotinas, ou mesmo com trabalho manual.

Nginx: Poderoso, rápido e fácil

Logotipo do Nginx Para quem (assim como eu) começou com o PHP, uma das opções mais viáveis para servir projetos na Web sempre foi o Apache. Open source, prático e disponível em quase toda hospedagem de respeito (afinal, ele vem por padrão em quase toda distro Linux), há anos que ele faz a famosa tríade "AMP" (Apache, MySQL e PHP).

Acontece que com as demandas recentes que a internet tem exigido de algumas aplicações Web (como Twitter e Facebook), a necessidade por performance começou a ser uma grande premissa em determinados tipos de projetos. E é apoiado nesse cenário que o Nginx vem ganhando cada vez mais força no mercado. Afinal, não é a toa que ele é conhecido por “aguentar porrada”.

Migrations em Django com South

Logotipo do South E quem nunca precisou adicionar ou remover alguma coluna, nas tabelas do seu banco de dados, depois que a aplicação já estava em produção? Os riscos existem (e são altos), e podem ser diminuidos através de processos automatizados.

Em um mundo ideal, o procedimento de deploy (para entregas contínuas) deve ser automatizado. Com o South, “migrar” a estrutura e os dados da sua base de dados para a versão presente em seu novo deploy, é simples, prático e 100% integrado ao Django.

Assegure a qualidade do seu código Python - Clone Digger

Código clonado? Mesmo que você possa verificar a qualidade do seu código com pep8, Pylint e Pyflakes, uma das virtudes de um projeto de software é não possuir código duplicado (leia mais sobre DRY). O fato é que tanto intencionalmente como propositalmente, podemos duplicar um trecho de código e acabar prejudicando manutenções futuras (atire a primeira pedra quem nunca deu aquele CTRL+C e CTRL+V, e prometeu um refactoring depois).

Assegure a qualidade do seu código Python - Pyflakes

Qualidade Depois da dar uma pincelada na pep8 e no Pylint, chegou a hora de falarmos um pouco sobre o Pyflakes.

Resumidamente, o Pyflakes é uma ferramenta de qualidade que analisa o seu código Python atrás de erros (de sintaxe e importação, por exemplo), retornando um relatório muito objetivo com o arquivo, linha e o tipo de incoerência que ele encontrou.

Uma excelente ferramenta para você ter “plugada” ao seu editor favorito.

Assegure a qualidade do seu código Python - Pylint

Analogia a qualidade e código Se você precisa de uma ferramenta mais poderosa que o pep8, talvez você precise do Pylint.

De forma (bem) resumida, o Pylint analisa de forma minuciosa o código do seu projeto Python, lhe retornando uma variedade de relatórios (as vezes, detalhistas até demais) sobre todo o tipo de problema que ele encontra. Indo de incoerências com a PEP 8, até nome de variáveis.

Assegure a qualidade do seu código Python - pep8

Código-fonte Python Convenções de código! Já tive a oportunidade de escrever sobre elas no Profissionais TI. Benção ou maldição? Há quem goste, há quem ache uma perda de tempo…

Acredito muito que a organização e a qualidade do código são benéficas para qualquer projeto, principalmente para aqueles que possuem alta rotatividade de profissionais. Padrões de projetos, padrões estruturais e de escrita facilitam a “assimilação” do que já foi produzido, facilita a manutenção e “orienta” as novas produções.