Categoria

JavaScript + Node.js + React

WeakMap e WeakRef: gerenciamento de memória
JavaScript + Node.js + React

WeakMap e WeakRef: gerenciamento de memória

O gerenciamento de memória em JavaScript depende do garbage collector (GC) do motor V8, que utiliza o algoritmo mark-and-sweep. Objetos mantidos por referências fortes nunca são coletados, mesmo quando não são mais necessários. Esse comportamento pode causar memory leaks em aplicações Node.js e React, especialmente quando referências a objetos desmontados ou callbacks antigos persistem.

05/05/2026
Web Vitals: medindo performance real do usuário
JavaScript + Node.js + React 05/05/2026

Web Vitals: medindo performance real do usuário

Web Vitals são um conjunto de métricas definidas pelo Google para quantificar a experiência real do usuário em aplicações web. As Core Web Vitals incluem três métricas principais:

WebSockets com ws e Socket.io
JavaScript + Node.js + React 05/05/2026

WebSockets com ws e Socket.io

WebSockets representam uma evolução significativa na comunicação web, permitindo conexões bidirecionais persistentes entre cliente e servidor. Diferentemente do HTTP/REST, onde o cliente sempre inicia a requisição e o servidor responde, os WebSockets estabelecem um canal aberto contínuo onde ambas as partes podem enviar dados a qualquer momento.

Upload de arquivos com Multer
JavaScript + Node.js + React 05/05/2026

Upload de arquivos com Multer

Multer é um middleware para Node.js que facilita o upload de arquivos em aplicações Express. Ele processa requisições HTTP com multipart/form-data, o formato padrão para envio de arquivos via formulários HTML ou APIs REST. Diferente de outras soluções, o Multer oferece controle granular sobre armazenamento, validação e manipulação de arquivos.

useContext: gerenciamento de estado global simples
JavaScript + Node.js + React 05/05/2026

useContext: gerenciamento de estado global simples

Em aplicações React, um dos problemas mais comuns é o prop drilling — a prática de passar props através de múltiplos níveis de componentes apenas para que um componente filho distante possa acessar aquele dado. Isso torna o código verboso, difícil de manter e propenso a erros.

useReducer: estado complexo sem Redux
JavaScript + Node.js + React 05/05/2026

useReducer: estado complexo sem Redux

Gerenciar estado em aplicações React pode se tornar desafiador à medida que a complexidade cresce. Enquanto useState é perfeito para valores simples como strings ou booleanos, ele rapidamente se mostra limitado quando lidamos com objetos aninhados, múltiplos sub-valores ou lógicas de transição complexas.

var, let e const: diferenças e quando usar cada um
JavaScript + Node.js + React 05/05/2026

var, let e const: diferenças e quando usar cada um

Desde o início do JavaScript, var era a única forma de declarar variáveis. Com a chegada do ECMAScript 2015 (ES6), let e const foram introduzidos para resolver problemas históricos de escopo e previsibilidade. A principal motivação foi oferecer controle mais granular sobre como e onde as variáveis existem no código, eliminando comportamentos confusos como hoisting sem inicialização e escopo de função que vazava para fora de blocos.

Variáveis de ambiente com dotenv
JavaScript + Node.js + React 05/05/2026

Variáveis de ambiente com dotenv

Variáveis de ambiente são pares chave-valor armazenados no sistema operacional ou em arquivos de configuração, que influenciam o comportamento de aplicações em tempo de execução. Em projetos JavaScript, elas são essenciais para separar configurações sensíveis do código-fonte.

Tipos de dados: string, number, boolean, null e undefined
JavaScript + Node.js + React 05/05/2026

Tipos de dados: string, number, boolean, null e undefined

Em JavaScript, os tipos de dados são a base sobre a qual toda a linguagem é construída. Eles definem que tipo de valor uma variável pode armazenar e quais operações podem ser realizadas com ela. Os tipos primitivos são os blocos fundamentais: string, number, boolean, null e undefined.

Tratamento de erros assíncronos no JavaScript
JavaScript + Node.js + React 05/05/2026

Tratamento de erros assíncronos no JavaScript

O try/catch tradicional só captura erros que ocorrem no mesmo "loop de eventos" (event loop). Erros que acontecem dentro de callbacks, Promises ou operações assíncronas escapam desse bloco: