JWT 跨域认证解决方案
介绍 全称 JSON Web Token,分为 Header、Payload、Signature 三个部分,应用中,服务端生成一个 JSON 格式的对象,经过加密后生成 Header.Payload.Signature 这样以点分割的字符串,返回给客户端,之后客户端使用这个字符串作为身份凭证与服务器交互。 JWT 可以分布式生成,将用户非核心的信息存入 JWT 中,使服务端不需要单独的维护用户登录
介绍 全称 JSON Web Token,分为 Header、Payload、Signature 三个部分,应用中,服务端生成一个 JSON 格式的对象,经过加密后生成 Header.Payload.Signature 这样以点分割的字符串,返回给客户端,之后客户端使用这个字符串作为身份凭证与服务器交互。 JWT 可以分布式生成,将用户非核心的信息存入 JWT 中,使服务端不需要单独的维护用户登录
子查询 将一个查询语句嵌套在查询语句里的一个查询语句。被嵌套在内的叫子查询(内查询)、外面的叫主查询(外查询)。 规范 子查询必须写在括号内; 子查询为了可读性,一般写在操作符的右边; 子查询不支持 GROUP BY 子句和 LIMIT 子句; 分类 可分为两类 单行子查询和多行子查询; 单行子查询的子查询(内查询)返回一条查询结果,多行子查询返回多条查询结果 相关子查询和非相关子查询
介绍 Validator 是一个 Go 的第三方库,用于对数据进行校验,返回一个 validator.ValidationErrors error 的切片,在 Tag 中配置各自字段的约束进行校验。 依赖 # 最基础的依赖 go get -u github.com/go-playground/validator/v10 # 国际化 go get -u github.com/go-playgro
分布式 ID 不同机器生成的 ID 全局唯一,且生成和处理效率高。 常用 UUID 雪花算法 UUID 128 位二进制组成,表示成 8-4-4-4-12 形式的16进制字符,有 5 个版本 基本形式如下: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx M 表示版本,1-5 N表示变体,8-b 版本 V1 时间戳 + MAC 地址 一台机子跑2个进程可能会出
使用 MySQL 进行学习。 1. 准备 下载依赖 go get -u gorm.io/gorm go get -u gorm.io/driver/mysql 约定 使用 ID 作为主键,结构体名的复数(蛇形复数)作为表名(比如,User 表名为 users),字段名使用 蛇形 作为表名(比如,RegTime 字段名为 reg_time),使用 CreatedAt、UpdatedAt 字段追踪创建
聚合函数 作用于一组函数,只返回一个值。 常见的聚合函数 AVG、SUM 只适合数值类型的字段 SELECT AVG(salary),SUM(salary),SUM(last_name) FROM employees; +-------------+-------------+----------------+ | AVG(salary) | SUM(salary) | SUM(last_name