Go语言技术文章
-
multiprocessing 处理大对象变慢,瓶颈常在 pickle 序列化、管道传输、反序列化和内存复制,而非计算本身。本文给出量化方法,并用小任务描述符、批量分块和 SharedMemory 改写数据通道。478 收藏 -
Go 解析无时区字符串时相差八小时,通常是把 UTC 解析规则、目标 Location 和数值偏移混为一谈。本文用 Parse 与 ParseInLocation 对比说明“解释字符串”和“In 转换显示”的差别,并给出 RFC3339、数据库及比较时间的稳妥写法。368 收藏 -
从停顿、吞吐和进程内存余量三个维度比较 G1 与 ZGC,给出 Xmx 估算、统一压测参数、GC 日志指标和灰度回退清单。446 收藏 -
Go 中的自然日应按目标时区的日历边界计算:先把锚点时刻转换到 Location,构造当地零点,再用 AddDate 得到下一日零点。本文解释为什么不能固定加 24 小时,并给出半开区间、UTC 查询与夏令时测试写法。260 收藏 -
Composer 依赖冲突的核心是多个版本约束没有共同候选。先用 prohibits/why-not 还原阻塞路径,区分普通包与 PHP、扩展等平台依赖,再通过局部 update、-W、--minimal-changes 与 dry-run 控制最小调整面。341 收藏 -
WalkDir 的错误处理关键不在于一律忽略,而在于区分错误范围与结果完整性,再选择返回错误、继续遍历、跳过目录或停止全局遍历。455 收藏 -
Gemma 4 12B Unified 将文本、图像与音频能力压入面向笔记本的中型模型,并配合量化、本地服务接口和函数调用降低端侧智能体门槛。本文分析其行业信号、受益场景、风险与可量化的采用路径。182 收藏 -
Go 遍历目录树时,可在 filepath.WalkDir 回调中识别 fs.ErrPermission:对子目录返回 fs.SkipDir 继续扫描其他分支,根目录不可访问则直接失败;常规文件再用 os.Open 做本次可读性确认,并汇总数量、字节数和有限错误样本。325 收藏 -
智能体一次任务答对,不代表执行过程可靠。本文用一个可落地的评测表,把最终结果、工具轨迹、成本、延迟和失败恢复拆开衡量,并给出规则评分与版本对比方法。290 收藏 -
os.DirFS 接收的是 io/fs 逻辑路径,不是任意操作系统路径,因此会拒绝 ..、绝对路径和空路径段。但这只阻止调用参数直接上跳,不能防住目录内符号链接逃逸,也不能消除相对根目录受 Chdir 影响的问题。本文说明校验方法与 os.Root.FS 的适用边界。214 收藏 -
Go 更新配置文件时不要直接截断正式文件。把临时文件放在同一目录,完整写入并同步关闭后,再用 os.Rename 一次性切换,才能降低半文件和并发读取风险。225 收藏 -
从写拆分、读复制和应用本地缓存三个方向缓解 Redis 热点 Key,说明槽位分散、缓存失效、一致性代价以及上线检查方法。397 收藏 -
解释 Go 文件原子替换为什么仍会在异常重启后丢失,并给出文件 Sync、Rename 与父目录 Sync 的完整耐久写入顺序和可复用代码。423 收藏 -
用 GTID 集合、复制线程和写保护检查 MySQL 主从切换条件,说明候选副本提升、旧主库回挂以及新写入后的安全回退边界。153 收藏 -
Go 的 fs.FS 可以让配置、模板和静态资源读取逻辑脱离具体存储位置。本文用同一个 LoadConfig 函数接入 os.DirFS 与 embed.FS,说明 fs.Sub、路径规则、安全边界和 MapFS 测试方法。311 收藏