// Knowledge.index — 知識庫

Conhecimento
em produção.

Artigos técnicos, exemplos executáveis e decisões explicadas sem hype. Conteúdo para quem constrói software de verdade.

44

artigos publicados
PT-BR · OPEN ACCESS

// Latest.entries — 最新記事

Últimos artigos

01 java @Transactional no teste de integração: o rollback que esconde o commit Rollback automático no teste Spring Boot 4.1 deixou passar um SKU duplicado que o commit rejeita com 409. Onde ele isola e quando limpar explicitamente. 15m 02 ai-agents Vários agentes em paralelo deixam o time mais rápido? O que ainda trava no merge Dois agentes na mesma linha deram conflito e uma decisão descartada; em arquivos disjuntos, merge limpo e quase 2× tokens. Onde o fan-out vale. 12m 03 java O pinning de virtual threads acabou no JDK 24? O que ainda prende a carrier thread JEP 491 livrou o synchronized do pinning; chamada nativa ainda prende a carrier. JDK 21 vs 25 medidos, JFR e quando a regra do ReentrantLock ainda vale. 12m 04 java Benchmark com JMH: por que o loop com System.nanoTime mede errado Loop com System.nanoTime mede warmup, código morto e relógio. Veja um projeto JMH no Java 25 e como ler Score e Error antes de declarar ganho. 16m 05 aws Lint de políticas IAM offline com Parliament: achando escalonamento de privilégio antes do deploy Parliament 1.6.4 acha iam:PassRole + lambda:CreateFunction/InvokeFunction offline e falha o CI antes do deploy, sem conta AWS. 9m 06 java Fila sem limite na frente da chamada lenta: quem decide o tamanho é a GC LinkedBlockingQueue sem capacidade aceita tudo até a GC decidir o limite. Veja ArrayBlockingQueue, AbortPolicy e CallerRunsPolicy com teste JVM. 10m 07 java Recibo Surefire no coding agent: o testes-ok que não gerou XML O agente escreve 'testes ok' no chat, mas o CI quebra porque o Maven não rodou. Gate local só aceita TEST-*.xml recente do Surefire com failures=0 e errors=0. 9m 08 java ArchUnit no Maven: a dependência ilegal que o code review não viu Uma regra ArchUnit no Maven barra uma dependência ilegal de domain para adapter que passou pelo code review, com Java 25 e JUnit 6, sem Spring. 10m 09 java Construtor flexível no Java 25: validar antes do super() sem helper estático JEP 513 no Java 25: valide e normalize argumentos da subclasse antes do super(), sem helper estático. Compilação real, erro do javac e testes JUnit 5. 9m 10 java Bulkhead com Resilience4j no Boot 4.1: isolando a dependência lenta da saudável Configure Bulkhead do Resilience4j por dependência no Spring Boot 4.1 e prove com WireMock que um gateway de pagamento lento não consome as chamadas do estoque. 12m 11 aws CloudFormation Guard: validando templates com regras org-wide antes do deploy, sem tocar a conta Cfn-guard 3.2.1 local, sem credenciais AWS: regras org-wide de IAM e S3 que falham o build antes do deploy, com exit codes reais e gate de CI. 10m 12 java Rate limiting no Spring Boot 4.1 com Resilience4j: protegendo a API de picos sem Redis Configure rate limiting em memória com Resilience4j no Spring Boot 4.1: parâmetros do limiter, teste determinístico sob concorrência e 429 com Retry-After real. 13m 13 aws Testando stacks CDK sem deploy: assertions library e synth como contrato Como usar cdk synth e aws-cdk-lib/assertions para travar propriedades de uma stack CDK no CI, antes de qualquer deploy real na AWS. 12m 14 java Property-based testing com jqwik: o caso extremo que o exemplo fixo não cobre Como o jqwik 1.10.1 gera entradas aleatórias, acha overflow que exemplo fixo não pega e reduz a falha ao caso mínimo, em Java 25 puro. 11m 15 java Saga pattern: coreografia ou orquestração para transação distribuída sem 2PC Depois de cortar o serviço: como coordenar pedido, pagamento e estoque sem 2PC, escolher entre coreografia e orquestração e provar que a compensação rodou. 14m 16 ai-agents Cache de prompt em coding agents: o miss silencioso que volta a cobrar o preço cheio Reordenar tools, um timestamp no prefixo ou memória de projeto mal posicionada quebram o cache sem erro. Como medir, travar em CI e alertar antes da fatura. 11m 17 java Sealed interfaces em vez de boolean-flag soup: modelando estado em vez de configurá-lo Flags booleanas aceitam combinações impossíveis. Troque por sealed interface com records e switch exaustivo: o javac barra estados inválidos no build. 7m 18 ai-agents Sandboxing de tool calls em coding agents: isolando filesystem e rede antes do PR Isole tool calls de coding agents no filesystem e na rede com bubblewrap: teste de fuga reproduzível, evidência de kernel e o que verificar antes do PR. 10m 19 java Scoped Values no Java 25: substituindo ThreadLocal sem vazar estado entre threads reaproveitadas JDK 25 finaliza Scoped Values: reproduza o vazamento de ThreadLocal em pools, veja a API real (sem bind) e a integração com StructuredTaskScope em preview. 8m 20 java Mutation testing em Java: faça o teste falhar pelo motivo certo Configure o PIT no Maven, investigue mutantes sobreviventes e crie um gate de CI gradual com Java 25 e JUnit 6. 8m 21 ai-agents Telemetria de tool calls em agentes com MCP Registre latência, erros e payload por tool call em events.jsonl, consulte com DuckDB e aplique um gate de erro no CI sem misturar tokens. 11m 22 aws PrivateLink ou NAT Gateway: quando a conta fecha Calcule quando um VPC Interface Endpoint compensa o tráfego via NAT Gateway e configure SQS, S3 e DynamoDB com CDK e políticas restritas. 8m 23 ai-agents Coding agent com prompt versionado: o que mudou entre dois PRs? Versione prompts e ferramentas, grave seus hashes no usage.json e compare revisões de coding agents com goldens estáveis no CI. 9m 24 java Drain de verdade no Spring Boot 4.1 com SIGTERM e workers Configure e verifique o drain de HTTP e workers no Spring Boot 4.1.1, com SIGTERM, SmartLifecycle e Kubernetes sem cortar trabalho em voo. 10m 25 aws Acesso humano entre contas AWS com Permission Sets Troque access keys humanas por sessões temporárias entre contas usando IAM Identity Center, Permission Sets e AWS CLI v2. 10m 26 ai-agents Memória de projeto para coding agents: quem monta o contexto Monte o contexto de um coding agent por tarefa, com orçamento em bytes e tokens, descarte auditável e falha segura para arquivos obrigatórios. 12m 27 aws ECS Fargate vs EKS para apps Java/Spring: quando o cluster Kubernetes não vale o que custa Compare custo, operação e IAM no ECS Fargate e no EKS Auto Mode para decidir onde executar uma aplicação Spring Boot na AWS. 12m 28 ai-agents Servidor MCP com execute-verify-stop e tool gating: o que o modelo não pode decidir sozinho Recuse tools/call no servidor MCP antes do side-effect, com política versionada, auditoria e idempotência após crash. Spec 2026-07-28 + Python SDK 2.1.1. 13m 29 aws GitHub Actions na AWS com OIDC: fim das chaves longas no repositório Troque chaves estáticas do GitHub Actions por OIDC, IAM role com trust policy restrita, permissions boundary e testes de falha verificáveis. 10m 30 ai-agents Coding agent com teto de custo: token budget e circuit breaker por tarefa Defina limite mensal, encerre tarefas longas e leve tokens e custo por PR ao CI sem expor prompts nem esperar a fatura chegar. 8m 31 aws CloudFront depois do deploy: cache e invalidação sem sustos Configure cache, invalidação e OAC no CloudFront com S3 privado, headers previsíveis e comandos verificáveis para o pós-deploy. 8m 32 java Configuração externa no Spring Boot 4.1: descubra quem venceu Veja por que uma variável, um YAML ou a CLI venceu no Spring Boot 4.1 e descubra a origem do valor com um aplicativo mínimo. 9m 33 java AssertJ no Spring Boot 4.1: falhas que apontam o campo certo Use AssertJ com ProblemDetail e MockMvcTester para localizar campos divergentes em testes Spring Boot 4.1, sem adicionar dependências redundantes. 8m 34 java Idempotência e outbox no Spring Boot 4.1 sem cobrança duplicada Implemente Idempotency-Key e outbox na mesma transação JDBC com Spring Boot 4.1, Postgres e um teste real com Testcontainers. 12m 35 career Carreira técnica em 2026: o próximo passo não é outro framework Troque a corrida por frameworks por evidências de senioridade em sistemas, pessoas e comunicação, com um diagnóstico prático de 30 minutos. 7m 36 java StructuredTaskScope no Java 25: fan-out no Spring Boot Organize fan-out por request com StructuredTaskScope no Java 25, incluindo cancelamento, timeout, testes e comparação com CompletableFuture. 8m 37 ai-agents Coding agent no repositório: gates antes do primeiro PR Configure AGENTS.md, CODEOWNERS, CI e auditoria antes de permitir que um coding agent abra PRs no seu repositório. 9m 38 java OpenShift 4.22 com Java 25: Containerfile e probes na restricted-v3 Empacote Spring Boot 4.1.1 com Java 25 em UBI 9, fixe a imagem, configure probes e valide o deploy sob a SCC restricted-v3. 9m 39 java Spring Boot Actuator em produção: o que vale a pena expor Configure endpoints, health checks, readiness, segurança e métricas do Spring Boot Actuator sem abrir informações sensíveis em produção. 10m 40 architecture Bounded contexts na prática: como parar de chamar tudo de microserviço Use regras de domínio, transações e dados para decidir fronteiras antes de extrair serviços de um monólito Spring. 10m 41 java Testes de contrato com Pact no Spring Boot: parando de descobrir incompatibilidades em produção Crie contratos entre consumidor e provedor com Pact, verifique-os no Spring Boot e bloqueie deploys incompatíveis pelo Pact Broker. 10m 42 java Reactor e virtual threads: quando paralelizar no Spring Boot Entenda quando parallel e runOn ajudam no Reactor, por que subscribeOn não divide itens e como medir CPU, filas e latência no Spring Boot. 13m 43 crescimento-pessoal Por que você relê o mesmo código três vezes e não enxerga o bug: o custo da familiaridade forçada Aprenda a distinguir cansaço visual de familiaridade e teste uma rotina curta para revisar o próprio código com mais atenção. 6m 44 java Spring Boot 3 e virtual threads: o que realmente muda em APIs com I/O bloqueante Veja quando virtual threads ajudam APIs Spring MVC com I/O bloqueante, com benchmark, diagnóstico de pinning e a rota do Java 21 ao 25. 13m