Go Context取消原因不明?一文掌握WithCancelCause调试技巧
本文深入探讨Go 1.20及1.21版本引入的WithCancelCause特性,旨在解决Context取消原因模糊的调试痛点。文章对比了新旧API的差异,揭示了defer cancel()在超时处理中丢失错误原因的陷阱,并提出了利用手动定...
本文深入探讨Go 1.20及1.21版本引入的WithCancelCause特性,旨在解决Context取消原因模糊的调试痛点。文章对比了新旧API的差异,揭示了defer cancel()在超时处理中丢失错误原因的陷阱,并提出了利用手动定...
本文探讨了“Go原生持久化执行”的技术趋势。一位开发者因受困于Python工作流工具的运行时调试难题,开发了名为DagGo的替代方案。该工具利用Go语言的静态类型特性,实现了编译时安全检查,并增强了可观测性。作者计划在未来几个月内使其功能对...

ECS / OSS / CDN / 云数据库一站采购,常用云资源集中选配;新用户与续费均有专场优惠,适合个人开发者与小团队长期使用。
Rev-dep 是一款由 Go 语言编写的高性能 JavaScript 和 TypeScript 依赖分析与优化工具。它旨在解决 Node.js 生态中同类工具的性能瓶颈,其执行速度比 knip、dependency-cruiser 等主流...
近日有开发者在 Hacker News 展示了将 Tree-sitter 解析器生成工具移植至 Go 语言的成果。Tree-sitter 是现代代码编辑器(如 Neovim、VS Code)的核心组件,以增量解析和强大的错误恢复能力著称。此...
TinyIce 是一款用 Go 语言构建的 Icecast2 兼容流媒体服务器,旨在解决传统 IceCast 配置繁琐的问题。该项目被打包为一个静态二进制文件,内嵌所有资源,实现了“秒级”部署。核心特性包括:首次运行自动生成凭证、内置 AC...
本文深入剖析 Go 编译器的核心组件——链接器。它负责将独立的包对象文件组装成单一的可执行程序,主要执行符号解析、重定位、死代码消除及内存布局四大任务。文章详细解释了链接器如何构建全局符号索引,从 main 函数开始追踪并剔除未使用的代码以...
一位双平台开发者出于对 Windows 上 Ditto 剪贴管家的怀念,使用 Go 语言配合 Wails 和 Vue3 自研了一款名为 OnlyPaste 的 macOS 剪贴板管理工具。该应用针对 macOS 现有工具的痛点,实现了海量存...
针对 Go 语言开发中常见的死锁痛点,开发者推出了一款轻量级调试库 Deadlog。它允许开发者几乎无缝地替换标准的 Mutex 或 RWMutex,利用 runtime.Callers 快速定位锁的持有者和调用堆栈,无需繁琐的 print...
这篇文章深入探讨了在Go这种静态语言中实现运行时代码修改的极限技巧。作者利用反射和unsafe包获取函数内存地址,通过直接修改机器码并插入JMP跳转指令,实现了类似于动态语言的“猴子补丁”功能。文章详细演示了如何处理内存保护权限以及x86和...
Hacker News 上热议了一款名为 difi 的新工具,这是一款使用 Go 语言编写的 Git diff 终端界面(TUI)。该工具旨在提升代码审查的速度与体验,并提供了 Neovim 的深度集成插件。与主流的左右对比模式不同,dif...