Web Analytics

Rust vs. Go:为什么强强联合会更好

本文翻译自乔纳森·特纳(Jonathan Turner)和史蒂夫·弗朗西亚(Steve Francia)的文章《Rust vs. Go: Why They’re Better Together》。 ...

March 15, 2021 · 15 min · Tony Bai

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

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

February 13, 2021 · 15 min · Tony Bai

Go语言很无聊…其实它妙不可言![译]

无聊是一种很奇妙的状态,它可以稀释掉人类的一切情感。- 《古董局中局》马伯庸 在GopherCon 2020技术大会上(线上虚拟大会),Jon Bodner为全球gopher们做了主题为“Go Is Boring”的精彩演讲(关注公众号iamtonybai,发送gophercon2020即可得到GopherCon 2020技术大会幻灯片资料)。 ...

January 7, 2021 · 12 min · Tony Bai

通过实例深入理解sync.Map的工作原理

注:本文首发于笔者的个人微信公众号”iamtonybai”,是公号付费文章(价格1元)。首发于2020.10.9日,经过一个月收费期,我觉得将其免费分享出来。如果你觉得文章质量不错,欢迎到首发地址付费支持:https://mp.weixin.qq.com/s/rsDC-6paC5zN4sepWd5LqQ ...

November 10, 2020 · 13 min · Tony Bai

系统学习Go语言,有这几本书就够了!

1. Go语言的发展现状 如果从2007年9月20日那个下午三个“程序员大佬”在谷歌总部的一间办公室里进行的一次有关设计一门新编程语言的讨论算起,那么Go语言已经度过了自己的13个年头了。 Robert Griesemer、Rob Pike和Ken Thompson 如果从2009年11月10日Go语言正式开源发布算起,Go语言也即将迎来自己的第11个生日。 ...

November 4, 2020 · 12 min · Tony Bai

官宣:Go专栏“改善Go语言编程质量的50个有效实践”上线了

断断续续写了一年多的Go专栏:《改善Go语言编程质量的50个有效实践》今天终于正式上线了!- https://www.imooc.com/read/87 慕课专栏:《改善Go语言编程质量的50个有效实践》 Go语言是Google大牛团队(Robert Griesemer、Rob Pike以及Ken Thompson)设计的一种静态类型、编译型编程语言,支持垃圾回收和轻量级并发,它于2009年11月诞生,一面世就以语法简单、原生支持并发、标准库强大、工具链丰富等优点吸引了大量开发者。经过10余年演化和发展,Go如今已成为云基础架构的标准编程语言,很多云原生时代的杀手级平台、中间件、协议和应用都是采用Go语言开发的,比如:Docker、Kubernetes、以太坊、Hyperledger Fabric超级账本、新一代互联网基础设施协议ipfs等。 ...

September 8, 2020 · 8 min · Tony Bai

Google内部是如何使用Go语言的

Go语言始于2007年9月,当时Robert Griesemer,Ken Thompson和我开始讨论设计一种新语言,以解决我们和Google同事在日常工作中面临的工程挑战。我们当时编写的软件通常是一个网络服务器-一个与数百台其他服务器交互的程序-并且在其生命周期内,成千上万的程序员可能会参与编写和维护它。但是我们当时正在使用的语言似乎没有提供正确的工具来解决我们在这种复杂环境中面临的问题。 ...

August 30, 2020 · 4 min · Tony Bai

图解Go运行时调度器

本文翻译自《Illustrated Tales of Go Runtime Scheduler》。 译注:原文章结构有些乱,笔者自行在译文中增加了一些分级标题,让结构显得更清晰一些:)。 多goroutines形式的Go并发是编写现代并发软件的一种非常方便的方法,但是您的Go程序是如何高效地运行这些goroutines的呢? 在这篇文章中,我们将深入Go运行时底层,从设计角度了解Go运行时调度程序是如何实现其魔法的,并运用这些原理去解释在Go性能调试过程中产生的Go调度程序跟踪信息。 ...

March 21, 2020 · 16 min · Tony Bai

Go语言的遗产

本文是gohugo作者Steve Francia在意大利佛罗伦萨举办的GoLab上分享的闭幕演讲讲稿的文字版,该演讲的主题为”Go的遗产”。该演讲讨论了Go语言继承的遗产,以及它是如何尊重这些遗产的,并在最后总结了Go希望留给后来者的遗产。 演讲胶片 我们有责任保留好留给我们的遗产,并留下值得我们子孙后代继承的遗产 – 克里斯汀·格雷格(Christine Gregoire) ...

November 4, 2019 · 22 min · Tony Bai

Go语言回顾:从Go 1.0到Go 1.13

Go 1.13版本在2019.9.3正式发布!国外的Gopher Vincent Blanchon发表了一篇文章《Go: Retrospective》(科学上网阅读),对Go从1.0版本到1.13版本做了简要的回顾,这里是那篇文章的译文。 ...

September 7, 2019 · 8 min · Tony Bai