一篇文章学会如何使用 NestJS 的 Guards 守卫实现系统身份验证和授权
当我们基于NestJS框架构建和管理应用程序时,为了保障其安全性,我们常常需要对某些敏感操作或敏感信息的访问进行限制,这是我们需要使用到守卫的地方。它作为一种可以阻止未经授权的访问的机制,对我们的应用程序起到了守护的作用。在这篇文章中,我将深入剖析NestJS的守卫,以帮您全面了解这个概念。我会从解释其背后的工作机制开始,接着介绍使用守卫的各种场景,并以详细的示例来演示如何在NestJS项目中实现
客户端 · 阅读 5492 · 2024年1月1日 20:51

React 内置 Hook 之 useCallback 深度解析与使用案例
ReactHooks引入了一种全新的方式来处理state和其他React特性,让我们可以以更加声明式的风格去编写代码,从而使代码更加易读和可维护。其中,useCallback是一个常被提及但可能被大家误解或未能充分利用的hook。useCallback为我们提供了避免不必要渲染以及记住函数实例的能力,从而在性能优化上给我们开发者带来了新的手段。什么是useCallback简单来说,useCallb
前端 · 阅读 2662 · 2021年12月20日 13:15

探索 @nestjs/cqrs:在 NestJS 中实现命令查询责任分离模式CQRS
在构建大型和复杂的Web应用时,维护清晰的代码结构和高效的操作是至关重要的。NestJS作为一个现代的Node.js框架,提供了多种方式来帮助开发者编写结构化和可维护的代码。其中,@nestjs/cqrs模块就是一种强大的机制,它通过实现命令查询责任分离(CQRS)模式,使得代码更加模块化,业务逻辑更清晰,同时还带来了性能和安全性的提升。在本文中,我们将详细探讨CQRS模式的好处,并通过一个创建博
服务端 · 阅读 14005 · 2024年2月23日 17:41

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

基于Scrcpy投屏Android设备屏幕到PC 详细教程
Scrcpy是一个非常实用的开源软件,它允许你通过USB或无线网络将Android设备的屏幕投射到电脑上,并且能够实现实时的高性能显示与控制。无论是开发者进行应用测试,还是普通用户享受大屏游戏和视频,Scrcpy都是一个绝佳的工具。本教程将向你详细介绍如何设置和使用Scrcpy。实现步骤步骤1:确保满足基本条件在开始之前,你需要确保满足以下几个基本条件:Android设备运行Android5.0
前端 · 阅读 1807 · 2024年7月10日 00:48

React 支持多语言国际化 -- i18next
前言如果我们的项目需要更多的流量,支持其他国家的语言是必不可少的。对于React项目我们该如何实现项目多语言,让工程走向国际化,本文将介绍目前最通用的解决方案i18next。准确是说i18n并不仅仅是为React而生,为了支持React项目,我们还需要引入react-i18next插件。本文将通过简单的例子解释i18next的核心功能,下图是最终效果。
前端 · 阅读 5349 · 2022年11月6日 19:59

如何在 NestJS 中安全高效的管理 Config 配置
应用程序通常需要在多种环境中运行,比如本地开发环境、测试环境和生产环境。在不同的环境中,我们通常需要采用不同的配置设置。举个例子,本地环境可能需要一个特定的数据库凭据,而生产环境则使用另一组完全不同的数据库凭据。由于这些配置变量频繁地改变,因此最佳实践是将它们存在环境变量中。在Node.js中,外部定义的环境变量可以通过process.env全局变量来访问。一种可能的做法是在每个环境中设置不同的环
服务端 · 阅读 4707 · 2023年12月29日 22:14

如何在 Nest 项目中自定义装饰器
装饰器的作用就像其名字一样,它就像一件华丽的外衣,给你的NestJS代码提供了吸引力和可读性。这是因为装饰器可以改变我们对代码的处理方式,并帮助我们实现更高级的编程模式。在本文中,我们将探讨如何创建自定义装饰器,这将大大增强我们的NestJS使用体验。装饰器类型类装饰器(ClassDecorators)在NestJS中,类装饰器最常用在控制器和模块定义上,例如@Controller等。方法装饰
服务端 · 阅读 5130 · 2023年12月24日 19:41

你了解扫码登录的本质和原理吗?
你了解扫码登录的本质和原理吗?我们日常生活中会使用到各种各样的系统,比如微信,qq,哔哩哔哩等等。这些系统都是要求登录的,登录的方式也有好几种方式,常见的登录方式有表单登录,扫码登录,移动端三方授权登录等。登录的本质是什么呢?我认为登录的本质就是服务器确认用户的身份,并且授予客户端身份证,比如token,sessionId。用户确认身份后才进行进一步的操作,比如订单功能,收藏功能等等。本文介绍一下
前端 · 阅读 1220 · 2022年6月13日 00:48

Golang 如何执行定时器 Timer
Golang定时器允许我们在将来的某个时间点执行一次或定期执行代码,这在编写需要调度任务或者实现某些定时操作的程序时非常有用。Golang的标准库time提供了强大的定时器和计时器功能。本文将详细介绍如何在Golang中使用定时器。实现方式一、单次定时器如果只想在将来的某个时间点执行一次任务,可以使用time.AfterFunc函数或者time.NewTimer方法。使用time.AfterFun
服务端 · 阅读 2191 · 2024年4月19日 22:17
