首页
学习
活动
专区
工具
TVP
发布

后端云

云计算技术的分享和交流平台
专栏成员
222
文章
312312
阅读量
32
订阅数
Golang标准库time(2) - timer和ticker
timer也叫定时器,ticker是反复触发的定时器。实际上 timer和ticker 的代码已经基本不在time包里了,主要都都在golang的runtime包里。
后端云
2023-02-10
3450
Golang标准库 container/heap
heap和之前讲的list和ring有一个很大不同是,list和ring直接拿来调用即可,元素的值是任意对象,而heap需要根据不同的对象自己定义堆的方法的实现,就是用堆需要首先实现heap.Interface接口中的方法,然后应用堆的pop,push等方法才能够实现想要的功能。
后端云
2023-02-10
3880
Golang标准库 container/ring
ring 和 之前介绍的双向链表 一个最大的不同是ring是一个环,没有开始位置和结束位置。所以代码实现上双向链表有区别:
后端云
2023-02-10
3810
Golang标准库 container/list
理解起来不难,关键的地方就是理解两个结构体,一个哨兵元素。然后挑几个关键的方法分析下。
后端云
2023-02-10
2660
Golang 限流器(2) - beefsack个人的开源 限流器
加注释,换行,不到100行代码的限流包。非常好理解,没有用令牌桶,所以代码非常简单,行数很少。
后端云
2023-02-10
2290
client-go 源码分析(8) - workerqueue之延时队列DelayingQueue
延时队列DelayingQueue,从下面的接口可以看出添加的元素,有一个延迟时间,延时时间到了之后才能加入队列。
后端云
2023-02-10
4760
client-go 源码分析(6) - DeltaFIFO
DeltaFIFO也包含在 Informer 中。DeltaFIFO 是 Delta + FIFO(先进先出队列),Delta的数据格式如下。DeltaType是String的类型,只有四种,分别是增加,更新,删除,同步。作为FIFO,有push和pop方法。
后端云
2023-02-10
3640
Golang的逃逸分析和C以及Rust的此类问题的处理对比
首先回答第2个问题,分配在栈上还是堆上是由编译器决定的,编译器会做逃逸分析(escape analysis),当发现变量的作用域没有超出函数范围,就可以在栈上,反之则必须分配在堆上。
后端云
2023-02-10
6110
Golang面向对象中易混淆的几个概念
篇外话:从事云计算后端项目非前端开发,若时间有限,值得深入接触的编程语言有4门:c/java/go/rust,若有余力,每个语言都可以深入接触。至于Python语言,可以利用其在配置脚本领域的优势,和bash,perl一样当配置脚本语言,工具语言使用,Python不太适合大型的后端项目开发。
后端云
2022-11-25
3870
map在golang的底层实现和源码分析
golang map底层由两个核心的结构体实现:hmap和bmap,bmap本篇用桶代替。
后端云
2022-11-25
1.8K1
http基数树路由算法和Go源码分析
Radix Tree名为压缩前缀树,又名为基数树。听名字,就知道该算法是之前介绍的前缀树的压缩版,也就是具有共同前缀的节点拥有相同的父节点。和前缀树Trie Tree极为相似,一个最大的区别点在于它不是按照每个字符长度做节点拆分,而是可以以1个或多个字符叠加作为一个分支。这就避免了长字符key会分出深度很深的节点。Radix Tree的结构构造如下图所示:
后端云
2022-11-25
7340
Golang缓存库 go-cache
go-cache 是一个类似Memcached的go库,key:value存储在内存中。适合单机应用调用。
后端云
2022-11-25
1.7K0
用于打包指定libvirt版本的镜像的脚本
在分析替换掉模板文件中的版本号并编译上传镜像的脚本前先提下上面文件中的augtool -f /augconf和setcap CAP_NET_BIND_SERVICE=+eip。
后端云
2022-11-25
2.4K0
packer基本使用
Packer是一个从单一的模板文件来创建多平台一致性镜像的轻量级开源工具,它能够运行在常用的主流操作系统如Windows、Linux和Mac os上,能够高效的并行创建多平台例如AWS、Azure和Alicloud的镜像,它的目的并不是取代Puppet/Chef等配置管理工具,实际上,当制作镜像的时候,Packer可以使用Chef或者Puppet等工具来安装镜像所需要的软件。通过Packer自动化的创建各种平台的镜像是非常容易的。
后端云
2022-11-25
1.1K0
Dart 多线程
在Dart中,它的线程概念被称为 Isolate 。它与我们之前理解的Thread 概念有所不同,各个isolate 之间是无法共享内存空间,isolate 之间有自己的event loop。Dart中多线程之间只能通过发送消息通信,所以它的资源开销低于线程,Dart的这种特别的线程也有被称为微线程这种说法。
后端云
2022-11-25
7130
一步步学KubeVirt CI (7) - Bazel Golang hello-world
先用Go写个hello-world源文件。执行go mod init和go mod tidy
后端云
2022-11-25
5800
一步步学写Bazel lib&rules (1) - Bazel官方基础库简单浏览
Bazel很强大,但是很多人都说Bazel的学习曲线比较陡。一般的技能先要入门,然后慢慢深入,入门容易,深入难。Bazel不仅如此,往往找了半天,门都还没找到。
后端云
2022-11-25
4000
Go 调用 Kubernetes API 的 几个简单的 example
使用开源项目 client-go 调用 Kubernetes API,是现在go项目的开发中调用Kubernetes的主流方案。下面给几个简单的例子:
后端云
2022-06-09
1.5K0
Go 调用 Openstack API 的 几个简单的 example
使用开源项目 gophercloud 调用 Openstack API,是现在go项目的开发中调用Openstack的主流方案。下面给几个简单的例子:
后端云
2022-06-09
7760
Go 1.18 新特性 - 工作区
这时候,如果我们运行 go mod tidy,肯定会报错,因为我们的 mypkg 包根本没有提交到 github 上,肯定找不到。
后端云
2022-06-09
4850
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档