-
Go net/http 中,ReadHeaderTimeout 只限制请求头,读取请求体要用 ReadTimeout 或按请求设置 ResponseController.SetReadDeadline。本文给出慢上传、超大请求、客户端断开和 HTTP/1.1 连接关闭的处理方式。
-
OpenSSH ControlMaster 复用失败通常不是开关没有写上,而是 ControlPath 没有命中、主连接已经退出、ControlPersist 未驻留或 socket 权限与路径不一致。本文用 ssh -G、ssh -O 和 -vvv 给出一套可复查的定位方法。
-
Go 的 embed.FS 会保留嵌入目录的路径层级。本文用 io/fs.Sub 裁剪资源根目录,再通过 http.FS 和 http.FileServer 提供静态文件服务,并说明 URL 前缀、错误处理与发布边界。
-
Python 3.15 把 frozendict 加入内置类型。本文从默认配置、运行时覆盖和缓存键三个场景出发,说明如何构造与合并不可变映射,并梳理浅不可变、哈希条件和 dict 类型判断的边界。
-
Go net/http 的请求体是一次性读取资源。Client.Do 会关闭请求体,关闭 TCP 连接也不会把 Body 重置;需要重试或重定向时,应保存原始数据、重新创建 Request,或确保 GetBody 能返回新的读取器。
-
从 plain、opaque、acquire/release 到 volatile,梳理 Java VarHandle 的内存序选择方法,并用发布协议验证共享数据可见性。
-
使用 Go embed.FS 暴露静态资源时,先固定嵌入目录,再用 fs.Sub 把对外资源根缩小到指定子目录,最后接入 http.FileServer。本文结合路径规则、错误处理和缓存边界给出一套不容易混淆的写法。
-
PHP PDO 分页查询中,LIMIT 和 OFFSET 属于整数边界,直接用 execute 数组传参时默认按字符串处理,可能触发 SQL 语法错误。本文说明占位符的边界、参数类型差异和完整分页写法,并给出 bindValue 与 bindParam 的选择建议。
-
unsafe.Slice 的 len 参数决定返回切片的长度和容量,计算时若混用元素数与字节数,或发生整数溢出,就可能把访问范围带出原始对象。本文按指针来源、Sizeof 换算、nil 特例和边界测试逐步定位并修正。
-
Google 开源周报把 MCP Dev Summit Toronto 的关注点落到 A2A 与 MCP 协同编排,官方议程则进一步覆盖协议底座、企业注册表、远程托管、生产集成和安全治理。本文按时间线和威胁模型拆解这次议题变化。
-
reflect.TypeFor 读取的是泛型参数代表的静态类型,reflect.TypeOf 读取的是值装入接口后的动态类型。本文用接口、指针接口和 Elem 的对照说明两者的差异与选择方法。
-
Go 包迁移时,type A = B 只增加一个兼容名称,不会创建新类型,因此 reflect.Type 的 Name 和 PkgPath 仍然对应原定义类型。本文用一个小项目区分类型别名与类型定义,并给出以 reflect.Type 身份比较替代字符串判断的兼容方案。
-
vLLM 连续批处理并不是并发越高越快。本文从模型权重、KV Cache、序列数和批次 token 预算出发,给出显存与吞吐的调参顺序、压测方法和生产降级路径。
-
go build -trimpath 会移除可执行文件中的本机文件系统路径,但不会自动删除调试符号。本文用最小示例拆解它对堆栈、源码导航、CI 可复现构建和生产发布的影响,并给出按场景选择构建参数的方法。
-
Go 1.22 提供的 reflect.TypeFor[T] 可以直接取得类型参数 T 的反射类型。本文对比 reflect.TypeOf 的零值写法、指针 Elem 写法与 TypeFor 的迁移边界,说明哪些代码更清晰,哪些场景仍然必须保留动态反射。