Go语言技术文章
-
Go 可以用带容量的 channel 保存令牌限制同时执行的任务数,并通过 context 取消等待、defer 归还令牌,避免并发失控或槽位泄漏。111 收藏 -
用 ValueSource、CsvSource 和 MethodSource 组织 JUnit 5 参数化测试输入,覆盖单值、表格与动态对象场景。110 收藏 -
Linux perf stat 适合先用 cycles、instructions、分支和缓存指标建立 CPU 性能基线。本文说明怎样选择第一组事件、理解 IPC 与 cache-misses、识别事件不可用和计数器复用,并用重复测量把指标连接到下一步排查动作。110 收藏 -
Redis Stream 的 XTRIM MINID 会删除低于指定 ID 的历史条目,适合按时间近似控制保留窗口;MAXLEN 则按数量裁剪。本文用命令、边界表和复查方法说明精确与近似裁剪的取舍。110 收藏 -
说明 MySQL NDB 仲裁节点在网络分区中的裁决边界,解释 ArbitrationRank、Arbitration 与 ndbinfo 状态表的配合排查方法。109 收藏 -
Go 中无缓冲结果 channel 如果没有接收方,发送 goroutine 会一直等待。本文用一个具体的结果返回场景说明提前返回为何造成泄漏,并给出取消发送、容量为一的缓冲和通道所有权边界的处理方式。108 收藏 -
Redis BLMOVE 在源列表暂时没有元素时会阻塞,timeout 到期返回 nil 或 null,表示本次移动没有完成。本文说明如何用 EXISTS、TYPE、LLEN 观察源键,并处理补查时的并发竞态。108 收藏 -
CNCF 公告披露 OVHcloud 升级为白金会员,并提到 Harbor Kubernetes Operator、Kubernetes AI Conformance 与跨区域 Cilium 生产集群。本文把这些事实拆成治理、上游贡献、AI 一致性和网络运营四类信号,帮助平台团队判断哪些内容值得转成工程行动。108 收藏 -
Redis 布隆过滤器的 capacity 是初始子过滤器容量,超过后默认会创建新的子过滤器;每个子过滤器都有自己的位数组和哈希函数,因此 SIZE 与 FILTERS 会随扩容增加。本文用 BF.RESERVE、BF.INFO 和参数取舍说明如何定位增长原因。107 收藏 -
Go text/template 自定义函数时,关键是先用 Funcs 注册,再让函数返回值或值加 error。本文用一个带业务校验的示例说明 Parse、Execute、errors.As 和部分输出边界。105 收藏 -
用 Go 的 signal.NotifyContext 把中断和终止信号接到根 context,统一驱动服务退出;本文说明 ctx.Done、defer stop、context.Cause 以及 SIGTERM、os.Kill 的边界。105 收藏 -
Go big.Rat 从字符串解析并保留精确计算值,用 RatString 无损保存、SetString 恢复;本文给出完整示例,说明格式限制、显示舍入与对象副本边界。105 收藏 -
GitHub Copilot 客户端遥测新增用户归属与细粒度采集控制,身份捕获与五类内容捕获相互独立且默认关闭;本文梳理三个身份属性、五类内容边界和托管设置优先级。104 收藏 -
Go toolchain 自动下载失败时,可以根据项目是否允许升级,选择 GOTOOLCHAIN=local 或 go1.x.y+path 固定本地工具链,并检查 go.mod、go.work 与 PATH 中的版本关系。103 收藏 -
Symfony Finder 可以把 files、name、path、exclude 和 notPath 组合成一组可读的筛选规则。本文用一个 PHP 示例说明文件名与目录过滤如何叠加,以及如何记录扫描范围和结果边界。102 收藏