Go语言技术文章
-
io.Pipe 没有内部缓冲,它用同步的 PipeReader 和 PipeWriter 把生产者与消费者接起来。本文用一个流式导出示例说明 Write 为什么会阻塞、CloseWithError 如何传递失败,以及怎样避免 goroutine 泄漏。403 收藏 -
文章 · 前端 | 6天前 | html · javascript · 前端组件 · Web Components customElements.whenDefined CustomElementRegistry
页面先出现自定义元素、组件脚本随后加载时,customElements.whenDefined() 可以把初始化放到注册完成之后。本文用一个延迟注册的组件拆开升级时机、重复注册和加载失败边界。404 收藏 -
用 iostat -x 的 await、aqu-sz 和 %util 组合判断 Linux 磁盘是延迟高、队列堆积,还是并行设备利用率接近上限,并给出可复查的采样方法。482 收藏 -
io.NewSectionReader 适合从一个可随机读取的数据源中切出固定区间。本文用 bytes.Reader 演示 Offset、Read、ReadAt、Seek 与越界 EOF 的实际边界,避免把局部读取误写成全量读取。439 收藏 -
Golang · Go教程 | 6天前 | 标准库 · 性能 · 迭代器 · 字符串处理 · Go教程 · Go Go 1.24 iter.Seq strings.SplitAfterSeq 字符串分段
strings.SplitAfterSeq 从 Go 1.24 开始返回单次使用的 iter.Seq[string],按分隔符产出保留分隔符的字符串片段。本文用一个可运行的小实验说明如何消费它、如何提前停止,以及空分隔符和无匹配时该如何验收。141 收藏 -
文章 · python教程 | 6天前 | 文件读写 · 数据库 · sqlite3 · Blob · Python教程 · Python 事务 blob sqlite3 blobopen zeroblob
Python 的 sqlite3.Connection.blobopen 可以像文件一样分块读写已有 BLOB,但它不能改变长度,写入前要用 zeroblob 预留空间,并把 Blob 生命周期、事务提交和异常回滚分开处理。366 收藏 -
regexp.ReplaceAllString 会把替换字符串里的 $1 当成子匹配引用;需要保留字面量时,应根据输入来源选择 ReplaceAllLiteralString 或 ReplaceAllStringFunc。205 收藏 -
Java DateTimeFormatter 的格式化结果可能随默认 Locale 改变。本文用固定模式、Locale.ROOT 和本地化样式对照,说明如何稳定生成接口、日志和用户界面的日期文本。252 收藏 -
文章 · php教程 | 6天前 | 错误处理 · HTTP · PHP · 接口调用 · stream context · php Http请求 重定向 超时 stream_context_create
用 PHP stream_context_create 为 HTTP 请求设置超时、重定向上限和失败响应读取规则,再通过响应头与状态码完成可复现验收。427 收藏 -
Go 1.24 引入的 os.Root 能把文件操作限制在指定目录内,但它不是忽略符号链接的黑盒。本文用 OpenRoot、Root.Open 与 Root.FS 拆解路径越界、目录链接和 DirFS 的边界。280 收藏 -
Go 1.24 引入的 runtime.AddCleanup 适合为包装资源安排兜底清理,但回调不是确定时钟,也不能替代显式 Close。本文用文件句柄包装场景说明 AddCleanup、KeepAlive 和 Cleanup.Stop 的真实边界。467 收藏 -
用 httptrace.ClientTrace 的 GotConnInfo 判断 Go HTTP 请求拿到的是新连接还是曾经使用过的连接,并区分 WasIdle、IdleTime 与请求体关闭时机。501 收藏 -
科技周边 · 业界新闻 | 6天前 | gitHub actions · 持续集成 · 软件供应链 · 安全实践 · 供应链安全 GitHub Actions 构建产物 artifact attestations
GitHub Actions 的 artifact attestations 可以为二进制文件和容器镜像建立可验证的构建来源。本文结合 actions/attest 与 gh attestation verify,拆解权限、摘要、验证和撤销边界,给出一条能落地的最小链路。298 收藏 -
Go 的 maphash.Bytes 适合把字节序列映射为进程内的 uint64 分桶值,但它不是加密摘要,也不能替代原文相等判断。本文用短键索引场景说明 MakeSeed、相同 Seed、不同数据结构实例和碰撞复核之间的边界。450 收藏 -
Go 的 net/url.URL.Redacted 会像 URL.String 一样重组地址,但只把 User 中的密码替换成 xxxxx。本文用可运行示例拆开 String、Redacted、Password 的边界,避免把脱敏字符串误当作请求地址或以为查询参数也会自动隐藏。492 收藏