BDD com Django e Behave

Given, When, Then (opkey.crestechglobal.com)

Testar o comportamento da sua aplicação, ao invés de pequenos módulos isolados, é uma grande prática no que diz respeito a escrita de testes que guiem o seu desenvolvimento. Deixando a polêmica do "TDD is dead" de lado, criar cenários que garantem um determinado fluxo, além de servir como um excelente contrato à sua suite de aceitação, é uma ótima ferramenta para garantir que a integração back-end/front-end está funcionando de acordo com o esperado.

REST - Parte 1

SOAP vs REST

Em tempos onde os microservices ganham cada vez mais força, e aplicações de sucesso liberam a sua API para desenvolvedores construírem um ecossistema ao redor delas, não considerar seguir boas práticas na construção de um serviço pode ser uma tomada de decisão arriscada, tanto no quesito do negócio, quanto no quesito técnico.

Injeção de Dependência

Logotipo do AngularJS (titanui.com)

Se você já teve contato com Laravel ou AngularJS, sabe muito bem que um dos maiores motivos de orgulho desses (e de tantos outros) frameworks é a "Injeção de Dependência", ou do inglês, Dependency Injection. Imagine-se em uma reunião, o seu Product Owner pede soluções para problemas complexos, e você manda logo um "precisamos usar injeções de dependências"... É aumento salarial na hora!

Esse é mais um post sobre Vagrant

Logotipo do Vagrant Sim! Esse é mais um post sobre Vagrant, entre tantos outros espalhados pela Web. Sim! Se você já conhece a ferramenta, provavelmente não terá nada de novo para você nesse artigo.

Já falamos um pouco sobre ambientes virtuais, e as vantagens são numerosas. A "atomicidade" de poder construir e destruir um ambiente inteiro, sem acarretar efeitos colaterais ao seu ambiente de trabalho, traz agilidade sem perder segurança e sanidade.

Os testes e os dublês - Parte 2

TDD (izenbridge.com)

No post anterior, vimos um dos cenários de testes utilizados por times da Globo.com, onde não escrevemos testes "isolados" (famigerados microtests), e abusamos da integração entre classes e serviços.

Mas até mesmo para nós existe um limite que não podemos ultrapassar: O caso de uma consulta a uma API externa, por exemplo. Nesse cenário, precisamos fingir que estamos fazendo isso, sem perder a segurança em nossas asserções.

O que é um Software Engineer?

Engineering (affordable-online-colleges.net)

Certa vez, estava eu atualizando o meu LinkedIn quando o @davidsonfellipe me indagou sobre o título de "Analista e Desenvolvedor Web" que possuo atualmente. Segundo ele, "Front-end/Back-end Engineer" é mais atrativo para que headhunters cheguem a um perfil.

Contra argumentei dizendo que essa não era a minha formação, e que não me sentia confortável em me chamar de engenheiro. Ele, hoje um Front-end Engineer com formação em Engenharia da Computação, afirmou que isso era bobagem, e que eu já praticava muitas das suas atribuições no dia a dia.

Os testes e os dublês - Parte 1

Test Double Em tempos onde discussões envolvendo a relevância dos testes têm causado furor nos diferentes campos da área do desenvolvimento de software, nada mais justo do que "chovermos no molhado", e falarmos sobre testes, mocks, stubs e todos os seus primos menos famosos.

Nessa primeira parte, vamos conceituar toda essa "sopa de letrinhas" e detalhar a forma peculiar como os testes são tratados dentro de um dos times da Globo.com.

Pelican e os static site generators

Logo do Pelican O Django é de longe o meu framework Python favorito. Fácil, extensível, com uma série de "baterias inclusas" que tornam o desenvolvimento de aplicações Web muito mais fácil e divertido.

Mas verdade seja dita, para algumas soluções, é como se utilizássemos um canhão para matar um mosquito. Existe toda uma preocupação no que diz respeito a persistência, caching, serviço de aplicação e serviço Web, que em determinados contextos não passa de "overhead".