Go语言技术文章
-
使用 Go net/url 修改查询参数时,直接操作 URL.Query 和 RawQuery,避免重建路径导致 %2F 等编码边界发生变化。本文从最小写法、字段分工、重复参数和完整示例说明可靠做法。464 收藏 -
以嵌套对象和两个共用缓冲区的视图为例,说明 structuredClone 普通克隆与 transfer 的区别、转移列表去重及旧引用失效,并给出 DataCloneError 的排查方向。464 收藏 -
Go bytes.Buffer.WriteTo 会把缓冲区的未读内容写入 io.Writer,并返回已经写出的字节数和错误。本文用最小示例说明完整写入、短写入、错误保留和发布前检查,帮助你避免重复发送或误判成功。464 收藏 -
Go 1.25 的 net/http 提供 CrossOriginProtection,可以在 Handler 层拒绝非安全的跨源浏览器请求。本文从保护范围、可信 Origin、拒绝处理器和认证边界四个方面给出一套可落地的写接口接入方式。464 收藏 -
Java ByteBuffer.slice 创建的是共享内容视图:新缓冲区从源 position 开始,拥有独立的 position、limit 和 mark,但对共享字节的修改仍会彼此可见。本文用结构示例区分 slice、duplicate、只读视图和显式复制。464 收藏 -
Redis volatile 只淘汰带 TTL 的键,allkeys 把所有键纳入候选。本文从数据可重建性、TTL 约定和内存压力出发,给出策略选择表、配置示例及业务观测要点。464 收藏 -
本文用 Go 标准库 debug/plan9obj 读取自有 Plan 9 a.out 文件的符号表,讲清 Symbols 返回的 Sym 字段、Open 与 Close 的调用顺序,以及 ErrNoSymbols 与普通读取错误的区别。464 收藏 -
GitHub Code Scanning 默认设置适合快速启用并自动维护扫描配置;自定义配置文件适合补充查询和排除路径;只有需要自定义构建、矩阵或调度时,才应转向 advanced setup。464 收藏 -
Go multipart.Part.FileName 读取的是 Content-Disposition 中的 filename 参数。普通表单字段没有这个参数时返回空字符串,文件分段带空 filename 时也可能为空;如果有文件名,Go 还会用 filepath.Base 处理后再返回。464 收藏 -
PHP ArrayObject::exchangeArray 可以把对象当前持有的数组替换成新的数组或对象,并返回被替换的旧数组。本文用最小示例说明对象引用、旧数据接收、迭代器边界和性能指标如何判断。464 收藏 -
通过addAttribute为局部文本添加属性,解释左闭右开范围、属性迭代读取、UTF-16下标与码点换算,并提供完整Java示例。464 收藏 -
解释Java ZIP条目写入与文件系统关闭的不同边界,用try-with-resources安排成功通知,并区分归档更新完成与介质持久化保证。464 收藏 -
Go fitsio 向 FITS 表写入一条结构化记录时,先用带 fits 标签的结构体确定列布局,再用 NewTableFrom 建表、Table.Write 写当前行、File.Write 提交 HDU。本文还说明新建文件与原地修改的边界,以及失败时如何保留可回退的输出。464 收藏 -
围绕 sonyflake/v2 的 Settings 配置机器编号,说明 MachineID、CheckMachineID、位布局和扩容时的唯一性边界,帮助 Go 服务稳定生成分布式整数 ID。464 收藏 -
围绕 Go image/draw.DrawMask 讲清目标区域、源图和 mask 的坐标关系,并用 draw.Src 与 draw.Over 解释透明遮罩的局部合成边界。464 收藏