课程介绍:
即使你会用 Node.js 开发小型项目后端系统,也只能说你掌握了它最基本的用法,并不足以打动大厂招聘官。因为,很多大厂选择 Node.js来承接服务端(BFF层),涉及的项目更为复杂,要求也更加精细,这需要前端既非常懂 Node.js 本身,也要懂其相关的服务端知识,才能更好地支撑大规模线上业务。本课程就带你学习BAT级别的 Node.js 用法,快速提升你在前端市场的区分度和竞争力。
课程目录:
第1章 课程简介 3 节 | 20分钟
本章节对课程做了简单的介绍。
1-1 导学 (19:17)
1-2 预习:课程学习指南
1-3 【讨论题】作为一名前端工程师,如何扩展自己的职业边界?
第2章 运筹帷幄之中,决胜千里之外-Node.js APM (应用监控)的概念及实践13 节 | 131分钟
APM是近几年一个非常热门的概念。这个模块首先会介绍APM的核心概念和原理,同时讲解 Node.js相关的APM指标。之后会有两节实战课帮你使用社区应用最广泛的grafana/alinode搭建自己的apm体系。
2-1 本章简介
2-2 从零出发: APM 的核心概念 (21:59)
2-3 如何发现一个 Node.js 应用的问题 (09:26)
2-4 实战-使用 0X 火焰图工具查看 CPU 性能(新) (05:32)
2-5 Node.js 应用最经常出现的问题-内存泄漏 (07:27)
2-6 实战-观察内存溢出情况下的内存问题(新) (13:41)
2-7 讲解 Docker、 Docker-compose、 Graphite StatsD 等概念 (12:19)
2-8 实战-快速搭建 Node.js APM 监控平台 (15:04)
2-9 三种统计指标类型 (12:23)
2-10 介绍阿里云 Node.js 性能平台的情况 (06:51)
2-11 实战-快速将你的 Node.js 应用接入阿里云性能平台-1 (10:19)
2-12 实战-快速将你的 Node.js 应用接入阿里云性能平台-2 (15:24)
2-13 【讨论题】谈一谈你们公司的服务端应用是如何保证稳定性的
第3章 进可攻,据可守-如何在生产环境部署一个稳定的 Node.js 应用19 节 | 180分钟
本章节则会告诉大家,在一个非常成熟的互联网公司里,如何做到一个应用能够承载几千万或者上亿的流量,背后的那些技术原理是什么。这个模块会先从网站架构的发展讲起,逐步延伸到应用和服负载均衡、灰度发布、优雅退出、健康检查等高可用网站的核心概念,同时通过实战让大家掌握如何去实施这些特性。…
3-1 本章简介
3-2 一个故事:网站是怎么越做越大 (18:45)
3-3 知识点回顾:四层与七层、Nginx 与 LVS 、NDS、网关 (07:23)
3-4 负载均衡-回顾负载均衡的概念 (06:13)
3-5 Node.js 应用负载均衡的两个概念-服务(进程)负载均衡 (11:23)
3-6 Node.js 应用负载均衡的两个概念-RPC 负载均衡 (07:42)
3-7 负载均衡算法 (19:58)
3-8 优雅退出(graceful exit):Node.js 应用优雅退出的概念及底层原理 (18:35)
3-9 优雅退出(graceful exit):实战-最简单的优雅退出效果及实现 (13:27)
3-10 大厂如何发布一个新版本-问题篇 (08:02)
3-11 实战-利用 nginx 实现一个 Node.js 金丝雀发布 (11:41)
3-12 大厂如何发布一个新版本-蓝绿发布 (09:48)
3-13 大厂如何发布一个服务-金丝雀滚动发布 (03:45)
3-14 健康检查(health check )的简介 (05:08)
3-15 实战-给自己的Node.js应用添加健康检查-新 (05:42)
3-16 通过 pm2 管理你的 Node.js 应用 (04:18)
3-17 实战-使用 pm2 管理自己的 Node.js 应用 (12:49)
3-18 PM2 深度说说 (14:43)
3-19 【讨论题】谈一谈你们公司的 Node.js 应用是怎么部署到
第4章 知己知彼,百战百胜-Node.js 应用日志的收集与处理14 节 | 119分钟
本章节会从能够反映最大问题的日志讲起,会深入浅出介绍日志的原理、收集及日志最佳实践,同时通过 ELK 架构搭建日志分析平台,通过 Sentry 搭建错误分析平台,不仅了解日志的核心原理,同时学习如何去开箱即用的利用好现有的日志服务于自己的工作。由于很多开发者是半路转服务端开发, 对线上应用的稳定性不甚了解。 …
4-1 本章简介
4-2 深入浅出 Node.js 日志 (11:18)
4-3 日志怎么打到文件里 (09:10)
4-4 日志主要场景-服务器应用日志 (06:50)
4-5 什么是一份好的日志 (08:12)
4-6 打日志要避免的问题 (16:39)
4-7 使用 ELK 搭建自己的通用日志系统:ELK 介绍 (04:41)
4-8 使用 ELK 搭建自己的通用日志系统:实战-搭建 ELK 服务-1 (13:58)
4-9 使用 ELK 搭建自己的通用日志系统:实战-搭建 ELK 服务-2 (14:32)
4-10 使用Sentry-搭建自己的错误日志收集监控系统–Sentry介绍 (05:36)
4-11 实战-搭建sentry服务–1 (08:10)
4-12 实战-搭建sentry服务–2 (18:01)
4-13 总结思考:Sentry或者日志是万能的吗? (01:45)
4-14 【讨论题】谈一谈公司日志系统和错误收集系统的使用情况
第5章 无懈可击,坚如磐石-提高Node.js应用运行的稳定性14 节 | 106分钟
本章节会让大家从安全风险的介绍和防范、高并发场景下限流、异常处理等知识点上学习到应用风险管理相关的知识,提升自己应用的稳定性。
5-1 本章简介
5-2 Node.js 应用安全风险介绍:CSRF、XSS (11:29)
5-3 Node.js 应用安全风险:越权、SSRF、HPP (09:57)
5-4 Node.js 应用安全风险:不安全的跳转(钓鱼)、目录遍历攻击 (08:01)
5-5 Node.js 应用安全风险:ISP 劫持、计时攻击、XST、哈希表碰撞 (07:45)
5-6 安全问题的防范策略:CSRF 基本防范措施 (05:43)
5-7 安全问题的防范策略:实战–给你的网站添加 CSRF 强服务端校验 (06:55)
5-8 安全问题的防范策略:XSS基本防范措施 (09:25)
5-9 安全问题的防范策略:实战–给你的页面模板添加 XSS 过滤 (04:06)
5-10 安全问题的防范策略:越权、SSRF (08:20)
5-11 对 Node.js API 进行应用级限流:Node.js API 实施限流的必要性 (06:07)
5-12 对 Node.js API 进行应用级限流:常见限流算法的原理 (14:13)
5-13 对 Node.js API 进行应用级限流:实战-给 Node.js 应用添加应用级限流功能 (13:25)
5-14 【讨论题】你部署的 Node.js 应用出现过什么问题?
第6章 晴天时修屋顶,顺境中做规划-测试你的Node.js应用9 节 | 97分钟
本章节会从Node.js测试讲起,这块能力可以说是业内Node.js开发者最欠缺的一块知识,也是大公司考察Node.js编码习惯的重要切入点。这个模块我们会讲解单元测试、代码质量、性能测试这三方面的知识,同时通过实战让大家真正把测试作为自己的基本能力之一。 …
6-1 本章简介
6-2 Node.js单元测试:单元测试的意义 (15:36)
6-3 Node.js单元测试:实战- Mocha的安装及测试用例管理–1 (15:55)
6-4 Node.js单元测试:实战- Mocha的安装及测试用例管理–2 (20:10)
6-5 Node.js单元测试:实战- 编写测试用例的原则- first- (03:42)
6-6 Node,js性能测试:Node.js性能测试的简介 (10:43)
6-7 Node,js性能测试:什么样的场景必须要做性能测试- (10:30)
6-8 Node,js性能测试–实战-通过 Artillery 实施负载测试-新 (19:34)
6-9 【讨论题】Node.js 测试的必要性
第7章 纸上得来终觉浅-应用线上问题排查讲解与实战9 节 | 64分钟
本章节会手把手教大家解决Node.js开发者最头疼的问题:内存泄漏。课程会从Node.js内存原理出发,通过几个实战让大家学会如何发现并解决内存泄漏问题,真正遇事不慌,具备独立排查问题的能力。
7-1 本章简介
7-2 内存管理:什么叫内存,栈、堆、常驻集大小 (05:08)
7-3 内存管理:内存的引用、内存的释放与回收 (04:28)
7-4 内存管理:垃圾回收–测试内存使用情况、模拟一下垃圾回收 (06:02)
7-5 内存管理:V8内存管理机制-老生代与新生代 (12:09)
7-6 内存泄漏:如何知道我们的代码占用了多少内存 (05:09)
7-7 内存泄漏:实战-通过devtools演示-浏览器工作与内存回收过程 (13:27)
7-8 内存泄漏:实战-通过浏览器和Node.js环境识别内存泄漏 (16:46)
7-9 【讨论题】Node.js 内存泄漏
第8章 课程总结2 节 |
本章节讲解关于 Node.js 的展望以及高频面试题 。
8-1 后续学习建议
8-2 9 道关于 Node.js 高频面试题