摘要: 之前的文章介绍了QueryBus, CommandBus的用法(这里的bus可以翻译为总线:查询总线、命令总线)。使用这些总线(设计模式)的目的在于实现Controller层与Business Logic层(示例中对应的是Commands/Queries下的Handler)的解耦。然而,通常在Bus 阅读全文
posted @ 2021-09-07 14:51 老胡Andy 阅读(420) 评论(0) 推荐(0)
摘要: 继前一篇讲述了NestJS中CQRS的Query部分的实现,本文会在此基础上讲述Command部分的基础实现(高级实现会在下一篇介绍)。 在之前代码的基础上增加: src/comments/commands文件夹,结构如下: add-comment.handler.ts import { Comma 阅读全文
posted @ 2021-09-06 17:36 老胡Andy 阅读(309) 评论(0) 推荐(0)
摘要: 本文旨在介绍NestJS下CQRS(命令查询职责分离)的实现。NestJS的确是个强大的NodeJS框架,支持了绝大多数现在流行的技术栈。至于什么是CQRS模式,请大家自行查阅。废话不多说,直接上代码。 1: 新建项目 nest new cqrs-demo 2: 安装CQRS依赖 npm insta 阅读全文
posted @ 2021-09-05 22:02 老胡Andy 阅读(555) 评论(0) 推荐(0)
摘要: 本文介绍如何使用如何创建一个react项目,并使用expressjs在linux上后台运行。这里假设已经用create-react-app新建了一个CRA项目,并上传至git。 1: 连接Linux(ubuntu)服务器 假设已经有了.pem文件(用户名密码的方式也可以),将.pem文件放置于win 阅读全文
posted @ 2021-09-04 10:32 老胡Andy 阅读(280) 评论(0) 推荐(0)
摘要: 本文将会介绍在windows环境下启动Kafka,并通过nodejs作为客户端,生产并消费消息。 第一步,Kafka需要java运行时,先安装配置java环境。通过在命令行中输入java -version确认java是否成功安装(可能需要查看windows的环境变量中是否有java)。 第二步,Ka 阅读全文
posted @ 2021-08-31 22:06 老胡Andy 阅读(2937) 评论(0) 推荐(1)
摘要: 之前写过一篇文章,如何将rollup + StoryBook实现的react组件库发布到私有仓库,文章链接。 在注意到GitHub的Actions功能之后,觉得这才是我们需要的CICD解决方案,比之前Jenkins,Azure Pipeline方便多了。 因此这里记录下使用Github action 阅读全文
posted @ 2021-08-31 10:47 老胡Andy 阅读(341) 评论(0) 推荐(0)
摘要: 前一篇文章讲述了NestJS对缓存服务器Redis的支持,用包装(简化)过的接口直接操作Redis。 这里再介绍一下如何通过NestJS实现页面级缓存, 类似asp.net中的output cache。 NestJS真的是拉近了前后端的差距,后端主流框架有的,NestJS几乎都具备。 基于上一篇的示 阅读全文
posted @ 2021-08-24 12:01 老胡Andy 阅读(438) 评论(0) 推荐(0)
摘要: NestJS的缓存模块天生支持Redis等缓存机制。以下通过一个示例,说明如何在NestJS中操作Redis。步骤如下: 先安装运行Redis服务,步骤参见链接 新建nestjs项目: nest new [项目名称] 安装cache相关依赖 npm install cache-manager npm 阅读全文
posted @ 2021-08-24 08:49 老胡Andy 阅读(1831) 评论(0) 推荐(0)
摘要: 本文简述如何在TypeScript下实现AOP (aspect oriented programming) 面向切面编程。 什么是AOP,我的理解是将特定功能的代码切入到某个已经封装好的对象、类或函数的执行过程中。 之前的一篇文章讲述过如何用decorator、高阶函数实现aop。这里再追加一种实现 阅读全文
posted @ 2021-08-15 16:40 老胡Andy 阅读(321) 评论(0) 推荐(0)
摘要: 前一篇讲述了TypeORM的安装以及通过对象化的方式访问数据库。 然而很多场景下我们会需要更复杂的操作,如多表联合,然后映射为Entity。 本文在前一篇的基础上,用代码示例说明如何在TypeORM中实现SQL查询。 修改ormconfig.json, 增加新的配置项: Menu。与前一篇配置不同的 阅读全文
posted @ 2021-08-07 20:14 老胡Andy 阅读(525) 评论(0) 推荐(0)