Web Analytics

Go语言第一课背后的那些事儿

本文永久链接 – https://tonybai.com/2021/10/25/the-things-behind-the-first-lesson-of-go-language 《Go语言第一课》正式上线一周多了,从编辑和运营老师那边反馈,成绩似乎还不错,感谢大家的捧场!今天和大家说说专栏《Go语言第一课》背后的那些事儿。 年初策划:Gopher的《C++ Primer》 学过C++的童鞋想必都听说过或是读过《C++ Primer》这本书。 C++ Primer 从Primer这个单词所具有的“启蒙”的含义我们也可以知道,这是一门面向C++入门程序员的基础书籍。它的作者是大名鼎鼎的Stanley B.Lippman,他曾与C++之父在贝尔实验室一起主持了C++首个编译器项目cfront的开发,也曾加盟微软担任Visual C++产品的架构师,同时他还是那本C++经典《深度探索C++对象模型》一书的作者。 ...

October 25, 2021 · 7 min · Tony Bai

Tony Bai带你入门Go语言

本文永久链接 – https://tonybai.com/2021/10/15/your-first-go-course-by-tonybai 没错,Tony Bai就是我。这次终于轮到我了! 极客时间在10月13日正式上线了我的Go语言专栏:《Tony Bai·Go语言第一课》。 现如今,越来越多的程序员因为自己或公司的需求,逐渐转成Go开发。当前国内外一线,包括 BAT 等大厂,以及初创小厂也都广泛接纳并应用Go,有的甚至已经成长为主力语言。 ...

October 15, 2021 · 5 min · Tony Bai

Go语言之父谈Go编程语言与环境

本文永久链接 – https://tonybai.com/2021/10/06/the-go-programming-language-and-environment 2021年中旬,Go语言联合创始人Rob Pike应邀在线出席由UNSW Computing(悉尼新南威尔士大学计算机)组织主办的John Lions Distinguished Lectures,会上Rob Pike以Go之父身份讲述了究竟是什么将Go语言塑造成今天的这个样子以及进入Go生态系统的其他一些事物。 ...

October 6, 2021 · 8 min · Tony Bai

gRPC服务的响应设计

本文永久链接 – https://tonybai.com/2021/09/26/the-design-of-the-response-for-grpc-server 1. 服务端响应的现状 做后端服务的开发人员对错误处理总是很敏感的,因此在做服务的响应(response/reply)设计时总是会很慎重。 如果后端服务选择的是HTTP API(rest api),比如json over http,API响应(Response)中大多会包含如下信息: ...

September 26, 2021 · 9 min · Tony Bai

gRPC客户端的那些事儿

本文永久链接 – https://tonybai.com/2021/09/17/those-things-about-grpc-client 在云原生与微服务主导架构模式的时代,内部服务间交互所采用的通信协议选型无非就是两类:HTTP API(RESTful API)和RPC。在如今的硬件配置与网络条件下,现代RPC实现的性能一般都是好于HTTP API的。我们以json over http与gRPC(insecure)作比较,分别使用ghz和hey压测gRPC和json over http的实现,gRPC的性能(Requests/sec: 59924.34)要比http api性能(Requests/sec: 49969.9234)高出20%。实测gPRC使用的protobuf的编解码性能更是最快的json编解码的2-3倍,是Go标准库json包编解码性能的10倍以上(具体数据见本文附录)。 ...

September 17, 2021 · 26 min · Tony Bai

《走近周恩来》读后感

本文永久链接 – https://tonybai.com/2021/09/15/getting-closer-to-zhou-enlai 不写书评/读后感,那是没有遇到真正让你内心感动的书! 实际上我并没有读这本书,而是在连续一周多的驾车途中通过“微信读书”将这本书听完的。 虽然是听书,并且听的还是AI机器人的播讲,但书中记录的那份真实且炽热的情感却无法隐匿在AI机器人那稍有些怪异的声线中。几乎每天都有书中的情节让我在途中泪目。 ...

September 15, 2021 · 15 min · Tony Bai

亲子游之丹东凤凰山

本文永久链接 – https://tonybai.com/2021/09/07/a-tour-of-phoenix-mountain 提到东北,人们的第一印象一定是皑皑白雪的世界。东北雪季的冬天的确很美,但对于我这个东北人来说,9-10月份的秋天才是我心目中最美的时节:天高气爽,温度宜人,瓦蓝瓦蓝的天搭配着五颜六色的大地,让人心旷神怡!在这样的季节中,最佳户外活动就是爬山了。 ...

September 7, 2021 · 5 min · Tony Bai

小厂内部私有Go module拉取方案

本文永久链接 – https://tonybai.com/2021/09/03/the-approach-to-go-get-private-go-module-in-house 1. 问题来由 Go 1.11版本引入Go module后,Go命令拉取依赖的公共go module不再是“痛点”。如下图所示: 图:从公司内部经由公共GOPROXY服务拉取公共go module ...

September 3, 2021 · 13 min · Tony Bai

Brooks、Wirth和Go[译]

本文永久链接 – https://tonybai.com/2021/08/25/brooks-wirth-and-go 本文翻译自瑞典程序员Fredrik Holmqvist的博客文章《Brooks, Wirth and Go》。 现在是1975年。 程序员们带着FORTRAN代码回来了,不过使用的是穿孔卡片的形式。 图:记录代码的穿孔卡片(图片来自punchcardreader.com,译者加) ...

August 25, 2021 · 10 min · Tony Bai

Go 1.17新特性详解:使用基于寄存器的调用惯例

本文永久链接 – https://tonybai.com/2021/08/20/using-register-based-calling-convention-in-go-1-17 除了Go语言特性与go module有重要变化之外,Go编译器与Go运行时也都有着优化与改进,这两方面的变化对Go程序的构建与运行影响巨大。在这个系列的最后一篇中,我们来看看编译器与运行时中那些值得关注的变化。 ...

August 20, 2021 · 8 min · Tony Bai