摘要:
1、 for循环中使用短变量声明初始值 案例1: type Data struct { d *int } func main() { list := make([]Data, 0) for i := 0; i < 10; i++ { list = append(list, Data{ d: &i}) 阅读全文
摘要:
1、案例1 package main import "fmt" type Card struct { id int } func main() { list := make([]*Card, 0) card := &Card{} for index := 1; index < 10; index++ 阅读全文
摘要:
1、安装wsl的版本 1、使用管理员身份打开powershell,执行 wsl --list --online 2、安装相应的版本 wsl --install -d Ubuntu-20.04 2、更改ubuntu的用户为root 1、安装完成之后需要输入用户名密码,先输入普通用户名密码,在普通用户下 阅读全文
摘要:
死锁: - 单个协程永久阻塞 - 两个或两个以上的协程执行过程中,由于竞争资源或由于彼此通信而造成的一种阻塞的现象。 channel 死锁场景: - 非缓存channel只写不读 - 非缓存channel读在写后面 - 缓存channel写入超过缓冲区数量 - 空读 - 多个协程互相等待 1、非缓存 阅读全文
摘要:
一、GVK与GVR 在Kubernetes体系中,资源是最重要的概念。Kubernetes使用Group、Version、Resource、Kind来描述 Group即资源组,在kubernetes中有两种Group:有组名资源组和无组名资源组(也叫核心资源组Core Groups)。如deploy 阅读全文
摘要:
一、go标准库context 前言: 在 Go http包的Server中,每一个请求在都有一个对应的 goroutine 去处理。请求处理函数通常会启动额外的 goroutine 用来访问后端服务,比如数据库和RPC服务。用来处理一个请求的 goroutine 通常需要访问一些与请求特定的数据,比 阅读全文
摘要:
一、线程 1.1、redis是单线程还是多线程 无论什么版本,工作线程就是一个 6.0之后的版本出现了IO多线程 Redis 6.0版本以前的单线程是指其网络I/O和键值对读写是由一个线程完成的Redis 6.0引入的多线程指的是网络请求过程采用了多线程,而键值对读写命令仍然是单线程处理的,命令到服 阅读全文
摘要:
一、五大数据类型 1、Redis键(key) ①、首先创建一些 key,并赋上对应值: redis 127.0.0.1:6379> SET w3c1 redis OK redis 127.0.0.1:6379> SET w3c2 mysql OK redis 127.0.0.1:6379> SET 阅读全文
摘要:
1、gin绑定前端提交的数据到结构体 json,shouldbindjson,postform,query拿到get方法或者路由拼接这些 2、gin框架中间件多个执行顺序 3、中间件实现原理 4、设计一个中间件,实现类似于gin框架可以建立多个中间件还可以一次性返回 5、gin路由管理,和原生相比有 阅读全文
摘要:
一、informer介绍 Kubernetes基于声明式API的设计理念,所谓声明式API,即告诉Kubernetes Controller资源对象的期望状态,这样为Kubernetes在事件通知后,动作执行前这段过程里提供了更多的容错空间与扩展空间。这就需要Kubernetes Controlle 阅读全文