Artigos

Padrões e decisões de engenharia em prosa técnica, com código.

  1. Intensivão Golang: concorrência, resiliência e sistemas distribuídos em 30 minutos

    Um roteiro de 30 minutos para reativar Go aplicado a serviços de produção, ingestão de telemetria e sistemas distribuídos.

  2. Intensivão Golang Avançado: aprofundamento em concorrência, arquitetura e trade-offs

    O passo seguinte ao roteiro rápido de Go, com aprofundamento guiado em concorrência, arquitetura e trade-offs.

  3. Desenferrujando a lógica #02: Container With Most Water

    Eu tentei escolher o próximo passo olhando apenas para os vizinhos. Funcionou em alguns casos, mas o problema pedia uma visão mais ampla.

  4. Desenferrujando a lógica #01: Group Anagrams

    Eu não tinha parado de escrever código. O que mudou foi terceirizar partes do raciocínio. Group Anagrams foi o exercício para recuperar o hábito.

  5. A maioria dos problemas de performance de backend começa perto dos dados

    API lenta e a reunião já enche de soluções. Eu começo perto dos dados — não por culpar o banco, mas porque essa verificação costuma dar sinal rápido.

  6. Goroutines vs Event Loop: a comparação errada entre dois modelos de concorrência

    Node.js com Event Loop e Go com goroutines não resolvem o mesmo problema do mesmo jeito. O erro comum é confundir concorrência com paralelismo.

  7. TypeScript Clean Architecture: Core, Adapters e Infra

    Arquitetura ruim trava manutenção, testes e mudança. Esta derivação da Clean Architecture para backend TypeScript separa Core, Adapters e Infra — com dependências apontando para dentro.

  8. Design Patterns: Strategy

    Cadeias de if/else crescem e ficam frágeis. O Strategy isola cada algoritmo atrás de um contrato.

  9. Pare de ser refém das dependências. Diga olá ao Design Pattern Adapter

    Migrar de MySQL para PostgreSQL não precisa reescrever o serviço. O Adapter isola o plugin atrás de um contrato que a regra de negócio entende.