Archives
- 02 Apr x++ == ++x é true ou false no Java?
- 30 Mar O que significam m, Mi e M nas métricas de Cloud?
- 30 Mar Apache Cassandra
- 22 Mar Garantindo Consistência com Outbox Pattern
- 21 Mar GitLab CI/CD: Blue-Green Deployment com Spring Boot e Helm
- 16 Mar Big O Notation
- 13 Mar Tentando Desenhar um Sistema de Cartão Multibenefícios em Alta Escala
- 12 Mar Requisitos Funcionais e Não Funcionais
- 11 Mar API Gateway como Pivot de Segurança e Auditoria
- 11 Mar Proxy Reverso e Service Discovery
- 11 Mar Evolução Segura: Migrations com Liquibase
- 10 Mar Escalando o Banco de Dados: Do Upgrade Vertical ao Sharding
- 09 Mar Lock Otimista vs Pessimista: Como evitar o caos em sistemas concorrentes
- 08 Mar Como dimensionar recursos da JVM sem adivinhação
- 07 Mar Design de APIs Públicas: Construindo Pontes para Parceiros Externos
- 06 Mar Detecção de Fraude em Tempo Real: O desafio da Latência vs Precisão
- 05 Mar Arquitetura de Notificações Omnichannel: Push, SMS e Email em Escala
- 04 Mar Créditos em Massa: Como processar 100k transações simultâneas sem cair
- 03 Mar Sistemas de Aprovação de Despesas: Gerenciando Fluxos de Estado e Concorrência
- 02 Mar Projetando uma Carteira Digital
- 01 Mar Framework de 7 Passos: Como Engenheiros de FAANG abordam System Design
- 27 Feb Views no PostgreSQL e MySQL: A Camada de Abstração que seu Banco Esconde
- 26 Feb Idempotência: O Guia Definitivo para Sistemas Distribuídos Resilientes
- 24 Feb Azure Service Bus vs Kafka: Escolhendo a ferramenta de Mensageria certa
- 23 Feb AWS Essentials: O que um Back-End precisa saber
- 22 Feb GitHub Actions: Automatizando o Ciclo de Vida do seu App JVM
- 21 Feb Code Review: Como revisar código sem ser um chato (e focar no que importa)
- 20 Feb Monitorando Pagamentos com Datadog: Além do "Health Check"
- 19 Feb Evolução de Banco de Dados: Flyway e o Zero Downtime Deploy
- 18 Feb JUnit 5 e Testes Parametrizados: Testando Benefícios com Elegância
- 17 Feb OpenAPI (Swagger) Contract-First: A Verdade está no Contrato
- 16 Feb MySQL vs DynamoDB: Onde salvar os dados financeiros?
- 15 Feb Escalabilidade em Pagamentos: O Desafio do "Dia do Benefício"
- 14 Feb Microserviços vs Monólitos: O Custo da Liberdade
- 13 Feb Os 3 Pilares da Observabilidade: Além do "Está no ar?"
- 12 Feb Mutation Testing: Por que 100% de cobertura pode ser uma mentira?
- 11 Feb Kafka Internals: Partições, Grupos de Consumidores e Rebalanceamento
- 10 Feb Garantias de Entrega no Kafka: At-least-once ou At-most-once?
- 09 Feb Richardson Maturity Model: Sua API é realmente REST?
- 08 Feb ACID vs BASE: Do Rigor Bancário à Flexibilidade da Escala
- 07 Feb Teorema CAP: A Escolha Impossível dos Sistemas Distribuídos
- 06 Feb Saga Pattern: Gerenciando Transações em um Mundo sem 'Commit' Global
- 05 Feb O Problema do N+1
- 04 Feb Micronaut vs Spring Boot
- 03 Feb Kotlin Coroutines vs Threads
- 02 Feb ZIO e Programação Funcional: Domando Efeitos Colaterais no Java/Kotlin
- 01 Feb Integração vs E2E
- 31 Jan Graceful Shutdown no Kubernetes
- 30 Jan Testando código que depende do Tempo
- 29 Jan Mock, Stub ou Spy
- 28 Jan LRU Cache: Implementando um Algoritmo de Cache com Deque e HashMap
- 27 Jan Service Mesh e Resiliência
- 26 Jan Blue-Green Deployment: Como atualizar seu sistema sem ninguém perceber
- 25 Jan Arquitetura Hexagonal: Como estruturar o projeto
- 24 Jan Circuit Breaker
- 23 Jan READ COMMITTED vs REPEATABLE READ
- 22 Jan Cursor-based vs Page-based
- 21 Jan SOLID
- 21 Jan Padrão Strategy
- 20 Jan Autenticação vs Autorização
- 19 Jan Idempotência em APIs
- 18 Jan Versionamento de APIs
- 17 Jan Ciclo de Vida das Entidades JPA: Entenda os 4 Estados
- 16 Jan Para que serve o @Transactional?
- 15 Jan Buscas Dinâmicas com CriteriaBuilder
- 14 Jan Transações e APIs Externas
- 13 Jan Cache de 1º vs 2º Nível no Hibernate
- 12 Jan Hibernate Dirty Checking
- 11 Jan Hibernate Cache de 2º Nível
- 10 Jan Hibernate Lazy Loading
- 09 Jan Como o Spring Boot Resolve a Injeção de Dependência via Reflexão
- 08 Jan Reflexão no Java
- 07 Jan StackOverflow vs OutOfMemory: Qual a Diferença?
- 06 Jan Por que a String é Imutável no Java? Não é só por Capricho!
- 05 Jan JIT Compiler: Como o Java se Torna Nativo em Tempo de Execução
- 04 Jan Entendendo o Garbage Collection e as Pausas Stop-the-World
- 03 Jan Stack vs Heap: Onde Moram os Seus Objetos?
- 02 Jan O Perigo Escondido do parallelStream(): Quando o Rápido se Torna Lento
- 01 Jan OutOfMemoryError