Web Analytics

Logging 已死?从“调试日记”到“结构化事件”的范式转移

本文永久链接 – https://tonybai.com/2025/12/30/logging-sucks 大家好,我是Tony Bai。 “传统的日志记录(Logging)已经死了。不是说我们不再需要记录信息,而是那种‘写日记’式的记录方式,在微服务和高并发时代,已经彻底破产。” ...

December 30, 2025 · 5 min · Tony Bai

Azure CTO 深度解读:微软为何要用 Rust “替换” C/C++,又将如何用 AI 加速代码迁移?

本文永久链接 – https://tonybai.com/2025/09/11/microsoft-is-getting-rusty 大家好,我是Tony Bai。 近日,微软 Azure CTO、技术巨擘 Mark Russinovich 在一场 Rust 技术会议上发表了闭幕演讲,以前所未有的坦诚和力度,揭示了微软内部正在进行的一场深刻的技术变革:全面拥抱 Rust,并战略性地替代 C/C++。 他不仅分享了 Rust 在 Windows 内核、Office、Azure 云等核心产品中的惊人实践案例,还首次披露了微软正在研发的、利用 AI 大模型自动将 C/C++ 代码转换为安全 Rust 的前沿工具。这既是一次技术分享,也是一份来自行业顶层的宣言。 ...

September 11, 2025 · 6 min · Tony Bai

Prometheus 联合创始人的警告:在使用 OpenTelemetry 生成 Metrics 前请三思!

本文永久链接 – https://tonybai.com/2025/07/27/native-prometheus-instrumentation-over-opentelemetry 大家好,我是Tony Bai。 在云原生可观测性的世界里,OpenTelemetry (OTel) 正如日中天。它被誉为“可观测性的未来”,承诺用一个统一的标准,终结 Metrics、Traces、Logs 各自为战的混乱局面。无数的开发者和公司,都在热情地拥抱这个“一次插桩,到处发送”的美好愿景。 ...

July 27, 2025 · 5 min · Tony Bai

上手MCP官方Go SDK:一份面向实战的入门指南

本文永久链接 – https://tonybai.com/2025/07/10/mcp-official-go-sdk 大家好,我是Tony Bai。 随着大型语言模型(LLM)的能力边界不断扩展,“function calling”或“tool use”已成为释放其潜力的关键。MCP(Model Context Protocol)正是为此而生,它定义了一套标准的、与模型无关的通信规范,使得任何应用都能以“工具”的形式被 LLM 调用。 ...

July 10, 2025 · 12 min · Tony Bai

API设计的“Go境界”:Go团队设计MCP SDK过程中的取舍与思考

本文永久链接 – https://tonybai.com/2025/05/23/go-api-design-mcp-sdk 大家好,我是 Tony Bai。 作为开发者,我们每天都在与 API 打交道——调用它们,设计它们,有时也会为糟糕的 API 设计而头痛不已。一个优秀的 API,如同一位技艺精湛的向导,能清晰、高效地引领我们通往复杂功能的彼岸;而一个蹩脚的 API,则可能像一座布满陷阱的迷宫,让我们步履维艰。 ...

May 23, 2025 · 14 min · Tony Bai

2024年Go语言盘点:排名历史新高,团队新老传承

2024年Go语言盘点:排名历史新高,团队新老传承 - Tony Bai =============== Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...

January 6, 2025 · 12 min · Tony Bai

2023年Go语言盘点:稳中求新,稳中求变

本文永久链接 – https://tonybai.com/2023/12/31/the-2023-review-of-go-programming-language 时光荏苒,转眼间已经是2023年的最后一天了。《2022年Go语言盘点:泛型落地,无趣很好,稳定为王》仿佛就写在昨天。 回首这一年,全球彻底从新冠大流行中得以复苏,Go语言也不例外,最直观的表现就是全球各地的GopherCon技术大会或小型Meetup都纷纷从停办/线上的状态来到了线下,并获得Gopher们的热烈欢迎和踊跃参与,比如下图中的GopherCon、GopherCon UK、GopherCon Europe、GopherCon Australia、Golab等。 ...

December 31, 2023 · 17 min · Tony Bai

通过实例理解Web应用的机密管理

本文永久链接 – https://tonybai.com/2023/11/08/understand-go-web-secret-management-by-example 如果你是一个Web应用系统的开发人员,你的日常大概率是“乐此不疲”地做着CRUD的活儿,很少接触到安全方面的内容。如果这时有人和你提到“机密(信息)管理(secret management)”,你大概率会说:那是啥?和我有关系吗? ...

November 8, 2023 · 33 min · Tony Bai

使用Go开发Kubernetes Operator:基本结构

本文永久链接 – https://tonybai.com/2022/08/15/developing-kubernetes-operators-in-go-part1 注:文章首图基于《Kubernetes Operators Explained》修改 几年前,我还称Kubernetes为服务编排和容器调度领域的事实标准,如今K8s已经是这个领域的“霸主”,地位无可撼动。不过,虽然Kubernetes发展演化到今天已经变得非常复杂,但是Kubernetes最初的数据模型、应用模式与扩展方式却依然有效。并且像Operator这样的应用模式和扩展方式日益受到开发者与运维者的欢迎。 我们的平台内部存在有状态(stateful)的后端服务,对有状态的服务的部署和运维是k8s operator的拿手好戏,是时候来研究一下operator了。 ...

August 15, 2022 · 23 min · Tony Bai

手把手教你使用ANTLR和Go实现一门DSL语言(第一部分):设计DSL语法与文法

本文永久链接 – https://tonybai.com/2022/05/24/an-example-of-implement-dsl-using-antlr-and-go-part1 在《使用ANTLR和Go实现DSL入门》一文中,我们了解了DSL与通用编程语言(GPL)的差异、DSL解析器生成工具选择以及ANTLR文法的简要书写规则,并和大家一起完成了一个CSV解析器的例子。看完上述文章后,你是不是有了打造属于自己的DSL的冲动了呢! 那么究竟该如何设计和实现一门自己的DSL呢?在这个系列文章中,我将“手把手”地和大家一起看看设计和实现一门DSL(这里主要指外部DSL)的全流程。 ...

May 24, 2022 · 14 min · Tony Bai