Go语言技术文章
-
Google 开源周报把 MCP Dev Summit Toronto 的关注点落到 A2A 与 MCP 协同编排,官方议程则进一步覆盖协议底座、企业注册表、远程托管、生产集成和安全治理。本文按时间线和威胁模型拆解这次议题变化。273 收藏 -
reflect.TypeFor 读取的是泛型参数代表的静态类型,reflect.TypeOf 读取的是值装入接口后的动态类型。本文用接口、指针接口和 Elem 的对照说明两者的差异与选择方法。311 收藏 -
Go 包迁移时,type A = B 只增加一个兼容名称,不会创建新类型,因此 reflect.Type 的 Name 和 PkgPath 仍然对应原定义类型。本文用一个小项目区分类型别名与类型定义,并给出以 reflect.Type 身份比较替代字符串判断的兼容方案。444 收藏 -
vLLM 连续批处理并不是并发越高越快。本文从模型权重、KV Cache、序列数和批次 token 预算出发,给出显存与吞吐的调参顺序、压测方法和生产降级路径。209 收藏 -
go build -trimpath 会移除可执行文件中的本机文件系统路径,但不会自动删除调试符号。本文用最小示例拆解它对堆栈、源码导航、CI 可复现构建和生产发布的影响,并给出按场景选择构建参数的方法。224 收藏 -
Go 1.22 提供的 reflect.TypeFor[T] 可以直接取得类型参数 T 的反射类型。本文对比 reflect.TypeOf 的零值写法、指针 Elem 写法与 TypeFor 的迁移边界,说明哪些代码更清晰,哪些场景仍然必须保留动态反射。182 收藏 -
Redis Cluster 迁移 hash slot 时,客户端不能把 ASK 和 MOVED 当成同一种重试信号。本文从 MIGRATING、IMPORTING 状态切入,说明 ASK 只重试当前命令、MOVED 才更新槽位映射,并给出带重试上限、多键约束和幂等性边界的客户端设计方法。481 收藏 -
MySQL 直方图不会因为每次写入自动按固定周期刷新。本文用 COLUMN_STATISTICS 判断数据漂移,比较手动刷新与 AUTO UPDATE,并给出采样率、执行计划和回滚检查清单。222 收藏 -
接口断言成功只说明当前动态类型满足目标类型,不能证明 type switch 已覆盖全部输入。本文用 Go 示例定位遗漏 case,并补上 default 兜底和表格测试。149 收藏 -
Go 1.22 起可以用 reflect.TypeFor[T]() 直接取得泛型参数的 reflect.Type。本文从 TypeOf 的旧写法切入,说明接口、指针、切片和结构体元数据的读取方式,并给出泛型元数据缓存与静态类型边界的实用写法。196 收藏 -
提供午夜蓝鲸尾与深海微光主题的原创手机壁纸提示词,包含中文、英文、锁屏留白、色彩光线调整方法,以及一张侧向洋流构图变体。220 收藏 -
物流仓库接收危险货物时,不能只看送货单和件数。本文按到货准备、资料核对、车辆与包装检查、实际数量确认、分区存放和异常隔离拆解一套通用核验步骤,并说明危险货物与危险化学品规则的适用边界。224 收藏 -
systemd 的 OnCalendar 默认会结合当前时区解释日历表达式。本文用显式 IANA 时区、匹配的 service/timer 单元和 systemd-analyze calendar,解决跨时区部署与夏令时切换时的定时任务漂移问题。453 收藏 -
用一个清晰的 secret.Do 封装把密码处理函数放进机密边界,讲明输入所有权、结果复制、实验开关、panic 与平台限制。369 收藏 -
用 Vite mode 管理 development、staging、production 环境变量文件,说明 .env 覆盖关系、VITE_ 客户端边界,以及在 vite.config.js 中使用 loadEnv 的配置方法。329 收藏