Go crypto/tls Config.Clone session resumption pitfalls (CVE-2025-68121)

Posted on Wed 25 February 2026 in Tech • Tagged with go, security, tls, cve • 5 min read

CVE-2025-68121 涉及 Go crypto/tls 的两个会话恢复(session resumption)问题:Config.Clone 复制了自动生成的 session ticket keys,导致不同 tls.Config 之间意外共享会话票据;以及服务端在判断会话是否可恢复时,只检查 leaf 证书过期而忽略完整证书链,可能让过期链条下的会话继续被恢复。


Continue reading

为什么要尽量少用 Go 里的 unsafe

Posted on Wed 11 February 2026 in Tech • Tagged with Go, unsafe, memory-safety, best-practices • 2 min read

unsafe 能绕过类型系统做“危险动作”,但代价是内存安全、可移植性和可维护性;什么时候非用不可、怎么用才不踩雷,一文说清。


Continue reading

Debug Build 的两种哲学:C++ 宏 vs Go 链接器注入

Posted on Tue 03 February 2026 in Tech • Tagged with C++, Go, build, debugging, compilation, best-practices • 6 min read

从 C++ 的 -DDEBUG 宏到 Go 的 -ldflags -X,聊聊两种语言在"条件编译"上的不同哲学,以及 Go 独有的 Build Tags 玩法。


Continue reading

悲观锁、乐观锁、无锁:Go 并发控制的三种姿势

Posted on Wed 28 January 2026 in Tech • Tagged with Go, concurrency, lock, mutex, atomic, channel, performance • 4 min read

并发编程最怕什么?数据竞争。解决数据竞争最常见的方法是加锁,但锁也分三六九等。本文用 Go 代码实战,带你理解悲观锁、乐观锁、无锁三种并发控制策略的原理、实现和适用场景。


Continue reading

Go 程序崩溃分析实战:从 Coredump 到根因定位

Posted on Fri 23 January 2026 in Tech • Tagged with Go, debugging, coredump, delve, crash, panic • 5 min read

一篇关于 Go 程序崩溃分析的实战指南,涵盖 coredump 生成、分析方法和预防措施


Continue reading

用 Eino 构建 AI Agent:Go 开发者的 LangChain 终于来了

Posted on Wed 14 January 2026 in AI • Tagged with Go, AI-agent, eino, LLM, cloudwego • 8 min read

字节跳动开源的 Eino 框架,让 Go 开发者也能优雅地构建 AI Agent——本文带你从零开始,用 Go 写一个智能穿衣助手


Continue reading

警惕!你的 Go 程序正在偷偷"泄漏" —— 详解 Goroutine Leak

Posted on Sat 13 December 2025 in Tech • Tagged with Go, goroutine-leak, memory-leak, troubleshooting, performance • 3 min read

以为有了 GC 就可以高枕无忧?太天真了!Go 程序中最隐秘的杀手 —— Goroutine Leak,正在悄悄吃掉你的内存。本文带你深入现场,手把手教你如何发现、排查并彻底消灭它。


Continue reading

Go 微服务访问控制之 Casbin 实践指南

Posted on Sun 13 July 2025 in Tech • Tagged with journal, blog, Go, casbin, authentication, authorization, microservices • 4 min read

详细介绍如何在 Go 微服务中集成 Casbin 实现灵活的访问控制,包括 JWT 认证和基于角色的权限管理


Continue reading

通过通信来共享内存, 而不是通过共享内存来通信

Posted on Wed 26 March 2025 in Tech • Tagged with Go, blog • 3 min read

| Abstract | 通过通信来共享 | | --------------|------------------------| | Authors | Walter Fan | | Category | learning note | | Status | v1.0...


Continue reading

go 语言的常见陷阱

Posted on Tue 25 March 2025 in Tech • Tagged with Go, blog • 9 min read

| Abstract | go 语言的常见陷阱 | | --------------|------------------------| | Authors | Walter Fan | | Category  | learning note  | | Status | v...


Continue reading

边车模式的协议设计

Posted on Sat 22 March 2025 in Tech • Tagged with Go, pattern • 2 min read

| Abstract | 边车模式的协议设计 | | --------------|------------------------| | Authors | Walter Fan | | Category  | learning note  | | Status | v1...


Continue reading

用 WebRTC 和 Pion 打造一款网络录音机

Posted on Sun 09 March 2025 in Tech • Tagged with Go, blog • 3 min read

| Abstract | 用 WebRTC 和 Pion 打造一款网络录音机 | | --------------|------------------------| | Authors | Walter Fan | | Category  | learning note  |...


Continue reading