Treino pra backend da vidaaa.
Para trabalhar com backend em JavaScript, é importante conhecer alguns recursos e conceitos-chave da linguagem. Aqui estão alguns dos principais:
-
Event Loop e Assincronismo Event Loop: Entenda como o Node.js lida com operações assíncronas e como o event loop permite a execução não-bloqueante de código. Callbacks: Funções passadas como argumentos para outras funções, executadas quando uma operação é concluída. Promises: Um objeto que representa a eventual conclusão ou falha de uma operação assíncrona. Usado com .then() e .catch(). Async/Await: Sintaxe que simplifica o trabalho com Promises, tornando o código assíncrono mais legível.
-
Manipulação de Dados JSON: JavaScript Object Notation, um formato para troca de dados. Use JSON.stringify() para converter objetos em JSON e JSON.parse() para o oposto. Buffers: Estruturas para manipular dados binários de forma eficiente.
-
Módulos e Imports CommonJS: Sistema de módulos usado no Node.js, com require() e module.exports. ES6 Modules: Padrão mais recente com import e export, mas ainda em processo de adoção no Node.js.
-
Manipulação de Arquivos e Diretórios fs (File System): Módulo para ler e escrever arquivos no sistema de arquivos. Funções como fs.readFile(), fs.writeFile(), e fs.unlink() são essenciais.
-
Criação de Servidores http: Módulo interno do Node.js para criar servidores HTTP simples. express: Framework para criar servidores e APIs com uma API mais amigável e poderosa que o módulo http.
-
Streams Readable Streams: Para ler dados de maneira eficiente, em partes, sem carregar tudo na memória. Writable Streams: Para escrever dados de maneira eficiente.
-
Manipulação de Strings e Dados Métodos de String: Conhecimento de métodos como .split(), .join(), .replace(), e .trim(). Template Literals: Para interpolação de strings e criação de strings multilinha.
-
Tratamento de Erros try/catch: Para capturar e tratar erros em blocos de código. Errores Personalizados: Criação de suas próprias classes de erro, estendendo Error.
-
Gerenciamento de Pacotes npm: Conhecimento sobre como instalar e gerenciar pacotes, e como usar package.json para definir dependências e scripts.
-
Debugging console.log(): Método básico para depuração. Node.js Inspector: Ferramenta integrada para depurar código Node.js com breakpoints e inspeção de variáveis.
-
Segurança Sanitização de Entrada: Protege contra ataques como injeção de SQL e XSS. Criptografia: Uso de bibliotecas para hashing e criptografia de dados sensíveis.