🦄 2024 独立开发者训练营,一起创业!查看介绍 / 立即报名(剩余8个优惠名额) →

完成这几组应用架构的训练,今年就值了

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 的同学可免费参加。

报名参加训练

评论

才购买了年费会员也得再购买么

不用,视频后面会发布出来,到时候您可以在线看一下:)

微信好友

用微信扫描二维码,
加我好友。

微信公众号

用微信扫描二维码,
订阅宁皓网公众号。

240746680

用 QQ 扫描二维码,
加入宁皓网 QQ 群。

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点