Go语言技术文章
-
JavaScript AbortController 可以取消 fetch,也能通过 addEventListener 的 signal 自动移除事件监听。本文讲清控制器创建、AbortError 判断、reason 读取和常见复用陷阱。150 收藏 -
Go HTTP 请求取消后,Transport 如何处理连接、请求体、响应体和错误?本文按 RoundTrip 的实际边界解释 context.Canceled、超时与连接复用。150 收藏 -
围绕一个 map 值从创建、写入、读取到删除的完整生命周期,解释 nil map 与空 map 的差异、并发访问为何需要同步,以及如何用最小检查确认修复有效。149 收藏 -
用 Go embed.FS 读取内嵌模板时,路径必须是相对且规范化的 slash 路径。本文从路径校验、fs.ReadFile 错误分层和测试验收三个角度,给出可直接落地的安全读取函数。149 收藏 -
商品住宅交付验房时,先核对项目是否具备竣工验收备案条件,再逐项查看住宅质量保证书和住宅使用说明书,最后把现场缺陷、承诺内容与合同逐项留证。备案和两书不是替代现场验房的通行证,地方交付要求还要以项目所在地规则和合同约定为准。149 收藏 -
用一个可复现的 PHP Fiber 示例排查 start、suspend、resume 和 getReturn 的状态边界,避免重复恢复与未完成读取。149 收藏 -
Python 3.15 的 webbrowser.MacOS 改用 /usr/bin/open。本文用 URL 解析和 HTTP(S) 白名单,说明如何在 macOS 自动化脚本中避开非 HTTP(S) 输入的文件注入边界。149 收藏 -
Go 的 database/sql 不会统一改写占位符,? 还是 $1 取决于数据库驱动和后端语法。本文用 MySQL 与 PostgreSQL 对照示例,说明参数值、表名列名和跨数据库适配的边界。149 收藏 -
Go 中不要把 URL 当普通字符串拼接:路径片段用 URL.JoinPath,查询参数用 url.Values,并且每个动态值只在所属语义层编码一次。149 收藏 -
Go 的 ZIP 条目名本来就使用正斜杠表示层级,但不能把名称直接拼到解压目录。本文用 archive/zip、filepath.IsLocal 和 filepath.Localize 还原目录结构,并区分目录条目、文件名编码与读取错误。149 收藏 -
用 Go log/slog 的 Logger.With 在请求入口固定 request_id、method 和 path,再把派生 Logger 传入服务层,让 JSONHandler 输出一致的请求属性,并避开全局污染与敏感字段泄露。149 收藏 -
Linux strace -f 会把子进程的系统调用也带进来,输出很快变得难读。本文用 -e、-P、-o、-ff、-qq 和 -s 分层缩小范围,并说明如何验证筛选没有把关键调用隐藏掉。149 收藏 -
Java 虚拟线程出现 carrier 被固定时,先按 JDK 版本判断 synchronized 是否属于 pinning 来源,再用 JFR 的 jdk.VirtualThreadPinned 和 jdk.tracePinnedThreads 定位阻塞栈,最后决定保留 synchronized、拆分临界区或改用 ReentrantLock。149 收藏 -
本文介绍在使用 mgo.v2 驱动操作 MongoDB 时,如何精准地向指定 configid 对应文档的 widgets 嵌套数组中追加新元素,核心是结合 $push 更新操作符与结构化查询条件。 本文介绍在使用 mgo.v2 驱动操作 MongoDB 时,如何精准地向指定 `configid`148 收藏 -
RAG 应用里,回答看似有引用却指错段落,往往不是模型单独出错,而是切块编号、索引元数据和原文版本没有保持同一条链路。本文用文档快照、chunk_id 和回答后验校验,搭一套可定位、可回归的引用验收方法。148 收藏