Content
15 Lessons • 0 Quizzes • 0 Challenges
概览
- 1
课程简介
Node.js 平台
- 1
简介
- 2
Node.js 的理念
- 3
Node.js 的工作原理
- 4
JavaScript 在 Node.js 中
- 5
总结
- 6
测验
模块系统
- 1
简介
- 2
CommonJS 模块
- 3
解析算法
- 4
模块定义模式(一)
- 5
模块定义模式(二)
- 6
ESM:ECMAScript 模块
- 7
ESM:命名导出与导入
- 8
ESM:默认导出、混合导出和异步导入
- 9
模块加载深入详解
- 10
修改其他模块
- 11
ESM 与 CommonJS 的区别及互操作性
- 12
总结
- 13
测验
回调函数与事件
- 1
简介
- 2
回调模式:延续传递风格(CPS)
- 3
回调模式:同步与异步(一)
- 4
回调模式:同步与异步(二)
- 5
回调模式:Node.js 的约定
- 6
观察者模式:EventEmitter 类
- 7
观察者模式:可观察对象
- 8
观察者模式:同步与异步事件
- 9
事件发射器与回调函数
- 10
总结
- 11
练习:一个简单的事件
- 12
练习:股票行情显示
- 13
练习:一个简单的修改
- 14
练习:处理错误
使用回调函数的异步控制流模式
- 1
简介
- 2
异步编程的难点:网络爬虫
- 3
回调最佳实践:回调纪律
- 4
顺序执行:网络爬虫版本2
- 5
顺序执行:链接爬取
- 6
顺序执行:模式
- 7
并行执行:网络爬虫版本3
- 8
并行执行:模式
- 9
有限的并行执行
- 10
全局并发限制
- 11
网络爬虫版本 4
- 12
异步库
- 13
总结
- 14
练习:文件连接
- 15
练习:递归列出文件
- 16
练习:递归查找
使用 Promise 和 Async/Await 的异步控制流模式
- 1
简介
- 2
Promise
- 3
顺序执行与迭代
- 4
并行执行
- 5
有限的并行执行与 TaskQueue 类
- 6
更新网络爬虫
- 7
异步代码中的 Async/Await 配对
- 8
使用 async/await 进行错误处理
- 9
顺序执行与使用 Async/Await 的循环
- 10
使用 Async/Await 和 Promise.all() 实现并行执行
- 11
有限的并行执行
- 12
无限递归 Promise 解析链的问题
- 13
总结
- 14
练习:剖析 Promise.all()
- 15
练习:使用 Promise 的任务队列
- 16
练习:使用 Promise 实现生产者-消费者模式
- 17
练习:异步的 map()
使用流进行编程
- 1
简介
- 2
空间效率
- 3
时间效率
- 4
可组合性
- 5
开始使用流
- 6
可读流:非流动模式与流动模式
- 7
实现可读流
- 8
可读流:简化构造与迭代器
- 9
可写流:编写流与背压
- 10
可写流:实现
- 11
双工流
- 12
实现转换流
- 13
使用转换流进行数据过滤与聚合
- 14
PassThrough 流
- 15
惰性流
- 16
管道与错误处理
- 17
使用 pipeline() 实现更优的错误处理
- 18
使用流实现异步控制流模式
- 19
无序并行执行
- 20
无序有限并发执行
- 21
异步控制流模式:有序并行执行
- 22
管道模式:合并流
- 23
管道模式:分叉流
- 24
合并流:合并文本文件
- 25
管道模式:多路复用与解多路复用
- 26
管道模式:对象流的多路复用与解多路复用
- 27
总结
- 28
练习:数据压缩效率
- 29
练习:流数据处理
创建型设计模式
- 1
简介
- 2
工厂模式:解耦对象创建
- 3
工厂模式:封装与简单代码分析器
- 4
建造者模式
- 5
建造者模式:实现一个URL对象建造者
- 6
揭示构造函数
- 7
单例模式
- 8
连接模块:单例依赖
- 9
连接模块:依赖注入
- 10
总结
- 11
练习:控制台颜色工厂
- 12
练习:请求构建器
- 13
练习:防篡改队列
结构型设计模式
- 1
简介
- 2
代理模式:代理实现技术(一)
- 3
代理模式:代理实现技术(二)
- 4
代理模式:创建一个带日志功能的可写流
- 5
代理模式:变更观察者模式
- 6
装饰器模式
- 7
装饰 LevelUP 数据库
- 8
代理模式与装饰器模式之间的界限
- 9
适配器模式
- 10
总结
- 11
练习:HTTP 客户端缓存
- 12
练习:带时间戳的日志
- 13
练习:彩色控制台输出
- 14
练习:虚拟文件系统
- 15
练习:懒加载缓冲区
行为设计模式
- 1
简介
- 2
策略模式
- 3
状态模式
- 4
实现一个基本的容错套接字
- 5
模板模式
- 6
迭代器模式
- 7
可迭代协议
- 8
迭代器内置方法
- 9
生成器模式
- 10
异步迭代器
- 11
异步生成器
- 12
中间件模式
- 13
为 ZeroMQ 构建一个中间件框架
- 14
实现中间件以处理消息
- 15
命令模式
- 16
命令模式的实现
- 17
总结
- 18
练习:使用策略模式进行日志记录
- 19
练习:使用模板进行日志记录
- 20
练习:仓库物品
- 21
练习:使用中间件进行日志记录
适用于Web应用的通用JavaScript
- 1
简介
- 2
与浏览器共享代码
- 3
模块打包工具
- 4
使用 Webpack
- 5
跨平台开发基础(一)
- 6
跨平台开发基础(二)
- 7
跨平台开发基础(三)
- 8
React 简介
- 9
React.createElement() 方法的替代方案
- 10
有状态组件
- 11
创建一个通用 JavaScript 应用
- 12
服务器端渲染
- 13
异步数据获取
- 14
通用数据检索
- 15
实现异步页面
- 16
总结
- 17
测验
高级技巧
- 1
简介
- 2
处理异步初始化的组件
- 3
预初始化队列
- 4
异步请求批处理与缓存
- 5
一个没有缓存或批处理的 API 服务器
- 6
使用 Promise 进行批量处理和缓存
- 7
取消异步操作
- 8
使用生成器实现可取消的异步函数
- 9
运行CPU密集型任务
- 10
使用 setImmediate 函数进行交错执行
- 11
使用外部进程(一)
- 12
使用外部进程(二)
- 13
使用工作线程
- 14
总结
- 15
练习:带有预初始化队列的代理
- 16
练习:使用回调进行批处理和缓存
- 17
练习:深度异步可取消
可扩展性与架构模式
- 1
简介
- 2
应用程序扩展简介
- 3
克隆与负载均衡
- 4
构建一个简单的 HTTP 服务器
- 5
零停机重启
- 6
处理有状态的通信
- 7
通过反向代理进行扩展
- 8
动态水平扩展
- 9
点对点负载均衡
- 10
使用容器扩展应用程序(一)
- 11
使用容器扩展应用程序(二)
- 12
分解复杂应用
- 13
微服务架构中的集成模式
- 14
总结
- 15
测验
消息传递与集成模式
- 1
简介
- 2
消息系统的基本原理
- 3
发布/订阅模式
- 4
使用 Redis 的发布/订阅模式
- 5
点对点发布/订阅模式与ZeroMQ
- 6
使用队列实现可靠的消息传递
- 7
使用流实现可靠消息传递
- 8
任务分配模式
- 9
任务分发:使用 ZeroMQ
- 10
AMQP 中的管道与竞争消费者
- 11
使用 Redis Streams 分发任务
- 12
请求/回复模式
- 13
返回地址
- 14
总结
- 15
测验
结论
- 1
总结
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Course Author:Anonymous User