Go语言技术文章
-
Go strconv.QuoteToASCII 会返回带双引号的 Go 字符串表示,并把非 ASCII 字符转换为 Unicode 转义。本文说明它在日志和传输边界中的用法,比较 Quote、QuoteToGraphic 与 Unquote 的职责,并强调它不能替代 JSON、URL 等协议编码。210 收藏 -
Go 的 io.CopyBuffer 允许调用方提供复用缓冲区,适合重复文件或流复制任务。本文说明缓冲区职责、WriterTo 与 ReaderFrom 快速路径、并发复用和 n/err 返回值的判断方式。210 收藏 -
PHP 8.5 的 Uri\WhatWg\Url 可按浏览器风格解析相对 URL。本文比较解析方案,给出基准对象、resolve 与 parse 示例,解释末尾斜杠、查询和片段的差异,以及解析成功与业务允许的边界。210 收藏 -
runtime.Pinner 可在 Go 1.21 及更高版本中显式固定 Go 对象。本文说明 cgo 参数的隐式固定边界、Pin/Unpin 最小写法、嵌套指针规则及跨调用保存指针时的生命周期管理。209 收藏 -
Go TLS 热更新证书不会让已经完成握手的旧长连接立即失效;新证书主要作用于后续握手,而恢复会话还有票据边界。本文按连接生命周期说明原子更新、失败回退、会话恢复与连接排空策略。209 收藏 -
vLLM 连续批处理并不是并发越高越快。本文从模型权重、KV Cache、序列数和批次 token 预算出发,给出显存与吞吐的调参顺序、压测方法和生产降级路径。209 收藏 -
Go database/sql 的 sql.DB 是连接池。需要让一组操作落在同一个数据库会话时,可以用 DB.Conn 获取独立连接;操作结束必须调用 Conn.Close 将连接归还池中,并用上下文控制等待时间。209 收藏 -
Go 的 crypto/rand.Read 保证填满目标切片且不把随机源错误作为普通返回值;需要观察短读、EOF 或可替换 Reader 时,应使用 io.ReadFull,检查 n 与 err,并丢弃不完整随机字节。209 收藏 -
runtime.Gosched 只能让出当前处理器,不能替代 channel、锁或条件等待。本文从调度语义、GOMAXPROCS、忙等和阻塞边界出发,给出把无效让出改成可控同步的排查方法。209 收藏 -
Go pprof 阻塞 profile 没有数据时,重点检查 SetBlockProfileRate、pprof 路由、采集窗口和真实阻塞事件。本文给出最小配置、读取命令和排查边界。209 收藏 -
用 Go hash/fnv 把稳定字符串映射为分片编号,讲清 FNV-1a、UTF-8 字节、32/64 位选择、取模边界与扩容迁移风险。209 收藏 -
Go 的 URLEncoding 和 RawURLEncoding 使用同一套 URL-safe 字母表,但一个保留等号填充、一个去掉填充,因此不能随意交叉解码。本文从错误现象、协议边界和历史数据兼容三个角度说明如何选择编码器。209 收藏 -
两张原创银白霜花微距9:16手机壁纸:主图用银白冰晶和炭黑背景突出细密霜纹,变体改用午夜钴蓝、暗紫与青色边光,并附完整中英文提示词、下载按钮和锁屏构图调整方法。209 收藏 -
Python 的 dataclass 配合 frozen=True 可以把配置对象变成创建后不可直接改字段的实例。本文从定义、初始化校验、浅层冻结和 replace 复制几个边界出发,给出一套适合应用启动配置的写法。209 收藏 -
Go 判断 IP 是否为回环地址时,优先把文本解析为 netip.Addr,再调用 IsLoopback。本文区分 IPv4、IPv6、映射地址、未指定地址和零值 Addr 的边界。209 收藏