Aprenda Node.js construindo um framework backend - Velocy
Você pode acessar a versão atual do livro nos diretórios dos capítulos ou no formato PDF (modo claro e escuro disponíveis - versão em Inglês) clicando aqui. Vale ressaltar que esta edição inclui a versão atual do conteúdo, não a sua versão final.
Este livro ainda está em um estágio bem inicial. Ele contém uma parte insignificante de todo o conteúdo que o livro deveria cobrir. Haverá um total de 0 dependências para o nosso framework backend, assim como para a nossa biblioteca de logs. Tudo será feito usando Node.js puro, no modo "vannilla", do jeito difícil (o melhor jeito para aprender).
Se você não está familiarizado com Javascript, também é possível conferir meu outro repositório - Learn Javascript - The Easy Way ele leva você a uma jornada profunda e divertida em Javascript - desde o básico até os conceitos avançados que você precisa, sem mergulhar em muita teoria. Apenas exemplos práticos de código.
Para dominar um novo conceito, muitas vezes é melhor começar do zero. Este não é apenas mais um guia qualquer de Node.js; é uma experiência abrangente de código, visando construir um produto do mundo real que pode ser usado por milhares de desenvolvedores. O produto que vamos construir será um framework backend, também do zero.
Você não aprenderá apenas como o Node.js funciona, mas porque ele funciona de uma maneira específica. O guia também contém discussões sobre estruturas de dados e design patterns relevantes.
Outra coisa incluída no livro, é uma ampla gama de exercícios criados especificamente para desafiá-lo, podendo exigir comprometimento e esforço consistente de sua parte. Os primeiros exercícios começam no capítulo 7.
Este guia vai além do básico. Estamos focados em fornecer uma estrutura de back-end modularizada e otimizada que esteja perto de estar pronta para produção. Tópicos como otimização de desempenho, medidas de segurança e diversos tipos de teste serão abordados para garantir que a estrutura seja confiável e escalável.
Eu recomendo fortemente codar ativamente junto com este guia, em vez de apenas lê-lo, para uma compreensão completa do Node.js e seus aspectos mais complexos.
Repositório para nosso framework backend - Velocy. (W.I.P)
- (opcional) Node.js é muito mais rápido do que você pensa
- Afinal, o que diabos é um Servidor Web?
- Seu primeiro servidor web com node.js
- Trabalhando com arquivos
- O que a biblioteca de logs vai fazer?
- Afinal, como você trabalha com arquivos?
- Vamos voltar aos arquivos
- Um pouco mais sobre descritores de arquivos
- Criando nosso primeiro arquivo
- Lendo de um arquivo
- Uma pequena cartilha para o
for..of
e ofor await..of
no javascript - Lendo o arquivo json
- Buffers
- Analisando o arquivo json
logtar
- Nossa própria biblioteca de logs- Iniciando um novo projeto
- Um pouco sobre o
SemVer
- Criando uma classe LogLevel
- A classe Logger
- Encapsulamento com campos privados
- A classe
LogConfig
- Design Patterns
- Comentários em
jsdoc
- A classe
RollingConfig
- Finalizando a classe
RollingConfig
- Vamos recapitular
- Adicionando mais métodos úteis na classe
LogConfig
- Porque o
readFileSync
?
- Refatorando o código
- Escrevendo Logs
- Reutilizando o File Handle
- Rotação de Logs
- Logging Assíncrono
- Obtendo Informações da Chamada
- Testando a Nossa API Atual
- Implementando Métodos de Logging
- Gravando em um Arquivo
- O Objeto
require
- Adicionando um Novo Auxiliar Para Criar o Diretório de Logs
- Atualizando o Método
init
- Completando o Método
log
- Capturando metadados
- Uma pequena introdução ao
async
vssync
- Adicionando Suporte à Rotação de Arquivos
- Mergulho Profundo no HTTP
- Verbos HTTP, Versionamento e os benefícios do
HTTP/1.1
- User agents
- MIME Type e
Content-Type
- Cabeçalhos
- Cabeçalhos de Requisição
- Cabeçalhos de resposta
- Resposta e Códigos de Status
velocy
Nosso Framework Backend- Uma implementação básica do
Router
- A Classe
Router
- Aprimorando a API
Router
- A Necessidade de Uma
trie
- Exercício 1 - Implementando uma
Trie
- Exercício 2 - Implementando Nosso
Router
Baseado em Trie