Go语言技术文章
-
遇到 concurrent map writes 不要只给 map 加锁了事。本文从最小复现开始,用 -race 报告定位共享访问,再按互斥、单所有者和 sync.Map 的边界完成修复。496 收藏 -
用一个可运行的 CSS 示例解释 backdrop-filter 的透明背景、滤镜叠加和 backdrop root 边界,并给出兼容回退检查。496 收藏 -
Golang · Go问答 | 3星期前 | golang · HTTP · Context · net/http · Go问答 · Http请求 net/http context header Go问答 Request.Clone
net/http.Request.Clone 会复制请求的大部分结构和 Header,但不会复制 Body 的底层读取位置。本文用重试与多下游请求场景拆开 Body、Header、URL 和 Context 的独立性边界。496 收藏 -
Go 程序明明调用了 Write,退出后日志文件却少了最后几行,常见原因不是字符串没生成,而是 bufio.Writer 仍留在用户态缓冲区,或 Flush、Close 的错误没有被检查。本文用一个退出前丢日志的场景,拆开缓冲写入、defer 执行时机、Flush 与 Sync 的边界,并给出可复测的收尾写法。496 收藏 -
解释 Java record 作为 HashMap 键时查询失败的原因,覆盖 equals、hashCode、一致性约束、可变字段与嵌套对象的排查方法。496 收藏 -
从 fatal error: concurrent map read and map write 的现场出发,演示如何用竞态检测确认问题,再比较读写锁、单 goroutine 所有权和分片 map 的适用边界。496 收藏 -
从评测样本、提示词模板和模型输出三层排查评测集污染,给出变量隔离、快照留存与回归验收方法。496 收藏 -
用 journalctl 的服务、时间和优先级参数组合过滤 systemd 日志,整理出适合故障排查、实时跟踪和复杂字段匹配的命令清单。495 收藏 -
Go unsafe.Slice 的长度参数是元素数,不是 C 缓冲区字节数。本文用 cgo 示例说明如何校验指针、换算长度、维持 C 内存生命周期,并避开布局和 Go 指针陷阱。495 收藏 -
dataclasses.field 的 default_factory 接收的是零参数可调用对象,应该写成 list,而不是已经创建好的 []。本文对比三种写法,解释报错位置,并用两个实例的内容和身份检查确认列表隔离。495 收藏 -
errors.Join 返回的是可遍历的错误树,业务判断应直接使用 errors.Is;需要展示全部原因时再读取 Unwrap() []error,不能依赖字符串拆分或 errors.Unwrap。495 收藏 -
subprocess.run 的 timeout 只解决等待问题。本文用 Popen、独立进程组和 communicate,说明 POSIX 与 Windows 如何在超时后终止子进程树并回收输出。495 收藏 -
科技周边 · 业界新闻 | 1星期前 | 权限控制 · gitHub actions · 业界新闻 · AI工程 · 安全输出 GitHub Actions 权限边界 GitHub Agentic Workflows gh-aw
GitHub Agentic Workflows 进入团队后,最重要的不是让代理获得更多写权限,而是把只读推理、安全输出和人工审批拆成不同边界。本文给出最小权限配置、safe-outputs 用法和上线检查清单。495 收藏 -
讲清 Go json.Decoder 读取连续 JSON 值时如何区分正常 EOF、记录中途截断、语法错误和类型错误,并用 InputOffset 记录可恢复的失败位置。495 收藏 -
PHP yield 通过暂停并恢复生成器,按需交出当前数据,避免在处理开始前构造完整数组。本文解释内存差异、逐条读取写法、资源清理和不能随机访问的边界。495 收藏