Go语言技术文章
-
ArrayDeque 明确禁止 null,不是实现遗漏,而是为了让 pollFirst 的 null 返回值稳定表示“队列为空”。本文从 addLast、pollFirst 和空值哨兵的关系出发,说明如何改造入队契约并验证边界。180 收藏 -
io.Copy 返回的 written 和 err 如何判断传输是否完整?本文从写入中断现场出发,拆解 EOF、写入错误、短写入与大小核对的边界。180 收藏 -
Golang · Go问答 | 6天前 | 字符串 · 标准库 · go · 接口设计 · 边界处理 · Go strings.CutPrefix Go strings.CutSuffix 协议头 字符串裁剪 零值返回
strings.CutPrefix 和 CutSuffix 都返回裁剪后的字符串与 found 布尔值,但空前缀、未匹配和完整匹配的结果不同。本文用协议头解析场景说明如何组合两个函数,避免把未匹配误判为空字符串。180 收藏 -
介绍蛋蛋分享库产品站、安卓工具箱定位、硬件监控与日常功能、版本兼容信息,并说明同名应用辨别、权限核对和安装安全边界。180 收藏 -
Go 1.27 的 runtime/secret 用 Do 包住机密计算时,新建 goroutine 会继承 secret mode,但它不是万能的内存清理器。本文拆开 Enabled、堆对象可达性、全局变量、平台支持和 GOEXPERIMENT=runtimesecret 的边界,帮助你判断这项实验能力能否放进密码学代码。180 收藏 -
文章 · java教程 | 2天前 | 性能优化 · JVM · Java教程 · Java 25 · AOT · 预热 启动速度 Java 25 AOT Method Profiling AOT Cache
Java 25 的 AOT Method Profiling 会把训练运行得到的方法画像带到 JVM 启动阶段。本文用 record、create、on 三段命令拆解配置文件和缓存文件的关系,并核对 JDK、应用、操作系统与 CPU 不一致时的回退边界。179 收藏 -
RAG 系统不要只把文本片段交给模型。本文用 Go 设计带 source_id、标题和定位信息的检索结果接口,让生成答案可以回溯来源、处理空召回,并在调用失败时保留可验证的错误边界。178 收藏 -
Go 1.21 给 bytes.Buffer 增加 Available 和 AvailableBuffer 后,如何判断可写余量、避免误解短写,并用 Cap 和 Len 验证扩容结果。178 收藏 -
文章 · java教程 | 5天前 | 标准库 · Java · 异常处理 · 数据编码 · java base64 padding IllegalArgumentException Base64.Decoder
用 Java Base64.Decoder 对比带 padding、无 padding 和非法尾部输入,解释 decode 的异常边界,并给出 String、byte[] 与 ByteBuffer 入口的选择方法。178 收藏 -
数据库 · Redis | 3天前 | Redis · 性能排查 · 缓存运维 · 热点键 · LFU · redis 缓存淘汰 OBJECT ENCODING OBJECT FREQ LFU 热点键
Redis OBJECT FREQ 能读取 LFU 模式下对象的对数访问频率,但它不是全局热点榜单。本文从 OBJECT FREQ 与 OBJECT ENCODING 的分工讲起,再用 INFO stats 和 maxmemory-policy 验证采样结果,说明什么时候可以据此调整缓存淘汰策略。178 收藏 -
用 PHP Throwable 的 getTraceAsString 记录异常调用链,同时结合 getTrace、参数过滤和 error_log,避免把令牌、密码等敏感值直接写进线上日志。178 收藏 -
用同一段 asyncio 示例验证 ContextVar、copy_context 与 Context.run 的边界,说明异步任务如何保持独立上下文,以及回调回到原上下文时该检查什么。178 收藏 -
Golang · Go教程 | 6天前 | 错误处理 · go · 模板 · 后端开发 · 渲染 · Go Template html/template text/template 模板运行 missingkey
Go 模板渲染可选片段时,字段缺失不一定会立刻报错。本文用 text/template 的模板运行、Option("missingkey=error") 和显式分支拆开默认行为、严格校验与可选字段的边界,给出可直接运行的处理方式。177 收藏 -
Golang · Go问答 | 5天前 | go · Context · net/http · Go context取消 http.NewRequestWithContext Request.WithContext
http.NewRequestWithContext 与 Request.WithContext 都能把 context 交给 Go HTTP 请求,但创建时绑定、浅拷贝语义和请求体复用边界并不一样。本文用可运行示例拆开取消责任、Clone 深拷贝和常见误区。177 收藏 -
用一个请求日志小项目说明 Go slog.Handler.WithAttrs 的正确用法:把稳定字段提前绑定到 Handler,再让每次 LogAttrs 只写变化字段,同时验证并发输出与字段快照边界。177 收藏