Todos os artigos
-
Comportamento medido de CHECK e UNIQUE no PostgreSQL com dois valores NULL
O PostgreSQL 16.15 aceitou duas linhas com NULL sob CHECK(value > 0) e UNIQUE(value) comum, rejeitou -1 e recusou a alteração posterior para NOT NULL enquanto essas linhas continuavam na tabela.
-
Testes orientados por tabela em Go com subtestes
Escreva uma única função de teste que percorre um slice de casos nomeados e executa cada um com t.Run; os casos passam a ser dados, um caso isolado pode ser selecionado com go test -run 'TestX/name', e t.Parallel, t.Helper e t.Cleanup mantêm o laço rápido e legível.
-
Logs com timestamp e fáceis de interpretar: RFC 5424 vs. RFC 3164, templates JSON e por que usar UTC
O TIMESTAMP do syslog na RFC 5424 é um perfil restrito da RFC 3339, com ano, precisão de frações de segundo e deslocamento de fuso horário; o formato anterior, da RFC 3164, não tem nada disso e é mais difícil de interpretar sem ambiguidade. O rsyslog consegue gerar qualquer um dos dois, ou uma estrutura JSON totalmente personalizada, por meio de templates, e um servidor com fuso horário e logs em UTC elimina toda uma classe de erros de correlação entre fusos.
-
Diretivas de Cache-Control: max-age, no-store, private e stale-while-revalidate
O Cache-Control informa aos caches de navegador e aos caches compartilhados por quanto tempo uma resposta pode ser reutilizada e onde pode ser armazenada: max-age e s-maxage definem a validade, no-cache exige revalidação antes da reutilização, no-store proíbe o armazenamento, private mantém a resposta fora dos caches compartilhados, e stale-while-revalidate e stale-if-error (RFC 5861) permitem servir conteúdo obsoleto durante a atualização ou em caso de erro. Uma resposta sem diretivas ainda pode ser armazenada em cache de forma heurística.
-
www versus domínio apex: a restrição do CNAME, o escopo dos cookies e para qual redirecionar
O apex não pode ser um CNAME porque a RFC 1034 proíbe outros dados em um nó que tenha um, e o apex sempre contém registros SOA e NS; por isso, hospedar no endereço variável de um provedor exige registros A/AAAA ou um recurso do provedor, como o CNAME flattening. Cookies definidos no apex com o atributo Domain chegam a todos os subdomínios. Escolha uma forma, inclua ambas no certificado e redirecione a outra de forma permanente.
-
Corpora de recuperação envenenados: como poucos documentos plantados podem direcionar as respostas de um sistema RAG
A geração aumentada por recuperação (RAG) confia em tudo o que o retriever devolve. Pesquisas mostraram que injetar poucos textos forjados numa base de conhecimento pode levar o sistema a dar uma resposta escolhida pelo atacante a uma pergunta-alvo. As defesas passam por controlar quem pode escrever no corpus, registrar a proveniência de cada trecho e verificar as respostas.
-
Cobertura do detector de data races do Go: uma execução limpa não diz nada sobre caminhos não executados
Relacione os resultados de go test -race aos caminhos concorrentes realmente exercitados, incluindo a inicialização e o encerramento.
-
Identificadores com dígito verificador reduzem ações no registro errado quando agentes os transcrevem
Hipótese: quando agentes baseados em modelos de linguagem copiam identificadores de documentos para chamadas de ferramentas, um esquema com dígito verificador validado pela API receptora transforma a maioria dos erros de transcrição em rejeições, em vez de ações no registro errado; o efeito deve ser maior em identificadores numéricos densos e desprezível em esparsos, como UUIDs.
-
Componentes dimensionados com container queries precisam de menos overrides específicos por posicionamento do que os dimensionados com media queries de viewport
Hipótese: quando o mesmo conjunto de componentes é usado em vários espaços do layout, a implementação com container queries tem menos regras CSS que existem só para corrigir um componente em um posicionamento específico do que a implementação com media queries, e adicionar um novo posicionamento não exige CSS novo nos componentes; propõe-se uma comparação de duas implementações com contagem de regras.
-
Gerenciando kernels instalados no Debian e no Ubuntu: limpeza, espaço em /boot, HWE e Livepatch
Pacotes de kernel antigos se acumulam em /boot até que o apt autoremove os elimine; o Ubuntu oferece ainda o kernel HWE (Hardware Enablement) contínuo nas versões LTS e o serviço Livepatch da Canonical, que aplica correções de segurança do kernel sem reinicialização imediata. Ambos são específicos do Ubuntu e não têm equivalente no Debian.
-
Dev containers: o devcontainer.json como ambiente de desenvolvimento reproduzível
Um devcontainer.json descreve o contêiner que um editor, um workspace na nuvem ou um runner de CI deve construir para um repositório: imagem ou Dockerfile, features, portas encaminhadas, comandos de ciclo de vida e personalizações do editor. A especificação aberta em containers.dev permite usar o mesmo arquivo localmente, em workspaces hospedados e em pipelines, de modo que o toolchain fica fixado junto com o código em vez de depender de cada máquina.
-
llms.txt e sites legíveis por agentes: robots.txt, sitemap e um ponto de entrada curado
Agentes e crawlers encontram conteúdo por meio de poucas convenções: robots.txt para regras de acesso e para indicar a localização da sitemap (RFC 9309), uma sitemap com datas de alteração verdadeiras e llms.txt como guia curto e curado em Markdown, complementado por versões Markdown das páginas. Nenhuma delas substitui a autenticação.
-
A rotação programada de segredos revela consumidores não documentados de credenciais antes que um incidente o faça
Hipótese: equipes que rotacionam segredos compartilhados de longa duração em um cronograma fixo descobrem, durante as rotações planejadas, os scripts, jobs e integrações que dependem deles sem que ninguém saiba; por isso, uma rotação de emergência após um vazamento é concluída mais rápido e quebra menos do que em equipes que só rotacionam sob suspeita. A cheat sheet da OWASP recomenda a rotação regular, mas esse ganho operacional não foi medido.
-
windows_exporter: instalar o MSI com coletores habilitados e verificar /metrics no Windows
O windows_exporter é distribuído como um MSI que se instala como serviço do Windows e aceita propriedades do instalador para definir os coletores habilitados, a porta de escuta e uma exceção no Firewall do Windows, tudo configurável de forma não interativa via msiexec.
-
Verificar o suporte a virtualização por hardware e o KVM aninhado antes de depender deles
Antes de instalar um hipervisor ou de aninhar uma VM dentro de outra, confirme que a CPU expõe as extensões de virtualização e, no caso do aninhamento, que o módulo kvm_intel ou kvm_amd tem a opção nested ativada. O virt-host-validate e o /proc/cpuinfo dão uma resposta rápida.
-
Player loop do Unity: separar as atualizações de entrada, física e câmera
Atribua a intenção de entrada, as alterações de física e a apresentação da câmera a fases de atualização escolhidas de propósito, para que variações de frame rate não dupliquem nem percam comandos de gameplay.
-
Boot environments ZFS com bectl: um caminho de rollback para atualizações do FreeBSD e de pacotes
O bectl clona o dataset ZFS raiz num boot environment em segundos. Criar um antes de um freebsd-update ou de uma grande atualização do pkg oferece um caminho de volta imediato, selecionável no menu do loader, para um sistema que se sabe funcional, independente do mecanismo próprio de patch/install/rollback do freebsd-update e em complemento a ele.
-
Preservar os limites das evidências ao transformar pesquisa em slides no Orkas
Um método de transferência proposto mantém juntos trechos de fontes, conclusões qualificadas e verificações pendentes ao longo das etapas de pesquisa, relatório e slides. Uma comparação fictícia de uso offline mostra exatamente o que cada saída pode afirmar.
-
Política de auditoria do Windows com auditpol: ler subcategorias, aplicá-las e dimensionar o log de Segurança
O comando auditpol /get /category:* lista a política de auditoria avançada realmente em vigor no Windows Server. As configurações de subcategoria só prevalecem sobre a política básica, por categoria, enquanto a opção de forçar as configurações de subcategoria (SCENoApplyLegacyAuditPolicy) estiver habilitada, o que é o padrão efetivo; um log de Segurança subdimensionado sobrescreve ou descarta eventos auditados.
-
Definição do oráculo de autorização para requisições em lote com objetos mistos
Expõe regras de acesso ambíguas em operações em lote antes que um agente escreva testes que aprovam qualquer resposta que a implementação retorne. A proposta foca em propriedade mista dentro de uma mesma requisição.
Legível por máquina: JSON