Web Analytics

context:Go 语言的“天问”,你真的懂了吗?

context:Go 语言的“天问”,你真的懂了吗? - Tony Bai Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 Google Go语言编码风格规范:指南篇 Google Go语言编码风格规范:决定篇 Google Go语言编码风格规范:最佳实践篇 Go语言第一课FAQ ...

September 15, 2025 · 4 min · Tony Bai

软件工程的永恒法则:《代码大全》作者访谈给我们的三大启示

软件工程的永恒法则:《代码大全》作者访谈给我们的三大启示 - Tony Bai Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 Google Go语言编码风格规范:指南篇 Google Go语言编码风格规范:决定篇 Google Go语言编码风格规范:最佳实践篇 Go语言第一课FAQ ...

September 14, 2025 · 5 min · Tony Bai

“包管理器是万恶之源”:一次来自Odin语言作者的灵魂拷问

本文永久链接 – https://tonybai.com/2025/09/13/package-managers-are-evil 大家好,我是Tony Bai。 “包管理器是万恶之源 (Package Managers are Evil)。” 这句石破天惊的论断,出自Odin语言的创造者Ginger Bill最近发表的一篇博文。在一个npm install、pip install、go get已经成为开发者肌肉记忆的时代,这无异于一篇挑战整个现代软件开发基石的“檄文”。 ...

September 13, 2025 · 7 min · Tony Bai

超越零值:Go 语言“构造模式”深度指南

本文永久链接 – https://tonybai.com/2025/09/12/go-constructor-pattern-guide 大家好,我是Tony Bai。 Go 语言的设计哲学崇尚简约与直白(straightforward)。其中,结构体字面量 (Struct Literal) 的存在,让我们可以用极其简单的方式创建数据结构。然而,在构建大型、复杂的系统时,这种简单性也可能成为一把双刃剑。当一个对象的创建需要满足特定前置条件、执行复杂初始化或强制执行业务规则时,我们便需要一个更强大、更可控的工具。 ...

September 12, 2025 · 9 min · Tony Bai

MCP协议注册中心发布:Go在下一代AI基础设施中扮演关键角色

本文永久链接 – https://tonybai.com/2025/09/10/introducing-the-mcp-registry 大家好,我是Tony Bai。 近日,模型上下文协议 (Model Context Protocol, MCP)官方发布了其生态系统的核心基础设施:MCP 注册中心 (MCP Registry)的预览版。这个开放的、分布式的目录服务不仅为 MCP 服务器的发现与实施提供了“单一事实来源”,更值得我们 Go 开发者关注的是,Go 语言在其中扮演了从官方工具链到客户端集成的关键角色。 ...

September 10, 2025 · 6 min · Tony Bai

最好的教师节礼物:来自2.5万名Gopher的认可

最好的教师节礼物:来自2.5万名Gopher的认可 - Tony Bai Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 Google Go语言编码风格规范:指南篇 Google Go语言编码风格规范:决定篇 Google Go语言编码风格规范:最佳实践篇 Go语言第一课FAQ ...

September 10, 2025 · 2 min · Tony Bai

NASA的十大编码“诫律”:Go视角的全新解读

本文永久链接 – https://tonybai.com/2025/09/09/the-power-of-ten-in-go 大家好,我是Tony Bai。 在软件工程领域,有些智慧是永恒的。 2006 年,NASA/JPL(喷气推进实验室)的 Gerard J. Holzmann 公布了其团队用于开发安全关键 (Safety-Critical) 软件的十条黄金法则——“The Power of Ten: Rules for Developing Safety-Critical Code”。这些规则诞生于 C 语言主导的嵌入式世界,旨在为火星车、深空探测器等“不容有失”的系统构建坚不可摧的代码基石。 ...

September 9, 2025 · 8 min · Tony Bai

从《凡人修仙传》看程序员境界:道友,你修炼到哪一层了?

本文永久链接 – https://tonybai.com/2025/09/08/fanren-xiuxian-programmer-levels 大家好,我是Tony Bai。 最近《凡人修仙传》的电视剧大火,想必各位道友都有耳闻。鄙人也没忍住,不仅刷完了杨洋主演的网剧,还趁着这股热乎劲儿,一口气在微信读书连读再听地补完了小说的人界篇。 ...

September 8, 2025 · 6 min · Tony Bai

为什么说“接口”,而非代码或硬件堆砌,决定了系统的性能上限?

本文永久链接 – https://tonybai.com/2025/09/07/the-power-of-an-interface-for-performance 我的《Go语言第一课》已上市,赠书活动正在进行中,欢迎点击此链接参与。 大家好,我是Tony Bai。 我们通常如何看待性能优化?答案往往是:更快的算法、更少的内存分配、更底层的并发原语、甚至用SIMD指令压榨CPU的每一个周期。我们痴迷于“引擎盖之下”的实现细节,坚信更好的代码和更强的硬件能带来更高的性能。 然而,TigerBeetle数据库创始人Joran Dirk Greef在Strange Loop上的一场精彩的演讲(https://www.youtube.com/watch?v=yKgfk8lTQuE),用一场耗资百万美元的数据库比赛,颠覆了这一传统认知。他通过无可辩驳的基准测试数据证明:在分布式系统中,接口(Interface)的设计,而非代码实现或硬件堆砌,才是决定性能上限的真正瓶颈。 在深入探讨之前,我们必须对本文的“接口”一词进行关键澄清。对于Go开发者而言,“接口”通常指代语言层面的interface类型,一种实现行为契约以及多态的工具。但本文中所说的“接口”,则是一个更宏观、更广义的概念,它指的是系统与系统之间、或用户与系统之间进行通信的交互模式、契约与协议。你的REST API设计、gRPC的.proto文件、微服务间的调用时序,都属于这个“广义接口”的范畴。 ...

September 7, 2025 · 7 min · Tony Bai

告别算法“天书”,Go程序员的学术伪代码“翻译”指南

本文永久链接 – https://tonybai.com/2025/09/06/gopher-pseudocode-translation-guide 大家好,我是Tony Bai。 你是否曾在阅读顶会论文时,感觉其中的算法描述像一本晦涩难懂的**“天书”**?那些看不太懂的数学符号、奇特的箭头和看似代码又无法编译的语句(如下图),是不是常常让你望而却步,感叹理论与实践之间隔着一道鸿沟? ...

September 6, 2025 · 10 min · Tony Bai