Go语言技术文章
-
从停顿、吞吐和进程内存余量三个维度比较 G1 与 ZGC,给出 Xmx 估算、统一压测参数、GC 日志指标和灰度回退清单。446 收藏 -
把前端性能预算拆成图片、脚本和交互三类,给出可落地的体积、长任务、LCP、INP、CLS 阈值,以及如何用实验室测试和真实用户数据持续追踪。446 收藏 -
Golang · Go教程 | 1星期前 | go · Go教程 · net/http · WriteTimeout SSE 流式响应 SetWriteDeadline Go ResponseController
Go 流式响应不适合直接套用服务器级 WriteTimeout。本文说明如何用 ResponseController 为单个 Handler 覆盖写期限,在每次 Write 与 Flush 前设置短窗口、成功后清除,并处理 ErrNotSupported、中间件 Unwrap、客户端断开与代理缓冲。446 收藏 -
使用 os/exec 启动子进程时,Cmd.Env 不是局部补丁而是环境集合。本文说明如何先设置 Cmd.Dir,再用 Cmd.Environ 获取当前配置下的完整环境,并安全追加变量,同时解释 Unix 下 PWD 的变化与跨平台边界。446 收藏 -
time.Timer.Reset 返回 false 不代表重置失败,它表示定时器在调用前已经到期或停止。本文按活动、到期、停止三种状态,说明 Go 1.23 及以上与旧版本的重新安排写法。446 收藏 -
本文从 SSH ControlPath 的 %h、%p、%r、%j 和 %C 展开规则入手,说明多主机、多端口、多用户与跳板环境中如何避免复用同一个 socket,并给出配置、排查和按别名隔离的实用写法。446 收藏 -
通过Symfony VarDumper的caster为订单对象定义三个只读摘要字段,说明虚拟属性、配置范围及debugInfo与序列化的区别,避免完整属性树带来的展示噪声。446 收藏 -
Go go list 可以用模板或 JSON 输出包路径、目录、模块和依赖信息。文章从包列表、-deps、模板字段、结构化输出和模块模式几个边界出发,给出适合脚本与构建工具消费的稳定写法。446 收藏 -
Go context.Deadline 返回的是绝对时间,不是剩余时长;读取时必须检查 ok,并在调用下游前区分无期限、已过期和预算不足。本文给出提前失败、子任务预算与取消函数的防御式写法。446 收藏 -
用 sync/atomic.Pointer 原子发布完整的 Go 配置快照,说明 Store、Load、Swap 与 CompareAndSwap 的区别,以及为什么发布后不能原地修改配置对象。446 收藏 -
制造业设备保养延期时,不要直接新建一张孤立工单或覆盖原日期。本文给出保留原工单、延期事件、备件预留、责任人和复核记录的实用做法。445 收藏 -
用 MySQL JSON_TABLE 展开订单 JSON 数组时,通过 DEFAULT ON EMPTY 为缺失字段提供类型正确的默认值,并结合 EXISTS PATH、FOR ORDINALITY 和 ON ERROR 保留可追溯的映射边界。445 收藏 -
Go 1.24 起可以用 http.Transport.Protocols 显式区分 HTTP/1、TLS 上的 HTTP/2 与未加密 HTTP/2。本文给出仅 HTTP/1 和 HTTP/1 加 TLS HTTP/2 两种配置,说明如何不加入 UnencryptedHTTP2,以及零值、ForceAttemptHTTP2 和版本边界。445 收藏 -
Go 的 context.WithoutCancel 可以让收尾任务不继承请求取消,但它没有 deadline 和 Done;正确做法是再包一层独立超时,并复制必要数据。445 收藏 -
maps.All 返回绑定原映射的惰性迭代器,并不会在创建时复制数据。本文从修改时点、迭代中变更和并发边界说明真实语义,并给出 maps.Clone 与有序快照写法。445 收藏