Ambientes virtuais Python

De um tempo pra cá tenho passado boa parte do meu tempo brincando com Python e Django. Por curiosidade normalmente eu acabo tento várias versões de determinadas bibliotecas, inclusive do próprio Python e também do Django. Isso poderia ser um problema, mas não é.

Eu acho que todo mundo já deve conhecer e usar o virtualenv.

Pra quem não sabe, imagine o seguinte cenário, você tem o projeto A que usa a versão 1 da biblioteca X e começou a desenvolver o projeto B que usa a versão 2. Vamos supor agora que as versões 1 e 2 não possuem uma API compatível, se você atualizar para a versão 2 terá problemas com o projeto A.

Esse é um problema solucionado pelo virtualenv, outra situação que ele é muito útil é caso você não tenha acesso privilegiado para instalar nada no site-packages global.

Continue reading

Customizando o Twitter Bootstrap

Se você assim como eu resolveu se aventurar recentemente pelo mundo do desenvolvimento web, existe uma possibilidade de que tenha escolhido começar a usar algum framework frontend, assim como o Foundation ou o Bootstrap.

Ambos são excelentes e te poupam uma boa parte do trabalho e do tempo necessário para criar algo bonito e funcional, porém vou falar somente sobre o Bootstrap.

O negócio começa a ficar um pouco confuso quando você tenta alterar o estilo atual definido pelo framework.

Várias considerações são feitas ao se aplicar estilo a um determinado elemento, a ordem de declaração, a herança de estilos, a especificidade dos estilos, etc. Isso pode ser um problema, por exemplo se você quiser sobreescrever a cor de algum elemento no Bootstrap somente usando CSS, você precisa tomar algumas precauções para que o seu estilo seja declarado de uma maneira mais específica que foi declarado no framework.

Continue reading

A volta dos que não foram

Pra quem acompanha o blog desde a outra “versão” sabe que faz mais de um ano que eu mudei para o Arch Linux, e continuo feliz desde então.

Mas como a curiosidade é maior, no começo desse ano resolvi que queria experimentar outras distribuições. E foi assim que uma jornada, que pra mim foi longa, começou.

Passei por diversas distribuições, voltei ao Debian, experimentei o OpenSUSE, disse oi ao Slack, visitei o Ubuntu, suas variantes e seus descendentes, entre outras.

Acho que foram uns dois ou três meses nesse vai e volta, e é sem surpresa nenhuma que escrevo esse post no Arch. É, não teve jeito…

Continue reading

Behavior Testing com SpecFlow e Selenium em C#

Enquanto muitos ainda andam estudando e analisando se vale a pena ou não usar UnitTesting, o mundo vai andando e outras técnicas vão saindo. São tantos xDDs que mais parece uma sopa de letrinha.

Uma que está se popularizando bastante é o BDD, Behavior Driven Development, que como o nome diz, é o desenvolvimento guiado pelo comportamento.

Essa técnica cria um canal de comunicação claro entre desenvolvedores e pessoas sem conhecimento técnico, podendo até ser os próprios usuários, possibilitando uma maior facilidade para especificação e teste de funcionalidades.

Ao invés de apresentar código em alguma linguagem de programação, é possível apresentar em linguagem “humana”, ou seja, é possível escrever testes de funcionalidades em inglês ou, até mesmo, em português!

Claro que não existe mágica, não existe um interpretador from hell que entende o que você escreveu e executa na aplicação. Existem sim, ferramentas que facilitam, e muito, a tarefa de escrever esse tipo teste. E como não existe mágica, vou mostrar aqui uma maneira simples de fazer tudo funcionar.

Continue reading