Node.js 技术栈学习指南

读过一本好书,像交了一个益友。——臧克家

Node.js 技术栈 是由作者 “五月君” 于 2019 年 4 月梳理之后最早开源于 Github,同时注册了微信公众号「Nodejs技术栈」。本文档包含了作者从事 Node.js Developer 以来的学习历程,旨在为大家提供一个较详细的学习教程,侧重点更倾向于 Node.js 服务端所涉及的技术栈。

也致力于为大家分享最具有价值的 Node.js 相关技术干货,包含 Node.js 基础知识(JavaScript、ES6/ES7/ES8…、TypeScript)、Node.js 核心模块、主流框架实践、缓存、数据库、消息中间件、DevOps、HTTP 协议以及 Node.js 在微服务、分布式领域下的应用分享等。

思维导图

Node.js 技术栈学习指南 - 图1

目录大纲

  • JavaScript
    • 基础
    • This
    • 函数
    • 对象
    • 原型
    • 正则
  • ES系列
    • ES6
      • Let、Const 变量声明
      • 数据类型功能扩展
      • Set、Map 集合
      • 解构赋值
      • 箭头函数
      • Promise
      • Symbol
      • Decorators
      • Generator
    • ES7
      • includes
      • 指数操作符
    • ES8
      • sync/await
      • Object.values()
      • Object.entries()
  • Node.js 基础
    • Node.js 初识
    • Node.js 发展史
    • 开发环境搭建
    • NPM 包管理器
    • 构建第一个 Hello World 应用程序
    • 初识 Node.js 模块
    • 回调函数/异步编程
    • Node.js 编码风格指南
    • Koa.js 入门
    • Node.js 中应用 MongoDB
    • Node.js 中应用 Redis
    • 基于 Koa.js 的简单 CRUD
    • 统一异常处理
    • 单元测试
    • PM2 部署
    • Node.js 应用场景
  • Node.js 核心模块
    • Module — 模块
    • HTTP / HTTPS / HTTP2
    • Net — 网络
    • Event — 事件
    • Stream — 流
    • Buffer — 缓冲区
    • Crypto — 加密
    • FS — 文件
    • Timer — 定时器
  • Node.js 进阶
    • Memory 内存管理
    • V8 虚拟机
    • I/O 模型
    • EventLoop 事件轮询
    • Threads&Process 线程和进程
    • Testing 测试
    • Schedule 定时任务
    • Template 模版引擎
    • Cache 缓存
    • 性能调优
    • 最佳实战
  • Node.js 框架
    • Express.js
    • Koa.js
    • Egg.js
    • Nest.js
    • Midway.js
    • Meteor.js
  • 数据库
    • NoSql
      • Redis
      • MongoDB
      • CouchDB
    • 关系型
      • MySql
      • PostgreSQL
      • SQL Server
    • 搜索引擎
      • ElasticSearch
      • Solr
      • Sphinx
    • 云数据库
      • Azure CosmosDB
      • Amazon DynamoDB
  • HTTP
    • HTTP 协议发展史
    • 5 层网络模型
    • HTTP 三次握手/四次挥手
    • URI/URL/URN
    • 跨域的形成及解决方案
    • 缓存头 Cache-Control
    • Cookie 与 Session
    • HTTP 长链接
    • HTTP2 协议实践
  • 微服务
    • 认识微服务
    • 数据通信
      • ResultFul API
      • GraphQL
      • HAL 基于ResultFul协议的提升
      • RPC
      • 消息队列
    • 服务注册/发现
      • Consul
      • Zookper
    • 柔性可用/容错
      • 可能出现的问题
      • 熔断
      • 限流
      • 服务降级
  • 消息中间价
    • RabbitMQ
    • RocketMQ
    • Kafka
    • ActiveMQ
  • 分布式
    • 认识分布式
    • 分布式事务
    • 分布式锁
    • 分布式限流
    • 分布式订单号生产策略
    • 分布式系统校验
  • DevOps
    • PM2 生产环境部署
    • Docker
    • Jenkins 持续集成
    • SonarQube 代码质量评测分析
    • Jumpserver 开源堡垒机
  • 安全
    • CSRF
    • XSS
    • 越权
    • Cookies 安全策略
    • HTTP/HTTPS 传输安全
    • SQL 注入
    • 中间人攻击
    • OAuth 2.0
  • 工具
    • Git 版本控制
    • VSCode 编辑器
  • 设计模式
    • 单例模式
    • 工厂模式
    • 装饰器模式
    • 代理模式
    • 适配器模式
    • 观察者模式
  • 数据结构
    • Queue
    • Set
    • List
    • Map
    • Heap - 堆
    • Stack - 栈
    • Graph - 图
    • 二叉树
    • 红黑树
    • 十大排序
  • SOLID 五大原则
    • 单一职责原则
    • 开放封闭原则
    • 里式替换原则
    • 接口分离原则
    • 依赖倒置原则

任重而道远!

资源

本项目开源于 Github: https://github.com/Q-Angelo/Nodejs-Roadmap ,同时也会在微信公众号「Nodejs技术栈」进行同步,欢迎关注!如需进群交流的可先关注微信公众号,后台回复“加群”,即可加入「Nodejs技术栈交流群」!