前端离线存储能力:如何在 React 中巧妙运用IndexedDB
当我们开发复杂的Web应用时,常常需要在客户端存储大量数据。你可能听过localStorage或者sessionStorage,但它们在存储空间和功能上都有限。而今天我们要聊的,是一个功能更强大的技术:IndexedDB。IndexedDB是什么IndexedDB是一个运行在浏览器中的非关系型数据库。它让你能够存储大量的数据,并具有高性能的查询能力。不像localStorage只能存储字符串,In
前端 · 阅读 1958 · 2024年1月11日 23:29
你了解扫码登录的本质和原理吗?
你了解扫码登录的本质和原理吗?我们日常生活中会使用到各种各样的系统,比如微信,qq,哔哩哔哩等等。这些系统都是要求登录的,登录的方式也有好几种方式,常见的登录方式有表单登录,扫码登录,移动端三方授权登录等。登录的本质是什么呢?我认为登录的本质就是服务器确认用户的身份,并且授予客户端身份证,比如token,sessionId。用户确认身份后才进行进一步的操作,比如订单功能,收藏功能等等。本文介绍一下
前端 · 阅读 829 · 2022年6月13日 00:48
CSS 动画效果知识点汇总
CSS动画效果包括3个属性:transform,transition,animationTransfrom:变形Transition:过渡Animation:动画一、变形transformtransform属性使一个dom进行各种位置转化方法备注translate平移scale缩放skew倾斜rotate旋转translate平移translate(x,y)translate3d(x,y,z)tr
前端 · 阅读 1645 · 2022年6月18日 12:04
如何在 NestJS 项目中优雅的使用发布订阅工具 Event Emitter
在构建复杂的应用时,异步处理和解耦成为了关键所在,而发布订阅模式正好可以辅助实现这两点。在这篇文章中,我们将详细介绍在使用NestJS进行Web开发时,如何利用@nestjs/event-emitter包进行发布订阅模式的实现。什么是发布订阅模式发布订阅模式是一种广泛使用的消息传递方式,发布者发布消息,订阅者订阅关注的消息,然后接收这些消息。发布者和订阅者之间不存在直接联系,它们通过消息队列或者主
服务端 · 阅读 1989 · 2024年1月3日 21:24
基于NestJS 实现 API 网关服务,支持身份验证、负载均衡
API网关是现代微服务架构中的重要组件,它可以统一多个服务的入口,提供请求路由、身份验证、负载均衡等功能。在本教程中,我们将探索如何使用NestJS实现一个简单的API网关。为什么选择NestJS作为API网关?NestJS提供了一个层次化的模块系统,非常适合构建可维护的API网关。它支持TypeScript,默认集成了Express.js(可以切换成Fastify),并提供了大量的模块和中间件来
服务端 · 阅读 1729 · 2024年4月8日 00:35
Node 如何管理子进程?Node.js中的child_process模块使用步骤
Node.js以其高效的事件驱动、非阻塞I/O模型在后端开发领域享有盛名。但有时候,我们的Node.js应用需要更多的计算能力,或者需要执行一些系统级别的任务,例如运行一个shell命令或者启动另一个进程来处理特定的任务。在这样的场景下,Node.js的child_process模块就派上了大用场。模块简介child_process模块是Node.js的一个内建模块,它允许我们从Node.js应用
服务端 · 阅读 807 · 2024年2月24日 02:40
基于Scrcpy投屏Android设备屏幕到PC 详细教程
Scrcpy是一个非常实用的开源软件,它允许你通过USB或无线网络将Android设备的屏幕投射到电脑上,并且能够实现实时的高性能显示与控制。无论是开发者进行应用测试,还是普通用户享受大屏游戏和视频,Scrcpy都是一个绝佳的工具。本教程将向你详细介绍如何设置和使用Scrcpy。实现步骤步骤1:确保满足基本条件在开始之前,你需要确保满足以下几个基本条件:Android设备运行Android5.0
前端 · 阅读 639 · 2024年7月10日 00:48
TypeScript的类型推断与类型断言:深度解析与应用场景
在TypeScript开发过程中,类型推断(TypeInference)和类型断言(TypeAssertion)是两个重要且频繁使用的概念。本文将分别对这两个概念进行深入介绍,并通过实例讨论它们在实践中的应用。什么是类型推断类型推断是TypeScript根据变量或表达式的上下文信息自动推测出的类型。类型推断通常在初始化变量和成员,设置参数默认值,或者根据函数返回值时发生。比如这个例子:letx=3
前端 · 阅读 1558 · 2023年12月23日 19:18
深入理解与应用nanoid:JS如何生成定制化随机数
在前端开发中,我们时常需要生成一个全局唯一标识(GUID/UUID),或者是一个简短而随机的字符串作为ID,用于数据库主键、元素标记或是其他需要唯一性的场合。传统上,我们可能会选择使用Math.random()搭配其他方法来实现这一需求,但这并不是最佳选择,因为它既不够安全,也不保证唯一性。这时候,nanoid就成为了一个极佳的选择。什么是nanoid?nanoid是一个小巧、安全、URL友好的唯
前端 · 阅读 1171 · 2024年2月23日 16:59