Go语言技术文章
-
Java 虚拟线程不会自动停止超时任务。本文用 Future.get 超时、cancel(true)、中断响应和 finally 清理串起一条可取消链路,并区分等待超时、任务取消、外部中断和任务异常。434 收藏 -
Go strings.Builder 看起来不生效,通常不是 WriteString 失效,而是忘了调用 String、用值接收者复制了非零 Builder、Reset 后又读取空结果,或把 Builder 在多个 goroutine 间共享。本文按现象拆开排查并给出稳妥写法。433 收藏 -
Go io.ReadFull 用 n 和 err 表示固定长度读取是否完成:空读到 EOF、部分读取到 ErrUnexpectedEOF,以及底层读取错误需要分开处理。本文给出稳定的判别代码和协议头读取边界。432 收藏 -
围绕 Go slices.Collect 讲清 iter.Seq 到 []E 的收集方式、空输入的 nil 结果、浅拷贝边界和错误保留方案。432 收藏 -
mime.WordDecoder 遇到非内置字符集时,关键不是重写邮件头解析,而是让 CharsetReader 把指定字符集的字节 Reader 转成 UTF-8。本文从故障表现、回调输入到 Windows-1252 接入,说明 DecodeHeader 的错误边界与回归检查点。432 收藏 -
介绍 Python memoryview.cast 如何在不复制底层缓冲区的前提下切换元素格式和二维形状,解释字节长度、原生格式、连续性与 release() 的边界,并说明何时应该改用 struct 做显式协议解析。430 收藏 -
Go unicode.ToTitle 接收一个 rune 并返回对应的 Unicode 标题大小写形式。本文从 ToUpper、ToLower 的差异讲到 UTF-8 字节与 rune 的边界,给出可复用的逐 rune 转换写法。430 收藏 -
按 QueryContext、Next、Scan、Err 和 Close 定位 sql.Rows 使用问题,说明空结果、NULL 扫描、提前停止及连接池生命周期,并给出完整消费函数。429 收藏 -
用一个 scikit-learn 分类小项目说明 MLflow 如何通过 input_example 自动记录模型签名,并从输入输出 schema 排查列名、类型和必填字段不匹配。428 收藏 -
Go maps.Keys 返回无序键迭代器,结合 slices.Sorted 生成独立有序切片,再按键读取值。示例说明空映射、后续修改和业务比较规则。427 收藏 -
Java 26 API 可按模块、包、类型逐层定位。文章以 Map、String 和 Connection 为例,说明完整类型名、模块导出与包名的区别,并提供不连接数据库的模块引用练习。427 收藏 -
path.Match 不会打开或释放资源,它适合把资源名称筛成可疑集合。本文说明怎样设计 name 和 pattern,区分 matched=false 与 path.ErrBadPattern,再把命中结果交回文件、连接或任务的生命周期检查。426 收藏 -
PyTorch torch.compile 遇到 graph break 时,先用 eager 基线确认问题,再通过 TORCH_LOGS=graph_breaks 和 torch._dynamo.explain 读取位置、原因与断点数量,最后根据代码错误、暂不支持行为或函数隔离选择修复方向。426 收藏 -
模型服务的延迟与成本不能只靠接口总耗时和节点资源解释。本文以 OpenTelemetry 的可关联遥测思路为参考,说明如何用 trace 拆分模型延迟,用模型、token 与价格快照估算成本,并给出迁移后的回归检查与隐私边界。426 收藏 -
Go 的 net.IPMask.Size 返回前导 1 的数量和掩码总位数。本文用 IPv4、IPv6、/0 与非连续掩码对照,说明怎样准确判断连续 CIDR 前缀,避免把合法零前缀误判为错误。424 收藏