Go语言技术文章
-
govulncheck 的结果不只是在说依赖版本旧,还在说明漏洞符号是否能从项目入口被调用。本文按导入、符号和测试范围拆分扫描,帮助你判断哪些结果需要立即升级。189 收藏 -
Java Record 的参数校验应集中放在规范构造器中:用 compact constructor 处理清洗、非空、格式和范围约束,重载构造器统一委托,避免对象从旁路入口创建。189 收藏 -
Go 结构体复制 sync.Mutex 后可能出现解锁异常、竞态或保护失效。本文解释锁状态为何分裂,并用指针接收者、go vet -copylocks 和 -race 给出排查修复方法。189 收藏 -
用 Go archive/tar 解压时,先按 Header 区分目录、普通文件和链接,再把普通文件复制到安全目标路径,避免目录误写和归档路径越界。189 收藏 -
Go runtime.SetFinalizer 遇到引用环时,垃圾回收无法安排满足依赖关系的终结顺序,终结器执行并不保证。本文用最小对象图说明原因,并给出断开回指、显式 Close 和可靠测试的处理方式。189 收藏 -
Go 拼接文本时,strings.Builder、bytes.Buffer、[]byte 和 strings.Join 的选择取决于输出类型、是否需要读取字节以及片段是否已准备好。文章用最小示例、边界表和基准测试说明各自适用场景。188 收藏 -
RAG 系统最危险的不是检索慢,而是证据为空时模型仍然给出肯定答案。本文用相似度门槛、引用绑定和拒答回退,把无证据回答挡在业务接口之外。188 收藏 -
为啥JSON_CONTAINS查不到数组值?关键在于字段是不是JSON类型,以及路径有没有写'$[*]'。一定要确保字段是JSON类型,并且明确指定路径,比如JSON_CONTAINS(col, "val", '$[*]'),如果是数字,就不需要引号啦。JSON_CONTAINS 查不到数组里的值?188 收藏 -
Go 的 json.Unmarshal 无法直接将含不同类型元素(如整数和对象)的 JSON 数组映射到单一结构体切片,需先以 []interface{} 接收,再按索引区分类型并分别解析。 Go 的 `json.Unmarshal` 无法直接将含不同类型元素(如整数和对象)的 JSON 数组映射到188 收藏 -
文章 · python教程 | 3星期前 | python · SQLite · dbm · 键值存储 · SQLite 键值存储 Python 3.14 Python 3.13 dbm.sqlite3
Python 3.13 新增 dbm.sqlite3 后,dbm 的键值接口可以落到 SQLite 文件上。本文用缓存索引小实验说明 flag、字节值、关闭、SQLite 直读和旧版本兼容边界。188 收藏 -
MySQL 临时表在一个连接里明明存在,换个请求却提示表不存在,通常不是表被误删,而是会话边界或连接池复用方式发生了变化。本文用可复现 SQL 说明临时表的生命周期、连接核对、连接池风险和断线验收。188 收藏 -
科技周边 · 人工智能 | 3星期前 | 异步任务 · openai · AI API · 接口状态 · 轮询 background OpenAI Responses API queued completed
Responses API 的 background 模式适合把较长任务交给后台处理。本文用状态机说明创建、轮询、超时、取消和结果保存,避免把 queued 误判成失败。188 收藏 -
用 findmnt --verify 在重启前检查 fstab 的语法、设备路径和挂载选项,区分配置可解析、设备可见与真正挂载成功这三个验收层次。188 收藏 -
用 Go archive/zip 把本地文件复制成 ZIP 条目,拆解 FileInfoHeader、CreateHeader、io.Copy 与 Writer.Close 的执行顺序,并说明 CRC 校验和关闭阶段错误为什么不能忽略。188 收藏 -
Go 判断 IP 是否属于指定网段时,推荐用 net/netip 的 ParseAddr、ParsePrefix 和 Prefix.Contains。本文给出 IPv4/IPv6 示例,并说明非法输入、地址族不匹配、IPv4-mapped IPv6 与 IPv6 zone 的边界。188 收藏