2019/11/11 —— 2019/11/17,宁皓网会做一次关于应用架构的线上训练(之前参加过 NNC2019 的同学可以免费参加这次训练)。训练内容主要以后端应用架构为主,这将为你以后创建更灵活的,可扩展性更强的企业级应用提供帮助。
训练都以实践为主,概念也全部都融入到实践当中。也就是通过训练你不但可以学到概念,还能亲自手写每一行代码,验证这些概念的实际应用。这也是我目前觉得最有效的学习方式。
应用的架构决定了开发出来的应用的很多特性,是否更容易被测试,更灵活,更容易维护,可扩展性更强。我们会介绍与实践微服务架构,事件驱动的应用架构,学会创建用 GraphQL 创建应用的接口。一共 7 组训练,每组训练都以一个全新的项目开始,用极其简单的例子,理解复杂的概念与工具。
在 Node.js 生态里,Nest.js 现在是最受欢迎的后端应用框架,这也是我目前用过的最好用的应用框架。所有训练内容全都通过这套框架来实现,训练中需要用到这套框架的基础知识,你可以参考宁皓网的 Nest.js 课程包。
在训练过程中,我会在线为您解决所有的障碍与疑惑。
训练报名
训练日期:2019/11/11 —— 2019/11/17,之前 NNC2019 的同学可免费参加。
报名参加训练 →
训练大纲
依赖注入
理解框架的核心功能。
- 依赖注入(Dependency injection)
- 在 Nest.js 框架里使用依赖注入
- TypeScript:Parameter properties
- 定义与注入 Provider
- 配置使用标准的 Provider
- 理解 Nest 框架依赖注入的内部机制
- 数值 Provider(useValue)
- 使用字符串作为 Provider 的 token
- 动态创建 Provider(useFactory)
- 单例 Provider (Singleton)
理解模块
理解框架的核心功能。
- 模块:Modules
- 创建模块
- 模块的导入与导出(imports,exports)
- 模块里的重新导出
- 全局模块:功能可在任何地方使用
- 动态模块:可以配置的模块
- 动态模块:添加与使用配置选项
- 循环依赖:使用 forwardRef 解决模块的彼此依赖问题
WebSocket:实时通信
创建具有实时通信功能的应用。
- 为 Nest 应用配置使用模板引擎
- WebSocket:构造具有实时功能的应用
- WebSocket 服务端 (Gateways)
- WebSocket 客户端(socket.io)
- 配置 WebSocket 服务端
- 订阅 WebSocket 信息(@SubscribeMessage)
- 在服务端处理 WebSocket 客户端的连接与断开
- 在服务端使用 WebSocket Client 发送广播消息
- 创建一个实时聊天功能(服务端)
- 创建一个实时聊天功能(客户端)
GraphQL:服务
创建 GraphQL 服务器与应用接口。Airbnb、Github、Shopify、Twitter、Pinterest、Facebook 都在使用这种形式的应用接口。
- GraphQL 服务器:安装与配置
- GraphQL 服务器:演示
- 准备演示模块(UserModule,PostModule,MockModule)
- Schema:定义类型与字段
- Resolver:定义如何解析字段
- GraphQL 查询中的参数
- 字段解析器(ResolveProperty)
- 在 User 类型里添加 posts 字段(返回用户发送的内容列表)
- Mutations:请求修改数据
GraphQL:查询
理解与实践 GraphQL 接口的查询功能。
- 理解 GraphQL 里的 Schema 与类型
- 在客户端检查 GraphQL 服务的 Schema 与类型
- 执行 GraphQL 查询
- 理解 GraphQL字段的 Resolver 函数 _ 方法
- 在 GraphQL 查询中使用别名(Aliases)
- Fragments:在查询中可重复利用的东西
- GraphQL 查询中的操作类型与操作名称
- GraphQL 查询中的变量(Variables)
- GraphQL 查询中的指令(Directives)
- Meta 字段:在客户端判断字段所属的类型
微服务应用架构
将应用分割成不同的独立的小应用,每个小应用都提供一种服务,这就是微服务。微服务之间会使用某种方式进行交流,可以直接用 TCP 连接,也可以通过一些信息中间人,比如 Redis,RabbitMQ 等等。
- 在同一项目下创建多个 Nest 应用(Monorepo)
- 创建一个微服务应用(createMicroservice)
- 定义基于请求与响应的微服务信息处理器(@MessagePattern)
- 用客户端给微服务发送消息(ClientProxy, send)
- 基于事件的微服务(@EventPattern, emit)
- 用 Redis 在微服务中作运输(准备一个 Redis 数据库)
- 创建使用 Redis 作传输的微服务
- 使用 Redis 在服务之间交换信息/事件
事件驱动应用架构
事件驱动是一种极其灵活的应用架构,CQRS 是一种实现这种事件驱动应用架构的模式。这组训练我们会实践这种模式,开发使用事件驱动架构的应用。
- CQRS
- Commands:定义命令与命令处理器
- Commands:执行命令(CommandBus)
- Events:定义事件与事件处理器
- Events:发布事件(EventBus)
- Sagas:订阅事件流并做出反应
- Sagas:对指定的事件做出反应
- Queries:定义查询与查询处理器
- Queries:执行查询(QueryBus)
训练日期:2019/11/11 —— 2019/11/17,之前 NNC2019 的同学可免费参加。
报名参加训练 →
评论
才购买了年费会员也得再购买么
5 年 2 个月 以前
不用,视频后面会发布出来,到时候您可以在线看一下:)
5 年 2 个月 以前