Migração de banco que não cabe numa janela: primeiro soma, depois tira
Renomeie coluna ou mude esquema sem derrubar quem está no ar: adicione o novo, publique código que grava nos dois, copie o dado em lotes e só então remova o antigo.
399 artigos nesta categoria.
Renomeie coluna ou mude esquema sem derrubar quem está no ar: adicione o novo, publique código que grava nos dois, copie o dado em lotes e só então remova o antigo.
Guarde valores como inteiros em centavos ou em DECIMAL, faça contas com regra de arredondamento explícita, divida parcelas sem perder centavo e formate só na tela.
Guarde instantes em UTC, converta para America/Sao_Paulo só na exibição e calcule "hoje" com os limites do dia local, em PostgreSQL e JavaScript.
Como usar uma chave de idempotência para que a segunda tentativa de um pagamento devolva o resultado da primeira, em vez de cobrar de novo.
Paginação por cursor testada em 300 mil linhas: por que o OFFSET repete item, quanto custa a página funda e a armadilha da comparação de linha no MySQL 8.4.
Entenda o que CORS faz de verdade, configure uma lista explícita de origens com credenciais e mantenha a autenticação e a autorização no servidor, onde elas valem para qualquer cliente.
Segredo na imagem Docker testado: o token do ARG no history, o .env apagado que segue na camada, secret mount no build e /run/secrets com o dono certo.
Container Docker sem root: crie um usuário com UID fixo, use a instrução USER, acerte o dono dos volumes e confirme com id que o processo não roda como root.
Separe a checagem de vida da checagem de prontidão, teste a dependência crítica com prazo curto e configure Docker, Compose ou Kubernetes para usar cada uma no lugar certo.
Configure startupProbe, livenessProbe e readinessProbe no Kubernetes com prazos calculados a partir do tempo real de subida, para parar o loop de reinício.
SIGTERM no Docker e no Kubernetes: como fazer desligamento gracioso, terminar os pedidos em curso e ajustar o stop_grace_period antes do SIGKILL.
Marque respostas com sessão como private ou no-store, nunca cacheie Set-Cookie no CDN e separe o miolo público do pedaço personalizado da página.