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 在微服务、分布式领域下的应用分享等。
思维导图
目录大纲
- JavaScript
- 基础
- This
- 函数
- 对象
- 原型
- 正则
- ES系列
- ES6
- Let、Const 变量声明
- 数据类型功能扩展
- Set、Map 集合
- 解构赋值
- 箭头函数
- Promise
- Symbol
- Decorators
- Generator
- ES7
- includes
- 指数操作符
- ES8
- sync/await
- Object.values()
- Object.entries()
- ES6
- 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
- NoSql
- 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技术栈交流群」!