Engenharia aplicada

Artigos sobre web, arquitetura e software que dura. Sem hype, com propósito.

APIs PostgreSQL

Paginação por cursor vs OFFSET: por que sua API degrada na página 500

OFFSET 10000 lê e joga fora 10 mil linhas antes de devolver 20. Paginação por cursor pula direto ao ponto certo pelo índice — e não degrada com a profundidade.

· 11 min de leitura
PostgreSQL Performance

Índices que o Postgres ignora: por que sua query continua lenta

Você criou o índice e a query continua lenta. Na maioria das vezes o Postgres está certo em ignorá-lo — e o EXPLAIN ANALYZE mostra o porquê.

· 12 min de leitura
Performance Core Web Vitals

Além do Lighthouse: o que o INP revela que o score 100 esconde

Lighthouse dá 100 e o usuário ainda reclama de lentidão. O INP mede o que o teste em laboratório não vê: a resposta do seu site a cada clique real.

· 11 min de leitura
TypeScript

TypeScript não valida nada em runtime: tipando a fronteira do sistema

Seus tipos somem na compilação. A API responde o que quiser e o any implícito entra sorrindo. Como validar de verdade na fronteira do sistema.

· 10 min de leitura
Arquitetura Legado

Strangler Fig: migrando um sistema legado sem downtime e sem big bang

O rewrite big bang falha porque exige congelar o produto por meses. O padrão Strangler Fig troca o motor com o carro andando — uma rota por vez.

· 10 min de leitura
APIs Arquitetura

Idempotência em webhooks de pagamento: o dia em que a cobrança chegou duas vezes

Webhooks têm entrega at-least-once: o mesmo evento chega duas vezes e o cliente é cobrado em dobro. Por que verificar antes de inserir não resolve — e o que resolve.

· 11 min de leitura
CSS

@starting-style: animando elementos que entram no DOM com CSS puro

A regra CSS que resolve o problema mais chato de animação: elementos que aparecem do nada. Chega de setTimeout para fingir uma transição de entrada.

· 6 min de leitura
HTML JavaScript

Popover API: modais e tooltips nativos sem JavaScript

O atributo HTML que substitui bibliotecas inteiras de modal e tooltip. Acessibilidade, foco e dismiss automáticos — sem escrever uma linha de JS.

· 6 min de leitura
CSS

CSS Anchor Positioning: tooltips e dropdowns sem JavaScript

A propriedade CSS que finalmente permite posicionar qualquer elemento em relação a outro sem uma linha de JavaScript. Fim dos cálculos de getBoundingClientRect.

· 7 min de leitura
CSS Web APIs

View Transitions API: animações de página sem uma linha de JavaScript extra

A API nativa do browser que finalmente resolve transições entre páginas com CSS puro. Como funciona, onde está disponível e quando faz sentido usar.

· 6 min de leitura