Qiuyu Blog

What is the difference between a man without a dream and a salted fish

golang中的map

Map扩容机制 Go 语言中的 map 是一个动态哈希表,它会根据元素的数量和当前容量自动进行扩容。扩容的目的是为了保持哈希表的性能,防止因为桶(bucket)过多的元素导致的性能下降。以下是Go语言 map 扩容的基本过程: 初始化: 当你第一次向 map 中插入数据时,map 会被分配一个初始容量。这个初始容量是一系列预定义大小中的一个,具体取决于 map 的实现和版本。 触发扩容......

数据结构

记录学习笔记 数组 定义:需要⼀块连续的内存空间来存储 思考?为什么数组下标从0开始? 从数组存储的内存模型上来看,“下标”最确切的定义应该是“偏移 (offset)”。前⾯也讲到,如果⽤a来表⽰数组的⾸地址,a[0]就是偏 移为0的位置,也就是⾸地址,a[k]就表⽰偏移k个type_size的位置, 所以计算a[k]的内存地址只需要⽤这个公式:a[k]_address = ......

Etcd

常用命令 查看rpc已注册的rpc服务 如果你的服务使用的前缀是/services/grpc/,你可以这样查询: 1etcdctl get /services/grpc/ --prefix --keys-only #这个命令会列出所有以/services/grpc/为前缀的键,这通常包含了注册的服务信息。 如果你想要查看键的值(通常包含服务的地址和端口),可......

学习Docker

记录学习Docker过程知识点 Docker为什么比VM快? Docker有着比VN更少的抽象层 Docker使用的是宿主机的内核,VM使用的Guest OS所以说,当新建一个容器时候Docker不需要像VM一样重新加载一个操作系统内核 ...

Go Slice自动扩容机制

以下内容仅个人理解整理,仅供参考 在go1.18版本之后(含1.18)go slice append相比之前版本growslice函数已经发生变化,在Go 1.18 Release Notes中提到The built-in function append now uses a slightly different formula when deciding how much to gr......

go-zero常用命令

go-zero 是一个集成了各种工程实践的 web 和 rpc 框架。通过弹性设计保障了大并发服务端的稳定性,经受了充分的实战检验。go-zero 包含极简的 API 定义和生成工具 goctl,可以根据定义的 api 文件一键生成 Go, iOS, Android, Kotlin, Dart, TypeScript, JavaScript 代码,并可直接运行。goctl安装 goctl......

Docker命令

记录日常工作中常用命令 Docker build 命令 创建镜像 Docker run 命令 Docker image 帮助命令123docker version # docker版本信息docker info # docker系统信息,包括镜像和容器数量docker 命令 --hlep # docker 命令 帮助 命令文档地址 镜像命令容器命令Docke......

Docker构建golang应用导入私有库依赖

由于在日常工作中开发,会设置私有库依赖,当Dockerfile执行时会报错这时候我们要在Dockerfile设置一下私有库git设置以下内容本人采用ssh方式 详细步骤 把本地id_rsa文件添加到容器中Dockerfile中添加如下指令 1ADD .ssh/ /root/.ssh/ 设置go env Dockerfile中添加如下指令 123ENV CGO_ENABLED 0 ENV......

go-build可执行文件

Golang 支持在一个平台下生成另一个平台可执行程序的交叉编译功能。 Windows系统下build Mac, Linux平台的64位可执行程序12SET CGO_ENABLED=0SET GOOS=darwin3 SET GOARCH=amd64 go build main.goSET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=amd64 go ......

Mysql

Mysql 知识积累 B树和B+树的区别 相同点:都有根节点和叶子节点,叶子节点都是有顺序的 不同点:B+树在B树基础上叶子节点增加了双向指针,叶子节点上都冗余了一份根节点 InnoDB与MyISAM区别 InnoDB支持事务,MyISAM不支持事务 InnoDB支持行锁,MyISAM支持表锁 InnoDB支持外键,MyISAM不支持 InnoDB是聚集索引,MyISAM是非聚集索......