Go语言技术文章
-
用 http.NewServeMux 创建独立路由表,注册固定路径和 Go 1.22+ 方法模式,再把 mux 显式交给 http.Server,避免测试或多服务场景误用全局 DefaultServeMux。175 收藏 -
Go x/net/html.Tokenizer 的 Token 会把实体、标签名和属性转成结构化数据,因此不能当作原始 HTML 的无损副本。本文用 Raw、Token 和低级 API 对比保留边界,给出按 token 复制原始字节的写法。175 收藏 -
errors.Join合并错误后,应通过errors.Is匹配目标哨兵。本文用完整清单检查示例演示保留%w包装、合并独立问题和同时提示多个类别,并解释同文案错误、nil、Unwrap与As的边界。175 收藏 -
MySQL 容量盘点不能只看一个总数。本文用 INFORMATION_SCHEMA.TABLES 区分 DATA_LENGTH、INDEX_LENGTH 与 DATA_FREE,给出按库汇总的查询,并解释 InnoDB、分区表和磁盘文件统计之间的边界。175 收藏 -
Java Map.copyOf 可以把现有 Map 固定为拒绝 null、不能修改且不随源 Map 后续变化的不可变映射快照。本文对比只读视图,说明 null、浅复制和迭代顺序边界,并给出迁移取舍。175 收藏 -
Go encoding/binary.Decode 适合把固定布局的字节切片按 LittleEndian 或 BigEndian 解析到结构体。本文说明字段限制、返回字节数、缓冲区不足,以及 Decode、Read、Encode 的选择。175 收藏 -
plugin.Open 返回不兼容错误时,先检查应用和插件是否使用相同的 Go 工具链、构建标签、环境变量与共享依赖源码,再决定是否重新统一构建或改用 IPC。175 收藏 -
文章 · 前端 | 4星期前 | javascript · JavaScript Fetch AbortController 取消请求 AbortSignal.any AbortSignal.timeout
AbortSignal.any 可把用户取消、页面离开和超时合并为一个信号,任一来源中止时立即停止 fetch。本文说明首个 reason、已中止输入、错误分类、监听器清理和兼容边界。174 收藏 -
本文解释 Go 删除切片元素后大对象仍可能被底层数组尾部指针保持可达的原因,对比手动 clear 与 Go 1.22+ slices.Delete,并说明别名切片、GC 时机、堆复用和 RSS 判断边界。174 收藏 -
Go fuzz 发现失败输入后,真正应该提交到仓库的是 testdata/fuzz/FuzzXxx 下的 seed corpus。本文用一个可复用的流程说明如何重放、修复并让普通 go test 长期回归,同时区分 GOCACHE/fuzz 中的生成缓存。174 收藏 -
go test 显示 cached 却没有感知输入文件变化,通常是依赖没有进入测试缓存键。本文说明模块内文件、外部输入和环境变量的处理方法,并给出诊断与 CI 落地方案。174 收藏 -
多个 Go 实例首次启动时,如果只使用 O_CREATE 或先检查再创建,同一路径可能被重复打开并发生覆盖。本文用 O_CREATE|O_EXCL 把“谁能创建”变成一次性判断,并说明 os.ErrExist、写入失败清理和实现边界。174 收藏 -
Go tcell 绘制中文、全角符号或 emoji 时,不能按 rune 数量固定让列坐标加一。本文从覆盖现象出发,说明 Put 返回的显示宽度、右边界判断和宽字符占两格的绘制方式。174 收藏 -
用 Go Goldmark 的 ast.Walk 遍历 Markdown AST,提取 Heading 层级和纯文本,生成可用于目录、侧栏和锚点的结构。174 收藏 -
从文件职责、配置来源和参数命名区分LoRA适配器与基础模型,说明单适配器合并的适用范围、独立输出目录及回滚材料,避免把适配器误当完整模型交付。174 收藏