java
Como barrar o PR do coding agent que só reformatou o módulo
git diff --numstat e -w --numstat numa fixture: quando o PR do coding agent é só reformat, quando esconde um < virando <= e quando recusar.
System online
// Knowledge.index — 知識庫
Artigos técnicos, exemplos executáveis e decisões explicadas sem hype. Conteúdo para quem constrói software de verdade.
artigos publicados
PT-BR · OPEN ACCESS
// Latest.entries — 最新記事
java
git diff --numstat e -w --numstat numa fixture: quando o PR do coding agent é só reformat, quando esconde um < virando <= e quando recusar.
aws
Por que o retry dentro do consumidor Java segura o poison message fora da DLQ do SQS, e como validar RedrivePolicy e maxReceiveCount num JSON local.
career
Seu currículo lista responsabilidades e stack, e o impacto some na primeira leitura. Bullet XYZ em uma linha e um teste de 10 segundos com um colega.
java
Boot 4.1.2: o TaskScheduler default tem 1 thread. Dois @Scheduled, um sleep maior que o intervalo, e o segundo método só roda depois.
java
JDK 25: Files.readString(Path) é UTF-8, não o charset da JVM. Byte 0xE9, MalformedInputException, e o contrato explícito na leitura.
java
JDK 25: Instant.now() no domínio deixa o teste de prazo no relógio da máquina. Clock.systemUTC() em produção e Clock.fixed no JUnit. 8 testes, 0 falhas.
career
Na entrevista comportamental o projeto inteiro come o tempo e o Result não aparece. Cartão STAR de oito linhas e 90 segundos no gravador.
java
JDK 25: computeIfAbsent reentrante na mesma chave lança IllegalStateException no ConcurrentHashMap e CME no HashMap. get + putIfAbsent evita a reentrada.
java
Spring Boot 4.1.2: this.asyncWork() roda na thread main; pelo proxy, em task-1. Três testes Maven, sem web e sem container.
aws
Identity Allow s3:* não libera PutObject se a permissions boundary só autoriza GetObject no prefixo. Interseção no User Guide, JSON local, sem conta.
java
JDK 25: mvn test -DskipTests sai 0 sem executar testes. Gate local recusa skipTests/maven.test.skip no comando, log e diff.
java
Boot 4.1.1: @TransactionalEventListener AFTER_COMMIT fica em 0 no teste @Transactional e em 1 quando o serviço commita. Sem JPA, sem container.
java
JDK 25: connectTimeout 2s no HttpClient não corta a resposta após o accept. Só HttpRequest.timeout lança HttpTimeoutException. HttpServer local, sem Spring.
personal-growth
A 1:1 de mentoria que só troca conselho não muda a semana. Feche com um experimento de uma linha, data de reporte e relato na próxima conversa.
personal-growth
Muro de contexto no Slack sem pergunta trava a thread. Abra com uma linha decidível e um molde de quatro linhas: pergunta, tentou, decisão, prazo.
personal-growth
Elogio genérico seguido de “mas” não deixa ato observável. Escreva um SBI (situação, comportamento, impacto) e peça ao colega que repita o pedido.
career
Feedback de ciclo pedindo mais senioridade sem exemplo? Saia da 1:1 com três critérios observáveis, um exemplo do time e uma checagem em 90 dias.
personal-growth
O agente escreveu o diff e a daily pede o que você entregou. Feche o arquivo e narre intenção, área, risco e verificação em 60 segundos, sem reabrir o git.
java
JDK 25: HashMap.get(10.00) é null após put(10.0). equals falso, compareTo 0. TreeMap acerta. long cents ou setScale(2) recuperam a chave.
java
JDK 25: offset/subList na lista viva duplica o 2 e pula o 4 após insert no índice 0. Keyset pelo último id mantém [3,4]. Snapshot imutável ainda serve.
java
JDK 25, Failsafe 3.6.0: mvn test sai verde sem rodar *IT.java e sem failsafe-reports. Com *IT no módulo, o gate do agente é mvn verify.
java
Boot 4.1.1 e JDK 25: com matchIfMissing=false e a chave ausente, a app sobe e o bean some. ApplicationContextRunner prova e mostra as duas saídas estáveis.
java
No Spring Boot 4.1.1 com JDK 25, timeout: 10 num Duration vira 10 ms e a app sobe. Veja 10s, PT10S, @DurationUnit e o que falha no bind.
java
Média móvel de 3 pagamentos com Gatherers.windowSliding no JDK 25, sem preview, contra collect+subList. JUnit 6.1.3 mostra onde os dois divergem.
aws
Allow na identity policy não libera GetObject se a bucket policy tem Deny no mesmo ARN. Três JSON e o User Guide, sem conta.
java
JaCoCo 0.8.15 / JDK 25: jacoco:check LINE 0.80 passa com 85,7% e o if de cobrança inválida nunca roda. BRANCH 0.80 falha com 0,50 no mesmo .exec.
java
Boot 4.1.1/Jackson 3.1.5: extra no JSON some no bind e a API devolve 200. fail-on-unknown-properties vira 400; mail antigo também é unknown.
java
No RestClient 7.0.9, retrieve() no 422 lança UnprocessableContent. O JSON continua na exceção; exchange() e onStatus leem o body sem Testcontainers.
java
O agente deixa a suíte verde afrouxando o assert ou com @Disabled. Gate local lê o diff de src/test e o skipped do Surefire e só passa a correção em produção.
java
Sem @Valid no campo nested, @NotBlank não dispara no bind e o Boot 4.1.1 sobe. Com @Valid, SpringApplication.run falha no startup.
java
Com o paralelo do Jupiter ligado, dois testes que dividem um Path estático falham. Reproduza a corrida e corrija com @ResourceLock, SAME_THREAD ou @TempDir.
aws
Chave ausente com IpAddress é mismatch e o Allow não concede. Com IfExists, a condition vira true. Três políticas IAM mostram onde o Allow fica aberto.
java
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.
ai-agents
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.
java
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.
java
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.
aws
Parliament 1.6.4 acha iam:PassRole + lambda:CreateFunction/InvokeFunction offline e falha o CI antes do deploy, sem conta AWS.
java
LinkedBlockingQueue sem capacidade aceita tudo até a GC decidir o limite. Veja ArrayBlockingQueue, AbortPolicy e CallerRunsPolicy com teste JVM.
java
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.
java
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.
java
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.
java
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.
aws
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.
java
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.
aws
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.
java
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.
java
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.
ai-agents
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.
java
Flags booleanas aceitam combinações impossíveis. Troque por sealed interface com records e switch exaustivo: o javac barra estados inválidos no build.
ai-agents
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.
java
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.
java
Configure o PIT no Maven, investigue mutantes sobreviventes e crie um gate de CI gradual com Java 25 e JUnit 6.
ai-agents
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.
aws
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.
ai-agents
Versione prompts e ferramentas, grave seus hashes no usage.json e compare revisões de coding agents com goldens estáveis no CI.
java
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.
aws
Troque access keys humanas por sessões temporárias entre contas usando IAM Identity Center, Permission Sets e AWS CLI v2.
ai-agents
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.
aws
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.
ai-agents
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.
aws
Troque chaves estáticas do GitHub Actions por OIDC, IAM role com trust policy restrita, permissions boundary e testes de falha verificáveis.
ai-agents
Defina limite mensal, encerre tarefas longas e leve tokens e custo por PR ao CI sem expor prompts nem esperar a fatura chegar.
aws
Configure cache, invalidação e OAC no CloudFront com S3 privado, headers previsíveis e comandos verificáveis para o pós-deploy.
java
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.
java
Use AssertJ com ProblemDetail e MockMvcTester para localizar campos divergentes em testes Spring Boot 4.1, sem adicionar dependências redundantes.
java
Implemente Idempotency-Key e outbox na mesma transação JDBC com Spring Boot 4.1, Postgres e um teste real com Testcontainers.
career
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.
java
Organize fan-out por request com StructuredTaskScope no Java 25, incluindo cancelamento, timeout, testes e comparação com CompletableFuture.
ai-agents
Configure AGENTS.md, CODEOWNERS, CI e auditoria antes de permitir que um coding agent abra PRs no seu repositório.
java
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.
java
Configure endpoints, health checks, readiness, segurança e métricas do Spring Boot Actuator sem abrir informações sensíveis em produção.
architecture
Use regras de domínio, transações e dados para decidir fronteiras antes de extrair serviços de um monólito Spring.
java
Crie contratos entre consumidor e provedor com Pact, verifique-os no Spring Boot e bloqueie deploys incompatíveis pelo Pact Broker.
java
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.
crescimento-pessoal
Aprenda a distinguir cansaço visual de familiaridade e teste uma rotina curta para revisar o próprio código com mais atenção.
java
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.