Go语言技术文章
-
解释带 sync.Mutex 的结构体为什么不能随意复制,比较值接收者、指针接收者和容器传参的差异,并给出可运行的验收方法。397 收藏 -
多模态接口接入后,小图片能成功,大图片却报请求过大或上下文超限。本文从原始字节、base64 膨胀和 token 预算三层定位问题,再给出压缩、尺寸校验与请求组装的可复现处理顺序。397 收藏 -
dmesg 看不到完整内核日志时,不要先怀疑内核没有输出。本文从日志级别、内核环形缓冲区和 journald 转发三条路径排查,并给出现场保留与复核方法。397 收藏 -
多个 Goroutine 并发执行时,errgroup 可以把首个错误、兄弟任务取消和统一等待放进同一条收敛链。本文给出可直接改造的 Go 写法,并说明 Context 必须传到真正执行 I/O 的位置。397 收藏 -
Linux 使用 systemd.timer 安排日历任务时,可通过 Persistent=true 记录最后触发时间,在关机错过执行后于开机激活定时器时补跑一次。本文用 oneshot 服务、OnCalendar 配置和 journalctl 检查说明补跑边界。397 收藏 -
用 Go 的 container/heap 实现一个按优先级领取任务的队列,说明 Less、Push、Pop、heap.Init、heap.Fix 的配合方式,以及指针接收者、索引同步和并发使用边界。397 收藏 -
Go TLS 握手失败时,先分开检查 TCP 连接地址、ServerName/SNI 和证书 SAN,再用 HandshakeContext 固定错误点、用 ConnectionState 读取证书链,最后在服务端记录 ClientHelloInfo.ServerName 定位虚拟主机选证书问题。397 收藏 -
小型零售店盘点出现差异时,先固定盘点时点,再按商品编码核对销售、退货、报损和内部移动记录,最后决定是否调整库存。397 收藏 -
Go compress/gzip 写入结束时要区分 Flush 与 Close:Flush 只推送待写压缩数据,Close 才会刷新剩余数据并写入 GZIP footer,且不会自动关闭底层文件或连接。397 收藏 -
Golang · Go问答 | 1个月前 | JSON · Go问答 · 接口测试 · Go JSON测试 map比较顺序不稳定 encoding/json测试 reflect.DeepEqual比较JSON cmp.Diff用法
Go JSON 测试失败不一定是数据变了,map 遍历顺序、JSON 成员排列与字节级快照是三个不同问题。本文用反序列化、reflect.DeepEqual 和 cmp.Diff 说明稳健的比较方式。397 收藏 -
科技周边 · 人工智能 | 1个月前 | 人工智能 · 性能排查 · 提示词工程 · 提示词缓存动态字段 DynamicCache KV缓存 Transformers缓存 past_key_values use_cache StaticCache
本文以 Hugging Face Transformers 的 DynamicCache 为例,说明提示词缓存动态字段的配置边界,覆盖 use_cache、past_key_values、迭代对话、窗口上限、回滚、显存排查以及切换 StaticCache 的判断方法。397 收藏 -
Go archive/zip.File.Open 返回的是 io.ReadCloser。本文区分条目读取器与 ZIP 归档读取器的关闭责任,并给出单条函数、批量遍历和错误处理的安全写法。397 收藏 -
time.Now 返回的时间可能同时包含墙上时钟和单调时钟,但 time.Time.Round 是墙上时间计算,会从结果中剥离单调读数。本文按比较、耗时、序列化和 map key 场景说明怎么判断与修复。397 收藏 -
PHP OPcache 的脚本缓存策略必须和部署后的 PHP worker 重载动作配套。本文按开发与生产环境拆分 validate_timestamps、revalidate_freq、reset、invalidate 与服务重启的职责,给出可执行的发布清单。397 收藏 -
Python 3.14 为 heapq 增加了最大堆 API。本文说明如何用 _max 函数维护最大值优先队列、处理固定容量队列,并为旧版本封装兼容层。397 收藏