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!

Você consegue escrever 3 soluções distintas para calcular a soma de uma lista de números?

A maioria das linguagens modernas já possuem uma função pronta para iterar sobre os elementos de uma coleção de dados e retornar sua soma. De forma alguma sugiro que você escreva sua própria solução para este tipo de problema, visto que o objetivo aqui é puramente didático. Problema: Escreva 3 funções que calculem a soma de uma … Continue lendo Você consegue escrever 3 soluções distintas para calcular a soma de uma lista de números?