Do blog da OpenReplay
Como Corrigir Erros "Cannot GET" Após o Deploy de uma SPA
Corrija erros Cannot GET e 404 de SPA após o deploy com rewrites de servidor para Nginx, Apache, Netlify, Vercel e S3 CloudFront.
Controlando Web Components Sem JavaScript
Use comandos invocadores personalizados para controlar web components só com HTML. command e commandfor ligam botões a um elemento sem JavaScript.
Abandonando o Jest em favor do test runner nativo do Node
Node test runner vs Jest: recursos estáveis, watch mode, snapshots, fake timers, coverage, suporte TypeScript e limites ao migrar.
Impeça que os Títulos Quebrem no Lugar Errado
Corrija títulos quebrados e URLs longas com o CSS e HTML certos: nbsp, wbr, overflow-wrap:anywhere, word-break:break-all, hyphens:auto, text-wrap.
Idempotência Explicada e o Que Ela Significa para a Sua API
Chaves de idempotência explicadas: evite requisições API duplicadas, corrija race conditions e faça retry de POST com claims atômicos e transações.
Construa um App de Quiz Com uma Máquina de Estados
Crie um app de quiz com XState v5 no React. Modele quatro telas como state machine, troque boolean flags e proteja o estado final.
Prompt Injection Explicado para Desenvolvedores Web
Prompt injection para desenvolvedores web: por que não há correção na camada do prompt e como conter ataques indiretos, saídas não confiáveis e riscos de ferramentas.
Corrigindo 'window is not defined' em Aplicações Renderizadas no Servidor
Corrija window is not defined em apps renderizadas no servidor com hooks de montagem, guards typeof window e imports apenas no cliente.
Um Primeiro Olhar sobre o Gea, um Framework de UI Compiler-First
Gea é um framework de UI JavaScript compiler-first com JSX, stores em classes e patches diretos no DOM. O artigo analisa props, tamanho e maturidade.
Escrevendo um Plugin WordPress do Zero
Crie um plugin WordPress do zero com hooks, ativação e desativação, página de configurações, sanitização, escaping e salvamento seguro.
Usando Git Worktrees com Agentes de Codificação de IA
Use git worktrees com agentes de código de IA para isolar branches, evitar conflitos e gerenciar portas, bancos de dados e merges com segurança.
Como Corrigir o Erro Invalid Hook Call no React
Corrija erros invalid hook call no React verificando a stack trace, Rules of Hooks, cópias duplicadas de React e versões de react-dom.
Git Worktrees Explicados: Quando e Por Que Usá-los
Git worktrees explicados: em que diferem de stashes e clones, quando usá-los e quais comandos servem para gerenciá-los.
3 Alternativas ao SSH para Conexões Instáveis
Compare Mosh, Eternal Terminal e autossh para conexões SSH instáveis: UDP, reconexão TCP, requisitos do servidor e uso com tmux.
O Que Há de Novo no ECMAScript 2026
ES2026 traz sete recursos do JavaScript: Array.fromAsync, Math.sumPrecise, métodos base64 e hex de Uint8Array, acesso ao texto fonte em JSON.parse e getOrInsert.
Como Contar Tokens e Estimar Custos de APIs de LLM
Conte tokens de LLM com precisão e estime custos de API com os tokenizers de OpenAI, Claude, Gemini e Llama, além de contexto e cobrança.
Como Verificar o Contraste de Cores para a WCAG
Verifique o contraste WCAG de texto, componentes de interface, indicadores de foco e links com as ferramentas, limites e correções certos.
Como Criar Miniaturas de Imagens Antes do Upload
Crie miniaturas antes do upload com pré-visualização FileReader, redimensionamento Canvas toBlob, envio via FormData e campos multer.
VuePress vs VitePress: Qual Você Deve Escolher?
VuePress vs VitePress para docs Vue: compare manutenção, velocidade de desenvolvimento, personalização e quando VitePress ou Docusaurus é melhor.
Quando um ORM É a Ferramenta Errada
Quando um ORM vira gargalo, use SQL bruto para consultas N+1, funções de janela, CTEs, gravações em lote e parâmetros seguros.
Como Adicionar Reprodução de Vídeo em Aplicações Vue
Adicione reprodução de vídeo a apps Vue com vídeo HTML5 nativo, componentes reutilizáveis ou Video.js para HLS, legendas, autoplay e limpeza.
5 Comandos Git Além de Commit e Push
Cinco comandos Git além de commit e push: stash, reflog, cherry-pick, rebase -i e bisect para recuperar, limpar histórico e achar bugs.
Substitua Números de Porta por URLs Nomeadas em Desenvolvimento
Substitua portas de localhost por URLs nomeadas com .localhost, proxy reverso ou portless para evitar conflitos, vazamento de cookies e abas erradas.
Como Criar uma Barra de Progresso de Leitura
Crie uma barra de progresso de leitura com JavaScript ou animações CSS guiadas por rolagem, com cálculo correto, desempenho e acessibilidade.