Go语言技术文章
-
ReadableStream 停止读取时,reader.cancel() 和 AbortController.abort() 负责的范围不同。本文用一个可复用的 fetch 流读取结构说明如何取消请求、处理 AbortError 并在 finally 中释放 reader 锁。203 收藏 -
Cargo 项目发现构建时间或产物体积异常时,可用 cargo tree --duplicates 只查看多版本依赖,再按工作区、包和依赖类型缩小范围,沿反向依赖路径找到带入旧版本的上游 crate。202 收藏 -
家具制造企业核对板材环保检测报告时,不能只看“合格”二字,应把样品规格、检测标准、项目结果、机构资质和来料批次逐项对应,形成可追溯的验收记录。202 收藏 -
Java StringUtils.defaultIfBlank 会把 null、空串和仅空白视为需要回退;defaultIfEmpty 只处理 null 与空串。本文用边界表、代码和迁移清单说明如何选择。201 收藏 -
systemd 的 RestartForceExitStatus 可以把指定退出码、退出状态名或信号名纳入强制重启判断。本文用一个退出码 42 的服务单元说明配置写法、主进程范围、oneshot 边界与排查路径。199 收藏 -
启动脚本不必总等到整个 udev 队列清空。本文说明 udevadm settle 的 --exit-if-exists 如何以设备文件作为提前结束条件,并给出超时、返回码和迁移检查方法。197 收藏 -
返修设备不要只记在备注里:先从原销售单的交付记录发起退回,再创建维修单绑定客户、产品和序列号,在 Parts 中登记实际用料,完工后通过 Product Moves 查看库存移动历史。197 收藏 -
前端 source map 不只是调试开关,也决定了浏览器能看到多少源码信息。本文从 sourceMappingURL、sourcesContent 和生产构建策略入手,说明如何把调试地图留在受控错误上报链路中。194 收藏 -
Linux 定时任务不只是表达式选择:本文从日志、服务依赖、错过执行、失败处理和任务重叠几个边界比较 cron 与 systemd timer,并给出两套最小配置。192 收藏 -
XState 父状态机向子 actor 发事件时,关键是区分 actor logic、invoke id 和 actor ref。本文用 XState v5 示例说明 sendTo 的固定 ID 写法、spawn 动态引用和事件未处理时的三层排查方法。191 收藏 -
TreeSet 不是用 equals 直接判断重复,而是沿着 compareTo 或 Comparator.compare 的结果定位元素。本文用一个只比较年龄的场景解释 compare 返回 0 为什么会让第二个对象无法加入,并给出主键加唯一标识的稳定改法与迁移检查清单。190 收藏 -
用 btop 的内存排序、过滤、暂停和详情面板定位 Linux 内存占用异常进程,再用 ps 与 /proc 做第二次确认,避免只凭一帧数据误判。190 收藏 -
Symfony Process 的总超时限制进程累计运行时间,空闲超时限制距上次输出的连续沉默时间。本文用配置示例和输出边界说明两者如何组合。188 收藏 -
PHP iconv_mime_encode 的 Q 和 B 都用于生成 MIME 头字段,但适用的内容结构不同。本文从中文、ASCII 混合文本、字符集和折行参数出发,给出可执行的选择规则与对比示例。186 收藏 -
D3 data join 默认按位置匹配,列表重排后容易让 DOM 节点状态跟错对象。本文用稳定且唯一的 id 作为 key,说明 update、enter、exit 的对应关系,以及排序、重复 key 和 DOM 顺序的边界。185 收藏