ES6 Symbol 用法 [ES6] Symbol 用法 Symbol 是什么? Symbol 是 ES6 新增的一个数据类型,也是 JS 原生数据类型(Number,String,Boolean,undefined,null,Object,Bigint,Symbol)之一,表示独一无二的值。 为什么要有 Symbol ? 防止对象的属性名冲突 以往对象的属性名都是字符串,在使用的过程中,可能会出现属性名重复导致冲突的情况 2023-07-25 JS > ES6 #JS #ES6
NestJS 入门(三)用户登录与JWT NestJS 入门(三)用户登录与JWT 前言 本文主要探讨在 NestJS 中实现登录功能并签发 JWT Token ,使用的库有: node.bcrypt.js passport.js @nestjs/jwt 加密用户密码 目前我们的数据库中的密码是明文存储的,明显是极不安全的,因此我们这里使用第三方库来对密码进行加密,然后再存入数据库中。 首先我们安装库: 12pnpm i 2023-07-14 Node.js > NestJS #Node.js #NestJS
NestJS 入门(二)格式化响应数据及错误处理 前言 之前的章节,我们学习了如何用 NestJS 创建一个项目并连接数据库,并实现了一个对用户user的简单的 CRUD 接口。这一章我们将学习如何将返回的内容规范化。 情景 目前我们的接口返回数据杂乱无章,例如成功创建用户后接口返回了用户信息: 1234567{ "username": "许平", "password&quo 2023-07-14 Node.js > NestJS #Node.js #NestJS
NestJS 入门(一)创建项目及第一个 CRUD 简介 NestJS是基于Node的后端框架,底层使用了Express作为HTTP服务框架(也可使用Fastify),对TypeScript有着非常良好的支持,上手也非常简单。本文意在通过一个简单的接口示例,帮助读者快速学会如何使用NestJS写接口。 前置概念 IoC 控制反转 与 DI 依赖注入 IoC,Inversion of Control,意为控制反转,旨在解耦组件之间的依赖关系。 在传 2023-07-12 Node.js > NestJS #Node.js #NestJS
Nestjs v10 中使用 Redis 作为 CacheStore 的坑 开发环境 Nest.js v10.0.1 其他 npm 包版本如下 12345"@nestjs/cache-manager": "^2.0.1","cache-manager": "^5.2.3","cache-manager-redis-store": "^3.0.1" 2023-06-28 Node.js > NestJS #Node.js #NestJS #Redis #踩坑
制作自己的docker镜像 制作自己的 docker 镜像 前言 本文主要的目的是制作自己的 docker 镜像,并上传至 docker hub,以便特殊情况下需要重新配置环境。 我的宿主机环境:MacbookPro M1Pro,ARM64 选择基础的操作系统 本文使用 Debian-bullseye 系统。 下载系统镜像 1docker pull debian:bullseye 运行下载的镜像,生成一个容器 1docke 2023-06-13 docker #docker
简单实现前端动态路由 前言 通过后端接口的返回值,动态添加路由,是作为权限控制的一种常见方式,本文将简单讲解如何在Vue3中动态添加路由。 示例数据 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667[ { 2023-05-30 #Vue
登录认证与JWT 登录认证与JWT 目前主流的实现认证的方式有两种,Session和JWT 本文将着重于分析JWT JWT的特点 无状态 JWT是无状态的,无状态性是指服务器端不需要存储任何关于用户会话或身份验证状态的信息。因此,服务器只需要验证JWT的签名和有效期来验证令牌的真实性和有效性,并据此授权用户的访问请求。 跨端 / 跨域支持 由于JWT的无状态性,使其非常适用于分布式系统和跨服务的身份验证场景。每个 2023-05-18 #网络
在阿里云上部署hexo 安装nginx 由于hexo是静态网页,因此我们在服务器上安装nginx 用root账户登录服务器,运行 12yum updateyum install nginx 由于本博客也同样部署在github上,因此只需要将已经部署好的分支拉取到服务器中即可 安装git 同样的方式 1yum install git 由于使用root用户会有安全性问题,所以笔者创建一个新用户来操作。 这里笔者已经创建好了 2023-05-04 #服务器
Vue2+Element UI中Dialog组件的一个小坑 Vue2+Element UI中Dialog组件的一个小坑 太长不看版 Vue2 + Element UI中的Dialog组件在使用过程中会有一个小bug。 根据文档,将destroy-on-close设置为true后,Dialog将会在关闭后销毁其中的组件,但是实际上Dialog会在销毁组件后再次挂载销毁的组件,因此可能会影响我们对组件行为的预期。 例如Dialog中有一个组件A,A在挂载时向V 2023-02-10 #Vue2 #Element UI