Go语言技术文章
-
用 Go 的 filepath.Clean、Join 和 Rel 处理用户提供的相对路径,说明 Clean 只能做词法归一化,并给出安全根目录边界判断的完整写法。393 收藏 -
MySQL 按日期计算累计值时,默认 RANGE 会把同一天的记录视为同一组;需要逐行累计时使用 ROWS,并补充稳定排序键。本文用同一组数据对比 ROWS、RANGE 和日期区间窗口的适用边界。393 收藏 -
Python configparser 默认启用 BasicInterpolation,配置值中的单个百分号可能被当成插值语法。本文说明为什么要写成 %%、如何使用 %(name)s 引用配置、怎样用 raw=True 读取原文,以及什么时候应该关闭 interpolation。393 收藏 -
Go -race 只能发现运行时真正触发的竞态,而且典型开销明显高于普通测试。本文把 CI 拆成快速层、并发重点层、全量竞态层和长链路层,说明如何配置 -p、-parallel、GOMAXPROCS,并区分真实竞态与资源型失败。393 收藏 -
Redis Sentinel认证需区分数据连接、复制、监控和发现入口,本文用配置对应表说明凭据一致性、角色切换准备和错误定位,避免只改一个密码造成连接中断。393 收藏 -
Go 的 iter.Seq 用 yield 回调交付序列元素,以布尔返回值约定是否继续。本文通过只取前三个编号的示例,说明按需生成、提前停止、资源清理与重复遍历的职责,并区分惰性、缓存和并发。393 收藏 -
Go httptrace.WroteRequest 回调中的 Err 只描述请求写入阶段,不能单独证明服务端是否收到或处理了请求。本文用阶段化 trace、主流程错误和幂等重试边界,说明如何判断请求状态。393 收藏 -
Go strings.IndexFunc 接收一个 rune 判断函数,返回第一个满足规则的 Unicode 字符在原字符串中的字节偏移;没有匹配时返回 -1。本文用 Unicode 字符属性和自定义规则说明最小写法、字节边界及未命中处理。393 收藏 -
Go io.Copy 返回的写入长度与源文件大小不一致时,问题通常出在 Reader 范围、读取游标、目标文件尾部或字节与字符的单位差异。本文给出一套可执行的排查顺序,并说明已知长度时如何使用 io.CopyN。393 收藏 -
Redis SINTERCARD 用于只返回多个集合的交集基数,本文说明 numkeys、LIMIT、空集合、缺失键和 WRONGTYPE 边界,并给出适合阈值判断与精确计数的最小写法。393 收藏 -
Go 1.27 支持在方法声明中使用类型参数。本文从接收者、调用推导和接口限制三个边界说明 generic method 怎样复用类型参数,并给出适合工程代码的设计方式。393 收藏 -
用 Go 的 text/scanner.Scanner 从 UTF-8 文本中逐个读取词元,掌握 TokenText、Position、Pos、Mode、Whitespace 和错误回调的边界,适合配置文件、轻量 DSL 与源码片段的词法扫描。393 收藏 -
Go 1.22 起,ServeMux 可以在路由模式中声明路径通配符,再用 Request.PathValue 读取变量。本文用最小示例说明单段、多段路径变量和空值边界。393 收藏 -
View Transition API 已经不只服务 SPA。本文用两个同源页面演示跨文档过渡,拆开 @view-transition、view-transition-name、pageswap/pagereveal 与不支持浏览器的降级边界。392 收藏 -
MEGA官网入口为 mega.io,网页账号登录页面为 mega.nz/login,帮助中心为 help.mega.io。本文核对官网、登录和帮助入口,并说明如何辨别页面、下载应用和保护账号。392 收藏