NestJS 如何实现事件溯源模式 Event Sourcing
事件溯源(EventSourcing)是一种软件架构模式,主要用于捕获系统中发生的状态变化,作为一系列不可变事件来存储。这些事件会以时间顺序排列,可以用来重现或查询系统的状态。这种模式特别适合于复杂的业务逻辑和高要求的审核跟踪环境。在此教程中,我们将介绍如何在NestJS框架中实现事件溯源模式。实现步骤一、建立事件存储事件溯源的核心是事件存储(EventStore),这是一个用于持久化事件的数据库
服务端 · 阅读 2546 · 2024年4月8日 00:29

Node 项目参数配置化,命令行参数
前言:对于工程化的Node项目,如果设置配置系统参数,可以改变项目的参数耦合性。本文记录三种参数配置的方法。一、env变量process.env参数变量配置添加npm依赖npminstallcross-env-D命令行参数设置'scripts':{'start':'cross-envNODE_ENV=devAPI=localostnodeapp.js'}读取process.env参数console
服务端 · 阅读 1813 · 2022年6月18日 12:15

JSONP 如何帮助我们解决跨域问题以及如何自己实现JSONP
什么是JSONP?JSONP(JSONwithPadding)是一种技术策略,其能够克服Web应用程序中的跨域数据访问限制。为了理解JSONP,我们需要先理解什么是跨域。由于浏览器的同源策略,JavaScript只能获取和操作与其同源(即域名、协议和端口都相同)的数据。但在实际开发中,我们经常需要向不同的源请求数据,这就产生了跨域问题。JSONP主要是通过动态<script>来进行跨域
前端 · 阅读 1216 · 2022年8月9日 21:46

【手写组件库之日历组件教程第二篇】基于React实现无限滚动的日历详细教程,附在线DEMO与源码
最常见的日历大部分都是滚动去加载更多的月份,而不是让用户手动点击按钮切换日历月份。滚动加载的交互方式对于用户而言是更加丝滑和舒适的,没有明显的操作割裂感。那么现在需要做一个这样的无限滚动的日历,前端开发者应该如何去思考和代码实现呢?下面我会详细的介绍实现思路和步骤。在线演示DEMOhttps://calendar.levenx.com/#/scroll-calendar实现步骤渲染单个月日历如何对
前端 · 阅读 1716 · 2023年8月24日 22:32

一篇文章学会 NestJS 的拦截器并且附带实战操作案例
在现代Web开发的世界中,NestJS以其灵活性和强大的功能立足,成为Node.js框架的佼佼者。其中一个引人注目的功能就是拦截器,这是一种可以让开发者更好地控制和补充HTTP请求循环的工具。拦截器让开发者可以在处理程序之前或之后“拦截”HTTP请求,这是解决一系列问题的基石。什么是NestJS拦截器简单来说,拦截器是一种特殊类型的服务,运行在路由处理程序方法之前和之后。它们在每次请求和响应的生命
服务端 · 阅读 5715 · 2023年12月30日 22:39

一篇文章学会如何使用 NestJS 过滤器处理全局异常情况
在实际的应用开发中,你或许遇到过异常处理机制不统一或错误信息展示混乱的现象。为了解决这些问题,NestJS提供了一个优雅的解决方案:过滤器(Filter)。本文将从实际出发,向你介绍NestJS过滤器的基本概念,重要用途和深度实例。什么是NestJS的过滤器当一个程序运行过程中发生了异常,并且这个异常没有被捕获处理,用户就会看到一些奇怪的错误信息,这种现象对用户体验非常不好。此时,NestJS的过
服务端 · 阅读 5670 · 2023年12月30日 23:00

Flutter 的三棵树渲染机制和原理详解
当我们谈论到Flutter的性能和流畅性时,不得不提到它的渲染机制,这背后的核心是Flutter的三棵树:Widget树、Element树和Render树。理解这三棵树的构建和交互方式对于深入理解Flutter的工作原理至关重要。在本文中,我们将详细探讨这三棵树的概念、相互关系以及它们如何共同作用来渲染出一个Flutter应用。1.Widget树Widget树是Flutter应用中最基础的概念之
前端 · 阅读 932 · 2024年7月3日 22:24

MySQL四种事务隔离级别的实际应用
在现代数据库系统中,事务是保证数据一致性的重要机制。事务隔离级别则是决定多个事务如何互相影响的重要因素。今天,我们将深入浅出地讲解MySQL中的事务隔离级别,让你在处理并发事务时游刃有余。什么是事务?首先,我们得明白什么是事务。事务(Transaction)是指一组作为单个逻辑工作单元执行的操作。这些操作要么全部成功,要么全部失败,不存在部分成功的情况。事务的ACID特性确保了数据库的可靠性,其中
服务端 · 阅读 983 · 2024年11月17日 20:03

一文教会你如何使用 Vercel 部署你的 NestJS 应用
这篇文章详细解析了如何使用Vercel免费部署Nestjs项目的步骤。首先,我们需要在Nestjs项目中添加Vercel的配置文件。接着,我们将项目上传到GitHub,然后授权给Vercel。选择GitHub上的项目,通过Vercel平台创建新项目并完成部署。此外,如果你想使用个人域名访问你的服务,Vercel也提供了这样的支持,你只要有一个通过备案的个人域名,就可以将其配置到你的Vercel项
服务端 · 阅读 5389 · 2023年12月14日 23:07

精通CSS动画:基于 TailwindCSS 轻松添加动画效果
动画是现代网页设计中不可或缺的一部分,它们可以指引用户的注意力,增加交互性,以及提升用户体验。TailwindCSS作为一个功能强大的工具类CSS框架,为我们添加和控制动画提供了一系列便捷的方式。本文将演示如何使用TailwindCSS来处理和激活网页动画,使你的网站看起来更加生动。TailwindCSS动画基础TailwindCSS中处理动画的核心是transition和animation实用类
前端 · 阅读 6361 · 2024年2月24日 01:47
