Go语言技术文章
-
向量检索不要先取全局 top_k 再丢弃不合格结果。本文以 Redis Search 为例,把 tenant、状态和时间等元数据作为预过滤条件放到 KNN 前,并用选择率、P95 延迟和召回质量确定参数边界。365 收藏 -
鼠尾草绿雨窗手机壁纸通过上部低细节留白、中下部雨滴层次和低饱和冷灰配色保留锁屏可读性,提供主图、右下蕨影变体及中英文提示词。365 收藏 -
Golang · Go问答 | 15小时前 | net/http · HTTP客户端 · Go问答 · Transport gzip Content-Encoding Go 自动解压 Response Body
Go 的默认 Transport 可能已经把 gzip 响应解压到 Response.Body,并删除 Content-Encoding。读取内容为空时,应先区分自动解压、显式请求 gzip 和 Body 被重复读取这三条路径,再选择直接读取或手动创建 gzip.Reader。365 收藏 -
Java HttpClient ofFileDownload 使用响应头文件名保存附件,说明目录准备、重名拒绝、状态码门控与异常处理边界,避免把落盘完成误认为业务成功。365 收藏 -
Go 使用 bufio.Scanner 读取超长行时,默认缓冲可能触发 token too long。本文说明如何在首次 Scan 前调用 Buffer 设置初始缓冲与最大 token,并梳理 Err 检查、内存边界和切换 bufio.Reader 的判断。364 收藏 -
反复调用 regexp.MatchString 时,包级函数会把正则编译带进热路径。本文拆开调用链,给出固定模式与动态模式两种缓存设计,并处理并发、编译失败和容量边界。364 收藏 -
用 Go httptrace 拆分 DNS、TCP/TLS、连接复用、写请求和首字节耗时,配合完整示例定位 HTTP 客户端慢在解析、建连还是服务端等待。364 收藏 -
Go http.Server 的 MaxHeaderBytes 只限制解析请求行和请求头的读取范围,不限制请求体。本文从自定义 Server 是否生效、前置代理边界和 MaxBytesReader 三个层面说明为什么看起来仍能收到大请求。364 收藏 -
Java 模块系统中,uses、provides 和 requires static 负责描述服务边界,ServiceLoader.findFirst() 可以在没有可选实现时回退到默认实现。本文给出模块声明、加载代码与排错边界。363 收藏 -
MySQL 嵌套可更新视图中的 LOCAL 与 CASCADED 决定写入检查范围。本文用订单视图对比两者在内层无约束、内层已有约束和 UPDATE 场景下的差异,帮助你选择合适的视图写入边界。363 收藏 -
GopherLua 的 CallByParam 通过 Protect 在 PCall 与 Call 之间选择:保护调用把脚本运行错误变成 error,普通调用则让错误 panic。本文对照 Fn、NRet、Handler 和异常边界,说明两种写法该怎样选。363 收藏 -
测试里用 time.Now 生成的时间字段会让 got 和 want 每次都不一样。本文只围绕 go-cmp 解释如何用 cmpopts.IgnoreFields 忽略指定字段,同时保留其它业务字段的差异,并区分时间容差比较、嵌套字段路径和全局忽略类型的边界。363 收藏 -
从客户端 GET、判断、DECRBY 的竞态出发,说明 Redis Lua 如何把检查与更新放入同一次原子执行,并给出 KEYS、ARGV、EVALSHA、NOSCRIPT 和脚本长度的迁移清单。363 收藏 -
Go 解包符号链接越界不能只靠路径字符串检查。本文说明链接拒绝策略、私有输出目录与 os.Root 写入边界,并提供仅接受目录和普通文件的 tar 示例。363 收藏 -
Java LocalDateTime 本身没有时区信息,使用显式 ZoneOffset 调用 toInstant 可以得到不依赖机器默认时区的绝对时间点。362 收藏