Go语言技术文章
-
Go bufio.Scanner 默认按行返回文本,空行会返回空字符串。本文用一个可复用的段落聚合流程处理普通行、连续空行、EOF 和读取错误,并说明严格空行与空白行的区别。392 收藏 -
Go sync.Cond 的 Signal 不会替等待者保存一条通知。要避免看似错过唤醒,必须用同一把锁保护共享条件和 Wait,并在 for 循环中重新检查条件;再根据唤醒一个还是全部等待者选择 Signal 或 Broadcast。391 收藏 -
Go crypto/subtle.WithDataIndependentTiming 用于在回调期间启用架构相关的数据独立时序能力,但不会把普通变长代码自动变成常量时间。本文用 ConstantTimeCompare 说明正确包法、goroutine 作用域、架构差异和安全边界。391 收藏 -
两张原创珊瑚贝壳螺旋9:16手机壁纸:主图用下移主体、粉橙柔光和顶部留白保持轻盈,变体用左下贝壳与右侧负空间服务主屏图标,并附完整中英文提示词和调整方法。391 收藏 -
htmx 的 hx-sync 可以协调字段校验、表单提交和实时搜索请求。本文用表单竞争场景说明 abort、drop、replace、queue 的差异,并给出提交优先、校验优先和只保留最后一次查询的写法。390 收藏 -
这组手机壁纸把酒红织锦的纤维、斜向褶皱和中央垂落纹理做成两张原创9:16无文字无水印位图。主图为斜向聚焦构图,变体把主体移到中下部,并配套完整中文和英文提示词,方便继续调整锁屏留白、色彩与光线。390 收藏 -
介绍 Go Colly 使用 colly.Context 在 OnRequest、OnHTML、OnResponse 和 OnError 之间传递请求级业务信息,说明 Request.Visit 的继承、Clone 的隔离边界,以及与标准库 context.Context 的职责区别。389 收藏 -
Go sync.Map.CompareAndSwap 返回 false 时,先用 Load 区分键不存在、值类型不符和旧值不一致,再把 CAS 失败视为并发竞争信号;不要把一次读取结果直接当作更新成功保证。388 收藏 -
Go 的 bufio.Reader.Peek 可以查看协议头而不推进读取位置,适合在流式输入中先判断协议类型再决定后续解析。本文用固定协议头示例说明 Peek 的缓冲区上限、短读错误、返回切片有效期,以及确认后的 Read 和 Discard 用法。387 收藏 -
还原 MySQL 死锁等待关系,需要逐项对应事务、持有锁、请求锁和冲突资源,不能只看当前 SQL。本文给出关系表和 Performance Schema 查询,并解释实时快照、间隙锁及重试边界。387 收藏 -
Accelerator.prepare 不只是把模型搬到设备上;训练时模型包装、参数位置、优化器参数组和状态必须保持一致,所以通常要把模型与优化器一起交给 Accelerate 准备。本文用最小训练骨架说明对象顺序、调度器和推理场景的边界。386 收藏 -
Embedding 模型更换后应隔离新旧向量空间,从原始文本重算文档向量,并成套切换查询配置。本文说明版本化双写、删除同步、缓存隔离和失败回退条件。386 收藏 -
Accelerate 的 fp16 与 bf16 应按当前设备支持和模型数值行为选择。本文限定普通单卡 CUDA 场景,说明保守 BF16 查询、完整参数接入、梯度缩放与 no 模式对照,不以启动成功代替训练稳定性判断。386 收藏 -
Go expvar.Map 可以把按接口、缓存或队列维度拆分的统计值组织成一个指标映射,再用 Publish 注册到 expvar 全局变量表。本文说明 Add、Set、Get、Delete 与 Publish 的职责边界,以及并发更新和键名设计要点。385 收藏 -
Go json/v2 迁移不能只替换 import。本文区分工具链升级与语义切换,梳理字段匹配、空值、omitempty 和严格输入风险,给出兼容选项示例及发布回退清单。384 收藏