Go语言技术文章
-
Linux cgroups v2 中,MemoryHigh 用于让服务进入回收和限流状态,MemoryMax 用于设置硬内存上限。本文从 systemd 配置、cgroup 路径到 memory.events 读取,给出一套可复查的 OOM 定位方法。105 收藏 -
slices.Insert 批量插入是否复用底层数组,先看插入后的长度是否超过原切片容量,再结合尾部或中间插入位置判断移动成本。本文给出容量判断、别名边界与可复查验证代码。109 收藏 -
Python multiprocessing 使用 spawn 时,子进程会重新导入主模块。本文用入口保护、统一 context、Queue 传递和日志边界解决重复导入与重复输出问题。107 收藏 -
Go 拉取私有模块时,GOPROXY、GOPRIVATE、GONOPROXY 与 GONOSUMDB 的职责不同。本文按直连仓库和私有代理两种架构给出配置,并用回退规则定位 404、403 与 sumdb 校验错误。298 收藏 -
Java 模块反射报访问被拒绝时,先看调用是否需要深反射:exports 面向公开类型和成员,opens 面向运行时访问包内全部成员。本文用 module-info.java、--add-opens 和 Module API 给出排查与落地方法。100 收藏 -
Go 1.22 及以上的 slices.Delete 会清零删除后的尾部元素。本文用指针切片说明为什么必须接住返回值,以及旧写法、切片别名和 Clone 应该怎样处理。200 收藏 -
用 PHP 8 的 Attribute::TARGET_PROPERTY 标记字段,再通过 ReflectionClass 和 ReflectionProperty::getAttributes() 精确找到目标属性,最后读取参数或实例化自定义 Attribute。448 收藏 -
多模块 Go 仓库里,go test ./... 只覆盖当前模块并不一定是测试失效。本文从 go.work、use、replace 和模块边界入手,给出补齐工作区并逐模块测试的实用做法。481 收藏 -
Google Cloud Next 2026 将 Agentic Data Cloud 的重点放在跨云数据,本文拆解 Knowledge Catalog、Cross-cloud Lakehouse 与 Iceberg 互操作解决的实际问题,并给出小范围验证路径。166 收藏 -
Golang · Go教程 | 1个月前 | 定时任务 · Context · 并发编程 · Go教程 · select time.Ticker context取消 goroutine退出 Go ticker
Go 定时循环阻塞在 ticker.C 时,应该把 ctx.Done 与 ticker.C 放进同一个 select,并把 context 继续传给业务处理;退出路径里调用 ticker.Stop,再等待 worker 收尾。本文区分 Stop、Reset 和重新创建,避免 goroutine 泄漏与错误的通道判断。490 收藏 -
AI Embedding 批量请求变慢时,先把客户端准备、网络往返、服务端排队和模型计算拆开记录,再用固定文本与批次对照区分瓶颈;同时核对输出维度和向量库 schema,避免把维度不一致误判成网络问题。264 收藏 -
go work sync 会把工作区的构建列表同步回 use 指定的各个模块,因此 go.mod 可能新增间接依赖或升级版本。本文给出确认工作区、区分单模块依赖、整理 go.mod 的实用步骤。478 收藏 -
Go 定时刷新配置时不要在每次配置变化里 NewTicker;让一个控制协程拥有 ticker,周期变化调用 Reset,退出时统一 Stop。161 收藏 -
Go workspace 中 replace 能让多模块联调通过,但单模块构建仍可能因 GOWORK、require、module 路径和本地目录边界失败。本文给出分层排查与独立构建检查方法。245 收藏 -
用 Redis Lua 脚本把库存校验与扣减放进一次 EVAL,讲清 KEYS、ARGV、返回值和集群键名的使用边界。114 收藏