go race detector

笔记  Go 

package mainimport ("fmt""sync")var mutex sync.Mutexfunc main() {var count = 0var wg sync.WaitGroupwg.Add(10)for i := 0; i < 10

go切片扩容机制

笔记  Go 

go切片扩容机制:当len > cap的时候,就会触发扩容如果预期的新容量超过原来老容量的两倍,就直接采用预期的新容量。如果老容量小于256, 如果预期的新容量小于原来老容量的两倍,就用老容量的两倍作为新容量如果老容量已经大于等于256,那么新容量就是5/4 * 老容量 + 192,持续这样处

Go 泛型

笔记  Go 

求切片长度package mainimport "fmt"func Length[T any](s []T) int {return len(s)}func main() {s := []int{1, 2, 3, 4, 5}fmt.Println(Length[int](s))s

Go comparable

笔记 

在 Go 语言中,comparable 是一个内置的类型约束(type constraint),用于在泛型(Generics)中限制类型参数只能是可比较的类型。它允许编译器确保类型参数支持 == 和 != 运算符的比较操作。以下是关于 comparable 的详细说明:1. 什么是可比较的类型?co

Go slices库

笔记  Go 

Go 1.21新增的 slices 包提供了很多和切片相关的函数slices.BinarySearchpackage mainimport ("fmt""slices")func main() {nums := []int{1, 3, 5, 7, 9}// 查

PostgrelSQL docker安装

笔记 

sudo docker run --name pgsql -e POSTGRES_PASSWORD=123456 -p 5432:5432 -d bitnami/postgresql:latest

LeetCode LRU算法实现

笔记 

type Node struct {key, val intnext, prev *Node}func NewNode(k, v int) *Node {return &Node{key: k, val: v}}type DoubleList struct {head, tail *No

docker-compose nginx容器创建

笔记 

mkdir nginxcd nginxmkdir logs html confcd confvim nginx.confworker_processes 1;events { worker_connections 1024;}http { server { listen 8

计算机科学名词概念: 幂等

笔记 

幂等(Idemotence)是计算机科学中一个重要的概念,尤其在分布式系统,数据库操作和并发编程中经常提到。幂等性操作的一个显著特点是无论执行多少次,结果和执行一次的结果是相同的。https://cloud.tencent.com/developer/article/2400000定义An idem

Redis持久化机制

笔记 

Redis和Memcached的不同Redis 不同于 Memcached 的很重要一点就是,Redis 支持持久化,而且支持 3 种持久化方式:快照(snapshotting,RDB)只追加文件(append-only file, AOF)RDB 和 AOF 的混合持久化(Redis 4.0 新增