Git 2.56: como usar last-modified em diretórios grandes
O Git 2.56 adiciona um comando last-modified para consultar a última alteração em arquivos e diretórios. Veja o que ele resolve, como testar e quais cuidados tomar em repositórios grandes.
O Git 2.56 adiciona um comando last-modified para consultar a última alteração em arquivos e diretórios. Veja o que ele resolve, como testar e quais cuidados tomar em repositórios grandes.
O blog oficial do Go apresentou melhorias na reutilização de conexões HTTP/1 no Go 1.27. Entenda como o transporte HTTP funciona, quais ganhos esperar e como medir o efeito na sua aplicação.
Você escreve Python todo dia, mas sabe o que acontece por baixo dos panos? Neste guia, entenda como o CPython compila para bytecode, como a VM de pilha executa instruções e por que o GIL existe. Conhecimento que muda a forma de escrever código.
Os processadores AMD Ryzen ficaram 50% mais rápidos em apenas dois anos sem mudar de fabricante. Entenda o que mudou na arquitetura, no compilador e no software para chegar a esse resultado impressionante.
O PostgreSQL 19 trouxe uma mudança simples mas muito aguardada: agora da para ativar checksums de dados em produção sem precisar parar o banco. Entenda o que muda e como ativar.
Entenda o Tokio, runtime assíncrono para Rust usado por projetos como Discord, AWS e Deno. Veja como funciona, principais recursos, exemplo prático e quando usar.
Entenda o mold, linker escrito em Rust criado por Rui Ueyama para ligar projetos C, C++ e Rust muito mais rápido usando paralelismo. Veja instalação, comparação com GNU ld e LLD.
DragonflyDB e um banco de dados em memoria compatível com Redis e Memcached, construido para aproveitar melhor processadores multi-core. Veja como funciona, como instalar e quando vale a pena trocar.
A Shopify decidiu migrar seus apps de volta para desenvolvimento nativo, deixando o React Native de lado. Entenda os motivos técnicos por trás dessa troca e o que isso significa para quem decide entre nativo e multiplataforma.
A Cloudflare detalhou como reduziu o uso de memória do cache DNS do 1.1.1.1 com cinco mudanças no layout dos dados. Entenda as técnicas em Rust e como aplicar o mesmo raciocínio em sistemas de alta escala.
Um único colchete mal posicionado em um componente React pode disparar dezenas de milhares de chamadas a API em segundos. Veja como esse tipo de bug acontece, como identificar, e o que fazer para nunca mais passar por isso.
O Mojo chegou a versão 1.0 e promete mudar como desenvolvedores de IA e sistemas críticos escrevem código. Você escreve como Python, mas roda como C. Entenda o que mudou, como começar e quando vale a pena migrar.
A API do browser para comunicação entre abas permite sincronizar dados em tempo real sem precisar de hacks com localStorage. Entenda como funciona, quando usar e como migrar do truque antigo para a solução nativa.
Você esta instalando date-fns ou moment.js só para exibir 'ha 2 horas' ou 'em 3 dias'? O JavaScript tem isso nativo desde 2020 com Intl.RelativeTimeFormat. Veja como usar, quais os limites e quando ainda vale uma biblioteca.
O Python free-threaded permite executar threads em paralelo sem o GIL, e o NumPy já oferece suporte experimental. Veja como testar o ambiente, dividir arrays com segurança e evitar corridas de dados em cálculos numéricos.
Aprenda a utilizar a propriedade CSS content-visibility: auto para pular a renderização de elementos fora da tela e acelerar o carregamento de sites.
Entenda como os backups paralelos no PostgreSQL reduzem drasticamente o tempo de cópia de segurança e garantem alta disponibilidade em bancos de dados gigantes.
Entenda por que o LocalAI desenvolve motores próprios em C e C++, quais ganhos obteve em tamanho, memória e desempenho e por que a paridade vem antes da otimização.
O Go ganhou um garbage collector completamente reescrito nas versões recentes. Entenda como ele percorre o heap, por que a latência caiu tanto e o que isso muda para aplicações Go em produção.
Filas sem bloqueio (lock-free queues) eliminam o gargalo de mutex em sistemas de alta concorrência. Neste guia, você entende como implementar uma fila lock-free em C++ moderno usando atomics, CAS e técnicas atuais de concorrência.
O SearchValues do .NET permite buscas altamente otimizadas em strings usando SIMD. Mas ele não e sempre a melhor escolha. Entenda quando ele supera Contains e IndexOfAny e quando você esta adicionando complexidade desnecessária ao seu código.
O problema N+1 e um dos bugs de performance mais comuns em aplicações .NET com Entity Framework. Um cache miss no lugar errado pode transformar uma consulta em dezenas de roundtrips ao banco. Aprenda a identificar, diagnosticar e corrigir definitivamente.
O Cruller e o projeto que mantem o runtime Zig do Bun funcionando na versão mais recente do Zig. Com o lançamento do Zig 0.16, o projeto foi atualizado e mostra como a linguagem Zig esta se tornando base de ferramentas críticas de JavaScript.
Cold start no AWS Fargate pode adicionar dezenas de segundos no boot de containers com imagens grandes. O SOCI (Seekable OCI) resolve isso fazendo o container iniciar antes de terminar o download da imagem. Aprenda como funciona e como ativar na sua pipeline.
GigaToken e uma biblioteca open source que promete tokenização até 1000 vezes mais rápida do que as soluções tradicionais. Entenda como ela funciona, quando usar e como começar em minutos.
PostgreSQL é poderoso, mas pode virar pesadelo em produção sem os cuidados certos. Veja os erros mais comuns que startups cometem com Postgres e como evitá-los antes que seu banco quebre de vez.
Multiplicar dois números parece simples, mas para números com milhões de dígitos o algoritmo ideal ainda e um problema em aberto na matemática. Entenda os algoritmos de Karatsuba, Schonhage-Strassen e Harvey-Hoeven, e por que isso importa para criptografia, Python e performance em geral.
SQLite não e só para apps mobile e testes locais. Com a configuração certa, ele roda em produção com excelente performance para muitos casos de uso. Veja o que desenvolvedores aprenderam rodando SQLite de verdade em sistemas reais.
O compilador do Roc foi reescrito de Rust para Zig, gerando debate intenso no HN. Neste post, explicamos o que é Zig, como funciona, como começar e por que desenvolvedores de sistemas estão escolhendo essa linguagem.
Protobuf-py e uma implementação moderna de Protocol Buffers para Python que elimina as limitações da biblioteca oficial do Google. Veja como instalar, usar e quando vale a pena migrar do JSON ou do protobuf padrão.
O PgBouncer e o gerenciador de pool de conexões mais usado com PostgreSQL. Neste post você aprende como ele funciona, os modos de operação e como configurar para escalar conexões sem estourar o banco.
Por que o mesmo código pode ser rápido em uma execução e lento em outra? Entenda como cache da CPU, branch prediction e alocação de memoria tornam a performance imprevisível e o que fazer para medir isso.
O projeto pgrust reimplementou o PostgreSQL em Rust e esta passando em 100% dos testes de regressão oficiais do Postgres. Entenda o que isso significa, como funciona e por que a comunidade dev ficou animada.
TypeScript 7.0 chega com o compilador reescrito em Go, prometendo builds até 10 vezes mais rápidos. Entenda o que muda, como migrar seu projeto e se vale a pena atualizar agora.
Um benchmark real testou o PostgreSQL em 23 tipos de instâncias EC2 da AWS medindo performance e custo por operação. Veja quais instâncias entregam o melhor custo-beneficio para diferentes cargas de trabalho e como escolher a certa para o seu banco de dados.
Um ensaio clássico revisitado: por que software rápido e melhor software. Entenda como a obsessão moderna por features acabou normalizando lentidão e o que você pode fazer para mudar isso nos seus projetos.
ORMs são ótimos para agilidade, mas esconder o SQL por baixo cobra um preço alto quando a complexidade aumenta. Entenda o que os ORMs ensinam sobre banco de dados, quando eles falham e por que SQL direto ainda e a habilidade mais valiosa para desenvolvedores.
O FreeBSD usa toda a RAM disponível para buffer cache e ARC do ZFS. Isso não e bug: e design intencional para maximizar performance de I/O. Entenda o que esta acontecendo, como monitorar e quando realmente ha um problema.
O Linux pode matar seu processo do PostgreSQL sem aviso. Entenda o que é o OOM Killer, por que ele é um perigo real em produção e como configurar o overcommit estrito para proteger seus bancos de dados.
A Bunny.net anunciou que seu DNS de alta performance agora é gratuito para todos. Entenda como funciona, por que é rápido e como configurar seus domínios sem custo.
O Project Valhalla chega ao JDK 28 depois de mais de uma década de desenvolvimento. Aprenda o que são value types, como eles eliminam boxing e melhoram a performance da JVM em aplicações que criam muitos objetos pequenos.
DuckDB ? um banco de dados anal?tico embutido que processa consultas SQL em colunas com velocidade impressionante, sem precisar de servidor. Veja como ele funciona, por que est? em alta e quando us?-lo no seu projeto.
Aprenda as técnicas-chave de programação sem alocação de memória em C# para diminuir a carga sobre o Garbage Collector, reduzir a latência e melhorar a performance de aplicações .NET avançadas.
Entenda por que apagar muitas linhas no PostgreSQL trava o banco, qual o papel do MVCC e do autovacuum, e como estrategias como TRUNCATE, particionamento e DROP TABLE podem salvar suas noites de plantao.
O Bun é um runtime JavaScript ultrarrápido que tem potencial para desbancar o Node.js, oferecendo um bundler, transpilador e gerenciador de pacotes integrados. Neste post, exploraremos como esse novo player funciona, quando vale a pena adotá-lo e como começar a usar em apenas alguns minutos.
SDK de instrumentação, grouping de erros, traces de performance e session replay. Como configurar o Sentry para máxima visibilidade sem degradar performance.
Os 4 golden signals do SRE, histogramas, percentis e como definir SLOs/SLAs baseados em dados reais de produção.
Horizontal vs. vertical scaling, métricas de trigger, cooldown periods e scale-to-zero. Estratégias para aplicações web, workers e serviços de background.
RPS, TPS, concorrência, filas e back pressure. Como medir throughput real em produção, identificar gargalos e planejar capacidade para crescimento.
Edge nodes, TTL, cache-control headers, invalidação, origin shield e otimizações de mídia. Como configurar CDN para máximo offload sem erros de conteúdo stale.
OFFSET em tabelas grandes executa full scan até o offset desejado. Cursor-based pagination usa index seek e escala linearmente. Veja como implementar keyset pagination com ordenação composta e filtros dinâmicos.
Token bucket permite bursts; leaky bucket suaviza; sliding window log é preciso mas caro. Veja como implementar com Redis INCR + EXPIRE, as limitações de instâncias múltiplas e rate limiting por tenant.
Distribuir cache entre múltiplas instâncias introduz inconsistência e o problema de invalidação em cascata. Entenda cache-aside vs write-through, TTL com jitter para evitar expiration storms e como o Redis Cluster particiona os dados.
Nem tudo deve ser cacheado. Entenda a diferença entre application cache, query cache e HTTP cache, como calcular hit ratio, e os riscos de stale data em contextos de escrita frequente.
CDN não é só servir arquivos estáticos. Entenda como configurar cache behavior por path, stale-while-revalidate para alta disponibilidade, edge functions para personalização e como forçar invalidação sem derrubar origin.
Index não e sempre melhor. Index em coluna de alta cardinalidade com muitos writes tem custo. Entenda como o query planner decide usar ou ignorar um index, diferença entre covering index e partial index, e como usar EXPLAIN ANALYZE.
LRU, LFU, TTL — cada politica de eviction tem um trade-off. Cache com TTL muito longo serve dado desatualizado; muito curto perde o beneficio. Entenda cache warming, write-through versus cache-aside e como lidar com cache miss storm.