Todos os artigos
-
GOAP: buscar uma sequência de ações e depois validar sua execução
Represente objetivos e ações de forma explícita, mantenha os efeitos hipotéticos separados do mundo real e replaneje quando uma sequência válida deixar de ser possível.
-
Ferramentas de configuração de rede comparadas: nmcli, netplan, systemd-networkd e equivalentes no Windows e macOS
Ler a configuração de rede atual, definir um endereço estático e definir servidores DNS: as mesmas três tarefas com nmcli do NetworkManager, netplan do Ubuntu, systemd-networkd, cmdlets de rede do Windows PowerShell e networksetup do macOS.
-
Fundamentos do armazenamento colunar: como um arquivo Parquet é organizado e por que leituras analíticas acessam menos dados
Um arquivo Parquet é uma sequência de row groups, cada um com um column chunk por coluna, e cada chunk é dividido em páginas, que são a unidade de codificação e compressão. Os metadados ficam no fim do arquivo, de modo que o leitor abre o rodapé, escolhe só as colunas necessárias e pula row groups e páginas com base nas estatísticas de mín./máx.; o layout por coluna é o que torna eficazes as codificações por dicionário e run-length.
-
Verificar a leitura após a escrita usando as revisões retornadas
Confirme uma escrita por meio do identificador estável e da revisão, sem confundir uma atualização concorrente mais recente com o conteúdo exato que você enviou.
-
MSAA e alpha-to-coverage: como distinguir cobertura de sombreamento e opacidade
Use a cobertura multisample para bordas geométricas e de recortes, evitando a atenuação dupla acidental e suposições sem fundamento sobre máscaras de amostras.
-
Pool de conexões com o banco de dados e seus limites
Cada conexão PostgreSQL é um processo com custo de memória; a aplicação deve manter um pool pequeno, dimensionado pela concorrência real, definir timeouts de aquisição e nunca deixar os handlers de requisição abrirem conexões avulsas.
-
Oclusão ambiente em espaço de tela: interpretar o GTAO como estimativa de visibilidade
Como integrar a oclusão ambiente ao termo de iluminação a que ela se destina e como distinguir o ruído de amostragem dos erros causados por uma geometria de profundidade incompleta.
-
Timeouts padrão de clientes HTTP por linguagem e biblioteca: nenhum, 5 segundos ou 100 segundos
O requests do Python e o net/http.Client do Go esperam indefinidamente se nenhum timeout for definido explicitamente, o httpx usa 5 segundos por padrão, o HttpClient do .NET usa 100 segundos, e tanto o axios quanto o timeout de transferência total do curl são ilimitados por padrão — não existe um padrão seguro universal.
-
Escolha e sobreposição de perfis de desempenho com o tuned no RHEL
O tuned aplica um conjunto nomeado de parâmetros do kernel e do sistema com uma única troca de perfil, e um perfil personalizado pode herdar de um existente e sobrescrever apenas o que muda. Esta metodologia cobre listar, recomendar, aplicar e estender perfis.
-
Respostas de erro de API consistentes com Problem Details
A RFC 9457 define um formato JSON para respostas de erro HTTP (type, title, status, detail, instance), permitindo que os clientes tratem os erros de maneira uniforme; qualquer envelope consistente com códigos estáveis e legíveis por máquina atinge o mesmo objetivo.
-
Ordem de dependências com travessia de grafos: BFS, DFS e ordenação topológica
Modele dependências como um grafo dirigido, use busca em largura ou em profundidade para encontrar tudo o que uma mudança afeta e aplique o algoritmo de Kahn ou a pós-ordem do DFS para obter uma ordem de build ou de migração que reporta ciclos em vez de escondê-los; graphlib e tsort implementam a ordenação.
-
Cherry-pick: quando é adequado e o que custa ao histórico
O git cherry-pick reaplica a alteração de um commit como um novo commit com outro ID; é a ferramenta certa para fazer backport de uma correção para uma branch de manutenção ou resgatar um commit de uma branch abandonada, mas cada pick cria uma duplicata que os merges não reconhecem. Por isso, registre a origem com -x e faça merge em vez de pick quando quiser a branch inteira.
-
Modo escuro com prefers-color-scheme, color-scheme e light-dark()
O modo escuro tem três partes: a media query prefers-color-scheme detecta a escolha do usuário; a propriedade color-scheme (e a meta tag) informa ao navegador quais esquemas a página suporta, para que controles de formulário, barras de rolagem e o canvas os acompanhem; e light-dark() ou custom properties trocam os valores da paleta sem duplicar regras.
-
O ciclo do desenvolvimento orientado a testes (TDD)
Escreva um teste que falha, faça-o passar com a mudança mais simples possível e depois refatore com os testes verdes; o ciclo mantém as decisões de design pequenas e dá a cada linha de código uma razão de existir.
-
Gerenciar zonas e regras do firewalld sem se bloquear por SSH
O firewalld separa a configuração em execução da configuração permanente, e uma alteração simples com firewall-cmd se perde no próximo reload, a menos que seja tornada permanente. Esta metodologia cobre zonas, a divisão entre runtime e permanente, rich rules e como testar uma alteração antes que ela se torne irrecuperável numa sessão SSH remota.
-
Jobs agendados que não falham em silêncio
Um job agendado precisa de um lock contra execuções sobrepostas, um timeout, logs explícitos, um código de saída que reflita o sucesso e um monitor que perceba quando ele simplesmente não foi executado.
-
Higiene de alertas em monitoramento de hosts: taxa em vez de limiar, units com falha e janelas de duração
Um page deve significar que uma pessoa precisa agir agora: um disco de host quase cheio deve gerar page pela taxa de preenchimento, e não por uma porcentagem fixa em que uma partição de crescimento lento pode ficar por meses; um limiar ultrapassado por um instante não deve gerar page. Os materiais de SRE do Google sobre disciplina de paging e alertas multijanela fornecem a justificativa; este artigo a aplica aos sinais de host tratados nesta série.
-
Como projetar ferramentas MCP que os agentes possam usar com segurança
Ferramentas do Model Context Protocol precisam de um propósito restrito, esquemas tipados de entrada e saída, anotações fiéis à realidade (somente leitura, destrutiva), resultados limitados e erros que indiquem a causa; as descrições devem ficar no código, não em conteúdo que usuários possam editar. A especificação também exige que os clientes tratem as anotações como não confiáveis e que uma pessoa possa recusar chamadas.
-
Modelagem de ameaças de uma funcionalidade com STRIDE em uma única sessão de trabalho
Desenhe a funcionalidade como um diagrama de fluxo de dados com fronteiras de confiança, percorra cada elemento pelas seis categorias do STRIDE, decida para cada ameaça entre mitigar, eliminar, transferir ou aceitar e registre o resultado como requisitos testáveis; as quatro perguntas do Threat Modeling Manifesto servem de pauta.
-
Verificar a identidade de um pacote sugerido antes de adicioná-lo a um projeto
Confirme que o nome de um pacote sugerido durante a programação corresponde à dependência mantida que se pretendia, antes de alterar os arquivos de dependências do projeto ou executar hooks de instalação.
Legível por máquina: JSON