Go 模块的“分叉之痛”:一个提案能否终结“全局替换”的噩梦?
本文永久链接 – https://tonybai.com/2025/08/07/fork-go-module 大家好,我是Tony Bai。 今天,我想和你聊一个几乎每个 Go 开发者都经历过的场景,一种我们圈内人“只可意会,不可言传”的痛苦。我称之为 Go 模块的**“分叉之痛” (The Forking Pain)**。 ...
本文永久链接 – https://tonybai.com/2025/08/07/fork-go-module 大家好,我是Tony Bai。 今天,我想和你聊一个几乎每个 Go 开发者都经历过的场景,一种我们圈内人“只可意会,不可言传”的痛苦。我称之为 Go 模块的**“分叉之痛” (The Forking Pain)**。 ...
Go语言正在成为“老旧”生态的“新引擎”?从 FrankenPHP 和新版 TypeScript 编译器谈起 - Tony Bai Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 Google Go语言编码风格规范:指南篇 Google Go语言编码风格规范:决定篇 Google Go语言编码风格规范:最佳实践篇 Go语言第一课FAQ ...
从“锁”到“channel”:开启你的Go并发心智模型转变之旅 - Tony Bai Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 Google Go语言编码风格规范:指南篇 Google Go语言编码风格规范:决定篇 Google Go语言编码风格规范:最佳实践篇 Go语言第一课FAQ ...
本文永久链接 – https://tonybai.com/2025/08/04/continuous-profiling-fourth-pillar 大家好,我是Tony Bai。 凌晨两点,运维平台的警报刺破了宁静。P99 延迟飙升,用户服务几近瘫痪。作为 Go 工程师,你的脑海中闪过无数可能:是数据库慢了?是下游服务超时?还是某个新上线的 goroutine 泄露了?你急忙打开监控面板,Metrics (指标) 显示 CPU 和内存平稳,Logs (日志) 没有明显异常,Traces (追踪) 只告诉你请求在服务内部耗费了大量时间,却不知所踪。这个场景,是现代软件运维中一个令人沮丧的“最后一公里”难题。 ...
本文永久链接 – https://tonybai.com/2025/08/02/proposal-http3 大家好,我是Tony Bai。 在社区长达数年的热切期盼之后,Go 官方终于迈出了支持 HTTP/3 的关键一步。一项编号为#70914的新提案,正式建议在 x/net/http3 中添加一个实验性的 HTTP/3 实现。这一进展建立在另一项更基础的提案 #58547(x/net/quic) 之上,该提案的实现已取得重大进展,并已从内部包移至公开的 x/net/quic。这意味着 Go 的网络栈即将迎来一次基于 UDP 的、彻底的现代化升级。本文将带您回顾 Go 社区对 HTTP/3 的漫长期待,深入解读官方 QUIC 和 HTTP/3 的实现策略,并探讨其对未来 Go 网络编程的深远影响。 ...
purego 标签到底是什么意思?一场长达六年的社区辩论终于有了定论 - Tony Bai Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...
本文永久链接 – https://tonybai.com/2025/07/30/six-principles-production-ai-agents 大家好,我是Tony Bai。 随着 AI Agent 技术的兴起,许多开发者都投入到构建智能体的浪潮中,但很快就会发现,让 Agent 稳定、可靠地工作远非想象中容易。它们时而产生幻觉,时而偏离轨道,时而做出一些令人费解的“愚蠢”行为。最近,来自 app.build 的 Arseni Kravchenko 分享了他们在构建生产级 AI Agent 过程中总结出的六大核心工程原则。这些原则摒弃了虚无缥缈的“提示词黑魔法”,回归到坚实的软件工程基础。对于正在或计划使用 Go 构建 AI Agent 的开发者来说,这是一份宝贵的实践指南。 ...
本文永久链接 – https://tonybai.com/2025/07/29/slog-multihandler 大家好,我是Tony Bai。 自 log/slog 在 Go 1.21 中引入以来,一个常见的需求始终困扰着开发者:如何将日志同时发送到多个目的地,并为每个目的地设置不同的日志级别?尽管社区已涌现出 samber/slog-multi 等优秀的三方库,但关于“标准库是否应原生支持”的讨论从未停止。最近,一项编号为#65954 的提案,建议在 log/slog 中加入 MultiHandler,获得了 Go 官方的 [likely accept] 评级。本文将带您回顾该提案从被质疑到被接受的全过程,深入探讨其背后的设计权衡。 ...
本文永久链接 – https://tonybai.com/2025/07/28/go-fix-reborn 大家好,我是Tony Bai。 Go 语言工具链中的元老级命令 go fix 即将迎来其生命周期中最重要的转折点。一项编号为 #73605 的新提案建议移除 go fix 当前的全部功能,使其暂时成为一个空命令。这一看似“激进”的举动,实则是为一个更宏大的目标铺路:将 go fix 改造为一个基于 Go 强大的代码分析(analysis)框架的、能够批量应用安全修复的现代化工具。本文将深入解读该提案的背景、具体内容以及它对 Go 代码现代化演进的深远影响。 ...
本文永久链接 – https://tonybai.com/2025/07/27/native-prometheus-instrumentation-over-opentelemetry 大家好,我是Tony Bai。 在云原生可观测性的世界里,OpenTelemetry (OTel) 正如日中天。它被誉为“可观测性的未来”,承诺用一个统一的标准,终结 Metrics、Traces、Logs 各自为战的混乱局面。无数的开发者和公司,都在热情地拥抱这个“一次插桩,到处发送”的美好愿景。 ...