Web Analytics

slog 如何同时输出到控制台和文件?MultiHandler 提案或将终结重复造轮子

本文永久链接 – 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] 评级。本文将带您回顾该提案从被质疑到被接受的全过程,深入探讨其背后的设计权衡。 ...

July 29, 2025 · 5 min · Tony Bai

Go fix 命令将迎“重生”:移除过时功能,为集成现代化代码分析器铺平道路

本文永久链接 – https://tonybai.com/2025/07/28/go-fix-reborn 大家好,我是Tony Bai。 Go 语言工具链中的元老级命令 go fix 即将迎来其生命周期中最重要的转折点。一项编号为 #73605 的新提案建议移除 go fix 当前的全部功能,使其暂时成为一个空命令。这一看似“激进”的举动,实则是为一个更宏大的目标铺路:将 go fix 改造为一个基于 Go 强大的代码分析(analysis)框架的、能够批量应用安全修复的现代化工具。本文将深入解读该提案的背景、具体内容以及它对 Go 代码现代化演进的深远影响。 ...

July 28, 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

为什么 VictoriaMetrics 正在替换 Prometheus?一次大规模可观测性迁移实录

本文永久链接 – https://tonybai.com/2025/07/26/migrate-from-prometheus-to-victoriametrics 大家好,我是Tony Bai。 在云原生可观测性的领域,Prometheus 无疑是王者。凭借其简洁的模型、强大的 PromQL 和活跃的社区,Prometheus 几乎定义了现代监控的行业标准。许多顶尖技术公司,包括 PingCAP,都将其作为核心产品的监控与告警解决方案。 ...

July 26, 2025 · 6 min · Tony Bai

Anthropic内部实践首次公开:揭秘Claude Code如何引爆全员生产力

本文永久链接 – https://tonybai.com/2025/07/25/how-anthropic-teams-use-claude-code 当 AI 编程助手从简单的代码补全工具,演变为深度集成于开发者工作流核心的“终端原生 AI”(Terminal-native AI)时,一个根本性的问题浮现出来:顶尖团队究竟是如何在日常工作中驾驭这股新力量的? 理论和演示层出不穷,但真实、大规模、跨职能的实践案例却凤毛麟角。 ...

July 25, 2025 · 23 min · Tony Bai

Go vs. Rust vs. C++:从语言规范长度看三种不同的“复杂性”

Go vs. Rust vs. C++:从语言规范长度看三种不同的“复杂性” - Tony Bai Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...

July 25, 2025 · 6 min · Tony Bai

写作即思考:AI 时代,开发者为什么要警惕“思考外包”?

写作即思考:AI 时代,开发者为什么要警惕“思考外包”? - Tony Bai Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 Google Go语言编码风格规范:指南篇 Google Go语言编码风格规范:决定篇 Google Go语言编码风格规范:最佳实践篇 Go语言第一课FAQ ...

July 25, 2025 · 5 min · Tony Bai

Goroutine泄漏防不胜防?Go GC或将可以检测“部分死锁”,已在Uber生产环境验证

本文永久链接 – https://tonybai.com/2025/07/24/deadlock-detection-by-gc 大家好,我是Tony Bai。 Go 语言的 go 关键字让并发编程变得前所未有的简单,但也带来了新的挑战。当所有 goroutine 都陷入阻塞时,Go runtime 会报告一个“全局死锁”并终止程序。然而,更常见也更隐蔽的是部分死锁:一部分 goroutine 永久阻塞,而程序的其他部分仍在运行。 ...

July 24, 2025 · 7 min · Tony Bai

美国运通复盘 Go 语言实践:从依赖管理到并发模型,七大经验教训全解析

美国运通复盘 Go 语言实践:从依赖管理到并发模型,七大经验教训全解析 - Tony Bai Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...

July 24, 2025 · 5 min · Tony Bai

Uber性能优化实践:如何用 GenAI 将 Go 代码调优从数周缩短至数小时?

本文永久链接 – https://tonybai.com/2025/07/23/uber-perfinsights 大家好,我是Tony Bai。 对于大多数团队而言,Go 服务的性能优化是一项昂贵且充满挑战的任务。它通常需要资深的工程师花费数天甚至数周的时间进行 profiling、基准测试和代码分析,这在快节奏的开发周期中往往难以持续。Uber 面临着同样的问题,其 Top 10 的 Go 服务每月就产生数百万美元的计算开销,系统性的性能调优迫在眉睫。 ...

July 23, 2025 · 6 min · Tony Bai