摘要: 本文旨在介绍NestJS下CQRS(命令查询职责分离)的实现。NestJS的确是个强大的NodeJS框架,支持了绝大多数现在流行的技术栈。至于什么是CQRS模式,请大家自行查阅。废话不多说,直接上代码。 1: 新建项目 nest new cqrs-demo 2: 安装CQRS依赖 npm insta 阅读全文
posted @ 2021-09-05 22:02 老胡Andy 阅读(468) 评论(0) 推荐(0) 编辑
摘要: 本文介绍如何使用如何创建一个react项目,并使用expressjs在linux上后台运行。这里假设已经用create-react-app新建了一个CRA项目,并上传至git。 1: 连接Linux(ubuntu)服务器 假设已经有了.pem文件(用户名密码的方式也可以),将.pem文件放置于win 阅读全文
posted @ 2021-09-04 10:32 老胡Andy 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 本文将会介绍在windows环境下启动Kafka,并通过nodejs作为客户端,生产并消费消息。 第一步,Kafka需要java运行时,先安装配置java环境。通过在命令行中输入java -version确认java是否成功安装(可能需要查看windows的环境变量中是否有java)。 第二步,Ka 阅读全文
posted @ 2021-08-31 22:06 老胡Andy 阅读(2748) 评论(0) 推荐(1) 编辑
摘要: 之前写过一篇文章,如何将rollup + StoryBook实现的react组件库发布到私有仓库,文章链接。 在注意到GitHub的Actions功能之后,觉得这才是我们需要的CICD解决方案,比之前Jenkins,Azure Pipeline方便多了。 因此这里记录下使用Github action 阅读全文
posted @ 2021-08-31 10:47 老胡Andy 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 前一篇文章讲述了NestJS对缓存服务器Redis的支持,用包装(简化)过的接口直接操作Redis。 这里再介绍一下如何通过NestJS实现页面级缓存, 类似asp.net中的output cache。 NestJS真的是拉近了前后端的差距,后端主流框架有的,NestJS几乎都具备。 基于上一篇的示 阅读全文
posted @ 2021-08-24 12:01 老胡Andy 阅读(382) 评论(0) 推荐(0) 编辑
摘要: NestJS的缓存模块天生支持Redis等缓存机制。以下通过一个示例,说明如何在NestJS中操作Redis。步骤如下: 先安装运行Redis服务,步骤参见链接 新建nestjs项目: nest new [项目名称] 安装cache相关依赖 npm install cache-manager npm 阅读全文
posted @ 2021-08-24 08:49 老胡Andy 阅读(1637) 评论(0) 推荐(0) 编辑
摘要: 本文简述如何在TypeScript下实现AOP (aspect oriented programming) 面向切面编程。 什么是AOP,我的理解是将特定功能的代码切入到某个已经封装好的对象、类或函数的执行过程中。 之前的一篇文章讲述过如何用decorator、高阶函数实现aop。这里再追加一种实现 阅读全文
posted @ 2021-08-15 16:40 老胡Andy 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 前一篇讲述了TypeORM的安装以及通过对象化的方式访问数据库。 然而很多场景下我们会需要更复杂的操作,如多表联合,然后映射为Entity。 本文在前一篇的基础上,用代码示例说明如何在TypeORM中实现SQL查询。 修改ormconfig.json, 增加新的配置项: Menu。与前一篇配置不同的 阅读全文
posted @ 2021-08-07 20:14 老胡Andy 阅读(476) 评论(0) 推荐(0) 编辑
摘要: 本文旨在说明如何通过NestJS实现以ORM方式操作MySQL: 如何安装MySQL不是本文重点,就此跳过。 安装NestJS npm install -g typescript npm install -g @nestjs/cli cd [Project Path] nest new dashbo 阅读全文
posted @ 2021-08-05 08:50 老胡Andy 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 场景: React应用需要实现登录界面与Dashboard界面的切换。 使用一个全局变量存储用户信息,如果为空,则进入登录界面;否则进入Dashboard界面。 实现方法: 通过useContext保存全局用户信息,如果全局user对象的email字段为空,就说明退出登录,否则为登录状态。 User 阅读全文
posted @ 2021-08-04 23:14 老胡Andy 阅读(658) 评论(0) 推荐(0) 编辑