Go语言技术文章
-
在 Linux cgroup v2 中,把目标 PID 逐个写入非根 cgroup 的 cgroup.procs,再向 cgroup.freeze 写入 1 或 0,即可冻结或恢复整棵子树。本文重点说明如何用 cgroup.events 的 frozen 字段确认异步操作完成,并处理权限、祖先冻结与迁移边界。467 收藏 -
永雏小菲语音盒的公开资料页列出悬浮窗、快捷触发和多场景播放描述,本文按公开页面核对入口、系统权限与使用边界。467 收藏 -
magisk 的可信入口是 topjohnwu/Magisk 官方仓库,官方开发文档进一步列出支持平台、Python、Git、Android Studio、ANDROID_HOME、JDK 和 build.py 构建入口。本文只整理开发者阅读与环境核对方法,并说明 debug 构建和签名校验的边界。467 收藏 -
Go unique 负责规范化可比较值,不提供 TTL、容量限制、手工失效、加载错误或命中统计。本文用服务配置场景拆分句柄层与缓存层,说明哪些需求必须继续使用业务缓存。467 收藏 -
encoding/json/v2 默认拒绝 JSON 对象中的重复成员名,因为不同实现可能对重复值采用不同合并规则。本文对比 v1 与 v2 的语义,演示 AllowDuplicateNames 的兼容边界,并给出上游修复与局部适配方案。467 收藏 -
Golang · Go教程 | 1星期前 | web安全 · Go教程 · net/http · CSRF防护 Go CrossOriginProtection AddTrustedOrigin 可信子域 跨源写请求
以控制台和 API 分处不同子域的场景,讲清 Go CrossOriginProtection 的精确 Origin 放行、启动校验、拒绝日志、CORS 边界与回归测试。467 收藏 -
基于 Go 1.23 的 iter.Seq2 实现通用 Filter2 与 Map2,组合 maps.All 和 maps.Collect 处理键值对,并说明 yield 提前停止、遍历顺序、可比较键与键冲突等工程边界。467 收藏 -
Excelize 的 StreamWriter 写完行并不等于工作表流已经结束。本文把 SetRow、Flush 和 SaveAs 放在同一条边界线上解释,说明为什么 Flush 必须位于每个工作表的流式写入末尾,以及 AddTable、递增行号、普通模式混用和大数据量临时文件等容易混淆的地方。467 收藏 -
Go 反射设置结构体字段时,关键不是直接调用 Set,而是先取得可寻址值,再判断字段存在性、CanSet 和类型可赋值性。本文用一个小型安全写入函数说明可导出字段的正确处理方式。467 收藏 -
Go 的 time.LoadLocation 找不到 IANA 时区数据时,不应静默继续。本文说明时区数据来源、容器部署处理,以及 UTC、固定偏移和直接失败三种明确降级策略。467 收藏 -
bufio.Reader.Peek 返回长度不足时,不能只看切片长度或直接索引请求位置。本文区分 ErrBufferFull、EOF 和底层错误,说明 Peek 不推进读取位置的边界,并给出复制预览结果、再用 io.ReadFull 消费固定长度的处理方式。467 收藏 -
用 lsblk 固定 JSON 输出列,理解 blockdevices、children 和 PKNAME 的设备层级关系,并处理 null、空数组与脚本化边界。467 收藏 -
用 navigator.locks.query() 读取 Web Locks 的 held 与 pending 快照,理解 name、mode、clientId,并处理安全上下文和异常边界。467 收藏 -
Go 泛型函数直接调用时通常可以省略类型参数,但一旦作为回调赋值、传参或返回值,类型推断依赖目标函数签名。本文用最小代码说明推断成功与失败的边界,并给出稳妥的显式实例化写法。466 收藏 -
ORDER BY 配合 CASE WHEN 可实现分组后按业务逻辑的自定义顺序排序,需将状态映射为数值权重以避免字典序错误;MySQL 可用 FIELD() 简化,但不兼容其他数据库;动态场景应使用带索引的映射表 JOIN 排序。ORDER BY 配合 CASE WHEN 实现分组后的自定义顺序 分466 收藏