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 在微服务、分布式领域下的应用分享等。
思维导图
说明:大致方向不会变,中间细节部分之后可能会修改,欢迎关注公众号「Nodejs技术栈」回复 “思维导图” 查看最新版学习指南
目录大纲
-
JavaScript
-
基础
-
This
-
函数
-
对象
-
原型
-
正则
-
ES系列
-
sync/await
-
Object.values()
-
Object.entries()
-
includes
-
指数操作符
-
Let、Const 变量声明
-
数据类型功能扩展
-
Set、Map 集合
-
解构赋值
-
箭头函数
-
Promise
-
Symbol
-
Decorators
-
Generator
-
ES6
-
ES7
-
ES8
-
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
-
数据库
-
Azure CosmosDB
-
Amazon DynamoDB
-
ElasticSearch
-
Solr
-
Sphinx
-
MySql
-
PostgreSQL
-
SQL Server
-
Redis
-
MongoDB
-
CouchDB
-
NoSql
-
关系型
-
搜索引擎
-
云数据库
-
HTTP
-
HTTP 协议发展史
-
5 层网络模型
-
HTTP 三次握手/四次挥手
-
URI/URL/URN
-
跨域的形成及解决方案
-
缓存头 Cache-Control
-
Cookie 与 Session
-
HTTP 长链接
-
HTTP2 协议实践
-
微服务
-
可能出现的问题
-
熔断
-
限流
-
服务降级
-
Consul
-
Zookper
-
ResultFul API
-
GraphQL
-
HAL 基于ResultFul协议的提升
-
RPC
-
消息队列
-
认识微服务
-
数据通信
-
服务注册/发现
-
柔性可用/容错
-
消息中间价
-
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技术栈交流群」!
以上部分内容已经完成的可以在 Github 查看,后续也会同步到微信公众号,更多内容还需不断完善,我会朝着这个大纲目标走,如果您有不错的文章欢迎投稿,当然也欢迎分享本公众号的文章让更多的同学能够看到。转载和投稿前请先在公众号后台点击 “阅读更多” -> “转载投稿”查看相关须知内容。
本文分享自微信公众号 - 胡哥有话说(hugeyouhuashuo)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。