Web Analytics

Go 1.16中值得关注的几个变化

辛丑牛年初七开工大吉的日子(2021.2.18),Go核心开发团队为中国Gopher们献上了大礼 – Go 1.16版本正式发布了!国内Gopher可以在Go中国官网上下载到Go 1.16在各个平台的安装包: 2020年双12,Go 1.16进入freeze状态,即不再接受新feature,仅fix bug、编写文档和接受安全更新等,那时我曾写过一篇名为《Go 1.16新功能特性不完全前瞻》的文章...

February 25, 2021 · 24 min · Tony Bai

“能力越大,责任越大” – Go语言之父详解将于Go 1.18发布的Go泛型

> 注:本文是首发于笔者微信公众号“iamtonybai”上的付费文章,这里免费分享给大家! 在2020.11.9~11.13举行的全球最具影响力的Go语言技术大会GopherCon 2020上,Go语言之父之一的Robert Griesemer为全世界Gopher们带来了本次大会最重量级的演讲**“Typing \[Generic\] Go”**。 图:Robert Griesemer带来的有关...

February 18, 2021 · 14 min · Tony Bai

基于Redis Cluster的分布式锁实现以互斥方式操作共享资源

今天要说的技术方案也是有一定项目背景的。在上一个项目中,我们需要对一个redis集群中过期的key进行处理,这是一个分布式 系统,考虑到高可用性,需要具备过期处理功能的服务有多个副本,这样我们就要求在同一时间内仅有一个副本可以对过期的key>进行处理,如果该副本挂掉,系统会在其他副本中再挑选出一个来处理过期的key。 很显然,这里涉及到一个选主(leader election)的过程。每当涉及选主...

February 13, 2021 · 15 min · Tony Bai

以单件方式创建和获取数据库实例

在屡次的Go用户调查中,使用Go语言进行Web服务/API开发都占据了Go语言用途调查结果的头部位置。下面是知名Go IDE goland的母公司JetBrains最新发布的Go当前状态报告(2021.2.3)中的截图: 开发Web或API服务,难免会与数据库打交道。如今创建数据库实例并访库的技术已经是很成熟了,于是就有了下面这样的程序结构: 上面这个图片中,Web服务中的每个要与数据库进行数据交...

February 9, 2021 · 8 min · Tony Bai

Go语言学习技术路线图2021发布了!

上一次与CSDN的合作还要追溯到《程序员》杂志仍然发行的时代(网络发行),最后一次投稿是2017年末的《追求极简:Docker镜像构建演化史》。 今年元旦前,CSDN编辑周翔老师邀请我参与他们策划的“IT人才成长路线图”,合作编写其中的Go语言学习技术路线图。**出于让更多开发者学习Go语言、加入Go社区、壮大Go生态的公心考虑以及扩大个人影响力的私心考虑,我接受了邀请**。 去年圣诞节的前一周我...

February 8, 2021 · 3 min · Tony Bai