Go语言技术文章
-
bytes.Buffer.Bytes 返回的是底层缓冲区的未读切片。Reset 会清空长度但保留存储,后续 Write 可能改写旧切片可见的数据;本文用最小实验说明安全复制和复用边界。160 收藏 -
CSS shape() 可以把响应式卡片的裁切路径写成相对尺寸,让 clip-path 在容器变化时保持比例;本文用真实 CSS 片段拆开坐标起点、line/curve 命令、百分比伸缩和 @supports 回退验收。160 收藏 -
用 Go net/url 的 URL.JoinPath 拼接接口路径,厘清多斜杠、./、../ 与 PathEscape 的边界,并通过可运行示例验收最终请求地址。160 收藏 -
看到 Go 服务里的 channel 阻塞,先别急着判定 goroutine 泄漏。本文比较普通 goroutine 栈与 Go 1.27 goroutineleak profile 的证据边界,给出一套可复核的排查和上线清单。160 收藏 -
面对超大 JSON 数组,不要先读成 []byte 再 Unmarshal;用 json.Decoder 从 io.Reader 逐项 Decode,并为输入总量和单个元素设置清晰边界。160 收藏 -
Linux xargs 默认按空白解析输入,文件名包含空格、换行或引号时可能被拆错。本文用 find -print0 与 xargs -0 说明 NUL 分隔的原因、正确写法、-- 参数和批量边界。160 收藏 -
在LiblibAI里把草图转成成品,整张画面需要重绘时优先选择图生图;只改物体、颜色、背景或局部关系时更适合智能编辑;必须严格保持透视和版式时,应先补草图或蒙版再小步修改。本文按修改范围、控制目标和返工成本给出选择方法。160 收藏 -
文章 · java教程 | 2个月前 | map · Java · 后端开发 · Collectors · Stream API · java Stream Collectors toMap 重复key Map合并
Java Stream 使用 Collectors.toMap 收集数据时,双参数重载遇到相同 key 会抛出 IllegalStateException。若业务允许把两条记录压成一条,应明确传入合并函数并定义保留旧值、覆盖新值或择优规则;若重复本身有业务意义,应改用 groupingBy 保留完整列表。并行流还要评估合并成本与是否真的需要并发 Map。159 收藏 -
Go 1.27 为 go fix 增加 atomictypes、embedlit、slicesbackward、unsafefuncs 四个 modernizer。本文用一套可回滚的检查流程说明如何先看改动,再决定是否接受自动改写。159 收藏 -
用 collections.deque 的 maxlen、append 和 popleft 实现只保留最近事件的定长窗口,并核对窗口统计、空队列和并发边界。159 收藏 -
Go 测试里的临时目录、数据库连接和后台 goroutine 不该靠测试末尾的一行手工清理。用 testing.TB.Cleanup 注册逆序清理函数,再结合 t.Run 与 t.Parallel 的父子边界,可以让失败测试和并行子测试都回收自己的资源。159 收藏 -
文章 · php教程 | 1星期前 | 反射 · PHP · PHP 8.5 · 属性 · 兼容性 · php PHP 8.5 ReflectionAttribute DelayedTargetValidation 属性目标
PHP 8.5 的 DelayedTargetValidation 不是放宽属性规则,而是把内置属性目标的错误从编译阶段延后到反射运行阶段,适合维护跨 PHP 版本的库代码。159 收藏 -
encoding/json/v2 的 SemanticError 既可能来自请求值不匹配,也可能来自 Go 类型结构问题。本文用字段提取、契约测试和 HTTP 分层策略,说明如何定位 JSON 指针与底层原因。159 收藏 -
用 math/rand/v2 写随机测试时,把 PCG 的两组 seed 作为测试输入保存,并为每个并发用例创建独立随机源;失败时输出 seed,下一次就能重放同一组随机序列。159 收藏 -
Go 命令发现 vendor/modules.txt 与 go.mod 不一致时,不要手工改清单。先让 go.mod 和源码恢复准确,再用 go mod vendor 重建 vendor,最后用明确的 -mod 参数验收。159 收藏