Pronto pra produção?

Como desenvolvedores, escrevemos código na firma para resolver algum problema de negócio para que ela consiga se manter atendendo clientes/usuários, idealmente entregando algum valor pra sociedade e ganhando dinheiro com isso. Manter aplicações em produção, que precisam constantemente mudar para acompanhar as necessidades de negócio, ser confiáveis, disponíveis e previsíveis ao longo do tempo de … Continue lendo Pronto pra produção?

Aiologger – Logger assíncrono para Python e asyncio

Acho que todo desenvolvedor e equipe passam por etapas de amadurecimento bem parecidas ao longo da geração de logs de sistemas: Aplicações geram nenhum ou quase nenhum log; Escrevemos aplicações verbosas demais, com logs provavelmente muito extensos e voltados para outros humanos; Passamos a gerar logs estruturados, serializados para algum formato de fácil consumo e … Continue lendo Aiologger – Logger assíncrono para Python e asyncio

Concorrência e Paralelismo – Threads, múltiplos processos e AsyncIO – Parte 2

No post anterior falei sobre a diferença entre concorrência e paralelismo, classificação de processos e soluções para implementar aplicações com código concorrente. Se você ainda não leu esse post, recomendo que você comece por lá. É muito comum ver programadores escreverem código para executar uma tarefa qualquer, decidirem empiricamente que o desempenho não está adequado e que podem resolver … Continue lendo Concorrência e Paralelismo – Threads, múltiplos processos e AsyncIO – Parte 2

Concorrência e Paralelismo – Threads, múltiplos processos e AsyncIO – Parte 1

Antes de mais nada, gostaria de dizer que esse não é um post para iniciantes em programação, muito menos para iniciantes em Python. Vou abordar alguns assuntos e dar algumas explicações, considerando que você já possui certos conhecimentos prévios - que não vou explicar aqui. Fique a vontade para utilizar os comentários, ou entrar em … Continue lendo Concorrência e Paralelismo – Threads, múltiplos processos e AsyncIO – Parte 1

What color is it? Construindo um “Color Clock” com Objective-C e Swift

Um "Color Clock" nada mais é do que um relógio, cuja imagem de fundo se altera de acordo com a cor. O objetivo é simples e, no post de hoje, usaremos este problema para estruturar nosso código de forma a utilizar o padrão de delegação para reduzir o acoplamento das nossas unidades. Problema De acordo … Continue lendo What color is it? Construindo um “Color Clock” com Objective-C e Swift

Dynamic Fibonacci: Além da recursividade

Se você teve aulas de programação, um dos primeiros algoritmos que você viu nas aulas sobre recursividade com certeza foi o da sequência de fibonacci. Neste post, vamos além da solução recursiva e utilizaremos o problema para dar um início conceitual sobre programação dinâmica. Problema A sequência de fibonacci é uma sequência numérica, onde o … Continue lendo Dynamic Fibonacci: Além da recursividade

Sabe o programador ctrl+c/ctrl+v? Não seja ele!

Códigos como o da imagem são comuns e motivos de muitas dores de cabeça para manutenção de código e refatoração. Se você não consegue sentir o cheiro desse code smell de longe, acha que meta programação e abstração de lógica coisa de outro mundo, ou que esse tipo de construção é totalmente aceitável, nesse post vamos discutir algumas técnicas de refatoração indispensáveis para todos os desenvolvedores!