Go语言技术文章
-
MySQL 可用 JSON_OVERLAPS 判断两个 JSON 数组是否至少共享一个元素。本文以标签筛选说明数字与字符串、嵌套数组、SQL NULL 和空数组的区别,并给出只读 SQL 示例与查询回退思路。498 收藏 -
Go 使用 fs.Sub 创建子文件系统后,根目录文件应使用 "." 和相对路径访问。本文解释 ValidPath 规则、常见错误写法,以及如何区分路径无效与文件不存在。498 收藏 -
Go 1.23 起可以用 slices.Chunk 把切片按固定大小分成连续子切片并直接遍历。本文说明最小写法、尾块、空输入、非法 n、底层数组关系,以及旧版本 Go 的兼容实现。498 收藏 -
用 Go sync.Cond 实现有界队列时,关键不是记住 Signal 还是 Broadcast,而是让状态判断、Wait 循环和通知都在同一把锁下完成。本文拆解未满、非空和关闭三个条件,并给出按现象排查卡住问题的清单。498 收藏 -
Redis Stream 的 NOACK 让新读取消息不进入 PEL,却不能保证业务成功。本文给出消费组命令和两组对照示例,区分读取、成功与 Pending 计数,说明性能测量方法及丢失容忍边界。498 收藏 -
养老机构夜间值班表应覆盖总值班协调、直接照护、医护响应、消防安保、设施保障和交接记录,并按入住评估、机构规模、设施条件及属地规定确定人数与在岗方式。498 收藏 -
Go 流式处理最容易留下 goroutine 泄漏的地方,是只取消一端却没有唤醒另一端。本文用 context、io.Pipe、CloseWithError 和底层 ReadCloser 组合出一套双端退出方案。498 收藏 -
本文依据 Bangumi 番组计划公开页面,说明动画标签、分类筛选和条目浏览入口的关系,并提示 Bangumi 主要用于资料整理、收藏与进度管理。498 收藏 -
通过 udevadm monitor 的 -k、-u、-p 和 -s 参数,区分内核 uevent 与 udev 规则处理后的事件,并用 DEVPATH、ACTION 和 udevadm test 完成设备事件排查。498 收藏 -
Go testing.T.Cleanup 的关键不是把回调写在哪里,而是看它注册到哪个测试作用域以及登记顺序。本文解释同一 T 上的 LIFO 规则、父子测试边界、资源依赖登记方式和并发注册的排查方法。498 收藏 -
PHP match 未处理分支通常不是语法错误,而是严格比较没有命中且表达式没有覆盖全部输入。本文用 default、异常边界和类型检查给出一套排查方法。498 收藏 -
Java Stream 使用 groupingBy 分组时,默认结果 Map 的键顺序不能作为业务依据。通过 groupingBy 的 mapFactory 传入 LinkedHashMap::new,可以让分组键按首次出现顺序迭代,同时在有序输入和 toList 下保留每组元素顺序。本文还说明并行流、TreeMap 与排序的选择边界。498 收藏 -
Go test 中 -count=1 会绕过成功测试缓存并实际执行一次;-count=0 则把普通测试、基准和 fuzz seed 的运行次数设为零,不能用来验证测试逻辑。本文对比两者与 (cached)、测试二进制、Examples 和 CI 排查的关系。498 收藏 -
更换 embedding 模型时,先读取新旧模型的真实向量维度,再用模型版本、维度和距离度量建立双索引迁移边界,最后通过小批量回填验证后切换查询路由。498 收藏 -
Go slog.HandlerOptions.Level 是日志最低级别门槛。本文用 TextHandler 和 JSONHandler 说明如何过滤 Debug,如何用 LevelVar 动态打开调试日志,并排查默认 logger、独立 logger 与性能开关不生效的问题。498 收藏