golang deepcopy 的两种实现方式

Golang 实现深拷贝(DeepCopy)的两种方式 如果在 公众号 文章发现状态为 已更新, 建议点击 查看原文 查看最新内容。 状态: 未更新 原文链接: https://typonotes.com/posts/2021/12/14/golang-struct-interface-deepcopy/ golang deepcopy 的两种实现方式 最近在基于 gin 封装 rum-gonic - github web 框架的过程中,遇到了一个问题。 在注册路由的时候传递是 指针对象, 因此造成所有的 request 请求使用相同的 CreateUser 对象, 出现并发……

阅读全文

Mysql 外键

Mysql 外键 如果说 mysql 中的 left/right/out join 查询 软链接 关系, 只是通过看似有关系的字段把两张表聚合在一起。 那么 foreign key 就是 硬连接 , 实实在在把两张表聚合在一起。 如果数据的字段的值 不符合 所连接表, 将不允许输入 插入或修改 数据。 创建外键 准备环境 1 2 3 4 5 6 7 create database day123 default charset utf8 collate utf8_general_ci; use day123; create table depart( id int not null primary key auto_increment, name varchar(32) not null ) default charset=utf8; 创建……

阅读全文

mysql 查询操作

mysql 查询操作 初始化环境 创建数据库, 1 2 3 4 -- create database create database day111 default charset utf8 collate utf8_general_ci; use day111; 创建用户表 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 -- create table user create table user ( id int not null primary key auto_increment, name varchar(6) not null, password varchar(32) not null, age int, salary int null default 0, depart_id int not null ) default charset=utf8; -- insert into `user` (name, `password`, age, salary,depart_id) values ("诸葛亮","zhuge123",3……

阅读全文

Mysql 基础练习 01

Mysql 基础练习 01 根据表格创建数据库表,注意编码。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 create database db01 default charset utf8 collate utf8_general_ci; use db01; create table userinfo ( id int not null auto_increment primary key, name varchar(32) not null, password varchar(64) not null, gender enum('male','female') not null, email varchar(64) not null, amount decimal(10,2) not null default 0, ctime datetime ) default charset=utf8; show tables; +----------------+ | Tables_in_db01 | +----------------+ | userinfo | +----------------+ 1 row in set 插入任意五条数据 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26……

阅读全文

Mysql 常见数据类型 int char timestamp

Mysql 数据类型 https://dev.mysql.com/doc/refman/5.7/en/data-types.html 整数类型 1 2 3 4 5 6 7 8 mysql root@localhost:db1> create table table_int( int_no int unsigned, biging_no bigint, tinyint_no tinyint ) default charset=utf8; Query OK, 0 rows affected Time: 0.028s int 取值范围 -2^31 ~ 2^31-1 unsigned : 取之范围 0 ~ 2^32-1 bigint 取值范围 -2^63 ~ 2^63-1 tinyint 取值范围 -128 ~ 127 小数类型 Float 使用 32位浮点数保存。 不精确。 Double 使用 64 位浮点数保存。 不精确。 Decimal decimal 精确的小数值, m 数字的总个数(负号部分不算, 含 小数部分); d……

阅读全文

mysql table 操作

Mysql - table 操作 创建数据库 1 create database 数据库名 default charset utf8 collate utf8_general_ci; 查看所有表 1 show tables; 创建数据表 1 2 3 4 5 6 7 8 9 10 11 12 13 create table 表名( 列名 类型, 列名 类型 ) default charset=utf8; --- create table user ( id int not null auto_increment primary key, -- 不允许为空,主键, 自增 name varchar(16) not null, -- 不允许为空 email varchar(32) null, -- 允许为空, 长度为 32 age int default 3 -- 默认值 ) default charset=urf8; 注意 : 一张表只能 有且只有一个 自增列……

阅读全文

K8S 中被挂载的 Configmap 发生了变化容器内部会发生什么

K8S 中被挂载的 Configmap 发生了变化容器内部会发生什么 1. 使用 env 挂载 被挂载的值不会变 1 2 3 4 5 6 7 env: # 定义环境变量 - name: PLAYER_INITIAL_LIVES # 请注意这里和 ConfigMap 中的键名是不一样的 valueFrom: configMapKeyRef: name: game-demo # 这个值来自 ConfigMap key: player_initial_lives # 需要取值的键 使用 volumeMounts 挂载目录 在使用 volumeMounts 挂载的时候, 根据是否有 subpath 参数, 情况也不一样。 2.1 没有 subpath 挂载目录 1 2 3 volumeMounts: - name: config mountPath: "/config/normal-dir/some-path/"……

阅读全文

配置文件初始化思路一二三

配置文件初始化思路要点一二三 配置文件字段如下 1 2 3 4 type Config struct { Server Server `json:"server,omitempty" yaml:"server,omitempty"` Ingresses netv1.IngressSpec `json:"ingresses,omitempty" yaml:"ingresses,omitempty"` } 完整配置如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 server: port: 8080 ingresses: rules: - host: www.baidu.com http: paths: - backend: service: name: /search port: number: 80 pathType: ImplementationSpecific # pathType: Exact # pathType: Prefix Config 文件 读取多个文件后合并最终结果。 可以将不同的功能配置放在不同的文件中, 在数据内容多的情况下更有利于操作。……

阅读全文

gin 实现首页不缓存

在 gin 中实现首页不缓存 之前提到了在 nginx 中添加响应头 Cache-Control: no-cache 不缓存首页, 以便每次发布 CDN 都能回源到最新的资源。 nginx 的配置可能都是实施人员的操作, 或许不在掌控范围内。 自己控制起来很简单, 无非就是加一个 Header 头嘛。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 package main import ( "fmt" "github.com/gin-gonic/gin" ) func main() { r := gin.Default() // 一……

阅读全文

nginx 实现首页不缓存

nginx 实现首页不缓存 前端上 CDN 加速, 后端上 DCDN, 加速网站访问速度。 前端代码编译的时候, 可以加上 hash 值使编译后的产物名字随机, 可以在不刷新 CDN 资源 的情况下, 保障页面展示最新。 虽然对多了一点回源, 但减少了人工操作。 但是 首页不能被缓存, 否则于事无补。 对于首页的缓存设置, 有一点注意事项, 其一 ,……

阅读全文

福利派送

  • (免费星球)「运维成长路线」

  • 又拍云免费 CDN

最近文章

分类

标签

其它