Go语言技术文章
-
Go html/template 复用页头、页脚和基础布局,关键是拆分 layout、partial、page 三类模板,用 embed.FS 配合 template.ParseFS 解析,再通过 block 注入页面正文。193 收藏 -
Google I/O 2026 发布 Gemini API Managed Agents。本文解释隔离 Linux 环境、工具调用、交互状态和自定义 Agent 如何改变开发流程,并给出迁移前的四项检查点。193 收藏 -
PHP Fiber 挂起后,调用方可以用 Fiber::throw() 把异常注入当前 Fiber::suspend();本文用代码说明 Fiber 内部捕获、调用方兜底、状态判断和 getReturn() 的边界,并对比 Generator 的调用栈差异。193 收藏 -
Python re.finditer 默认只返回非重叠匹配。本文用 ababa 说明漏结果的原因,并给出正向先行断言和按起点扫描两种处理方式。193 收藏 -
Go 的 encoding/csv 将 FieldsPerRecord 设为负数后会允许记录拥有不同列数,但列数约束不会自动消失。本文用一段可复用代码把语法解析、业务列数校验和字段映射分开。193 收藏 -
Go 私有模块报错时,GOPRIVATE、GOPROXY、GONOPROXY 与 GONOSUMDB 解决的不是同一件事。本文从实际生效配置、报错位置和企业代理场景拆分排查路径。193 收藏 -
讲清 Python zipfile ZipFile.extractall 的危险路径检查:遍历 ZipInfo、拒绝绝对路径和 .. 组件,用 commonpath 验证目录边界,并补充 ZIP 炸弹的数量与大小限制。193 收藏 -
PHP CLI 通过 php://stdin 和 fgets() 逐行读取标准输入,本文说明如何区分空行与 EOF、选择 trim 或 rtrim,并覆盖管道、重定向和长行边界。193 收藏 -
PHP 8.5 支持在构造器属性提升中声明 final 属性,防止子类重新声明同名属性。本文用订单实体说明语法、继承边界、反射检查与 PHP 8.4 兼容策略。192 收藏 -
Redis EXPIRETIME 返回键的绝对过期 Unix 时间戳,适合核对 EXPIRE 与 PEXPIREAT 写入的最终时间。文章用 TTL、PEXPIRETIME 和服务器时间对照,排查秒毫秒混用、时钟偏差、无过期键和恢复后的判断错误。192 收藏 -
Go slog 的 AddSource 能把日志调用点写进 source 字段,排查并发服务时很有用,但每条日志都要承担调用点定位和格式化成本。本文用可验证的基准与生产开关说明它的代价、适用范围和安全切换方式。192 收藏 -
Go 的 O_APPEND 只把每次写入的起点交给内核保证,不等于整条日志天然不可交错,也不替日志轮转解决文件描述符和重命名边界。文章用可运行示例拆开偏移、并发写入和轮转后的处理方式。192 收藏 -
Redis ZSet 适合按时间分拣延迟任务,但先用 ZRANGEBYSCORE 读取、再用 ZREM 删除会留下并发抢占窗口。本文从两个 worker 同时取到同一 job_id 的现场出发,说明如何用 Lua 把筛选与删除放进一次原子操作,并保留重复执行与故障恢复边界。192 收藏 -
网卡丢包不能只看 ping。本文用 ethtool -S、ethtool -g 和 ip -s link 对照驱动统计、收发 ring 与内核计数,判断丢包发生在哪一层,并给出安全复测顺序。192 收藏 -
Go 1.27 调整了 //line 与 /*line*/ 指令中相对文件名的解析基准。本文用生成代码场景说明目录基准、绝对路径、诊断核对和发布前检查,避免错误定位把锅甩给业务代码。192 收藏