Go语言技术文章
-
Zap 默认按时间窗口内的日志等级和消息进行采样分组,request_id、用户和延迟等字段只是上下文。本文解释这种设计如何避免高基数字段打散采样,并说明 first、thereafter 与独立 Core 的使用边界。134 收藏 -
说明 Zerolog UpdateContext 修改共享上下文的并发风险,用完整 Go 示例派生任务局部子日志器,区分结构体浅拷贝、事件字段、Writer 同步及回滚观察项。230 收藏 -
Go Zerolog 的 Info、Error 等方法只会创建待提交的 Event;本文说明为什么缺少 Msg 会没有输出,并给出 Msg、Msgf、Send 及等级、采样、writer 排查顺序。395 收藏 -
Zerolog 的 diode.Writer 为了让日志生产者不被慢速输出端阻塞,会把事件放入有容量的非阻塞队列;消费跟不上时,队列满的部分会被丢弃。本文解释丢失原因、missed 告警和关闭策略。472 收藏 -
解释 Go fsnotify 的 Rename 事件为什么不能直接等同于删除,并用父目录监听、Event.Name 过滤、os.Stat 复查和短暂去抖处理编辑器原子保存。487 收藏 -
fsnotify 的 Add 只登记传入的单一路径,不会把子目录自动加入 watcher。本文说明这个边界,并用启动扫描加新增目录补登记的方式构造可维护的递归监听。412 收藏 -
解释编辑器原子保存替换文件后单文件监听失效的原因,用完整 Go 示例改为监听父目录并筛选 Event.Name,说明事件位判断、错误处理、重载职责和父目录稳定性。447 收藏 -
Cobra 的 SilenceUsage 只控制错误时是否显示 usage,SilenceErrors 只控制是否自动打印错误;本文用 RunE 和 main 的统一错误出口说明组合取舍。311 收藏 -
Cobra 默认只执行命令链上找到的第一个持久化钩子。本文解释 PersistentPreRunE 的父子继承规则,并说明如何用 EnableTraverseRunHooks 开启遍历以及怎样避免重复初始化。139 收藏 -
用 go-ldap/ldap/v3 的 ModifyRequest 和 Replace 只更新一个指定属性,并区分替换、追加、删除的请求语义。302 收藏 -
使用 go-ldap 的 ControlPaging 分批读取大型 LDAP 目录,掌握 cookie 续页、连接保持、错误处理和 pageSize 参数边界。334 收藏 -
用来源选择小命令说明 Cobra MarkFlagsOneRequired 的至少一个语义,组合互斥约束实现恰好一个,并区分 Changed、默认值、空路径和显式 false 的处理。193 收藏 -
在 Go LDAP 查询中使用 EscapeFilter 转义用户输入,固定属性名与过滤器模板,并区分过滤器值、DN 和查询结果处理边界。135 收藏 -
用 github.com/pkg/sftp 区分单文件请求上限、文件任务池和读写方向,并用 ReadFromWithConcurrency 精确控制一次传输的并发度。232 收藏 -
通过完整 Go SFTP 上传函数说明同目录临时文件、写入和关闭错误处理、POSIX 重命名及覆盖策略,并区分名称交接、持久化和消费确认,处理响应中断后的不确定结果。355 收藏