Go语言技术文章
-
MySQL 8.4 的 INSERT 语法没有通用的 RETURNING 子句。本文用订单写入场景解释为什么不能把 PostgreSQL 式写法直接搬过来,并给出 LAST_INSERT_ID、事务内 SELECT 和多行写入的核对边界。278 收藏 -
Go 1.24 引入的 os.Root 将文件操作约束在指定目录内。本文用 OpenRoot、Root.Open 和相对路径示例说明它如何处理 ..、绝对路径与符号链接,并给出可复现的错误边界检查。371 收藏 -
用雨后竹影、湿润石阶和一束侧光制作适合手机锁屏的东方氛围壁纸,包含可直接复用的中英文提示词、留白调整方法和一张明显不同的竖屏变体。354 收藏 -
slices.Delete 会原地移动元素并返回新切片。排查对象迟迟不释放时,要同时看 Go 版本、尾部引用是否清零、返回值是否接住,以及底层数组容量是否仍被长期持有。293 收藏 -
bytes.Buffer.AvailableBuffer 返回的不是可长期持有的普通切片,而是给下一次 Buffer.Write 准备的可追加空间。本文用最小示例说明 Append、Write、Bytes 之间的边界,以及何时必须复制数据。197 收藏 -
开通银行卡快捷支付或绑定支付服务前,应先核对扣款账户、授权对象、免密范围、通知方式和撤销入口;看不清授权说明或要求提供密码、验证码时,应停止操作并改走银行官方渠道。287 收藏 -
FindAllStringSubmatchIndex 返回的是整段匹配和每个捕获组的字节边界,未参与匹配的组用 -1 标记。本文用 Go 示例拆开索引数组的排列方式,并给出安全切片与 UTF-8 文本处理方法。354 收藏 -
文章 · 前端 | 5天前 | 前端 · javascript · 性能排查 · 浏览器API · requestAnimationFrame ResizeObserver ResizeObserver loop completed with undelivered notifications 前端尺寸监听
ResizeObserver 回调里再次改动被观察元素尺寸,可能触发循环通知。本文用最小示例还原报错,拆开 contentRect、requestAnimationFrame 和 lastWidth 的关系,给出可验证的修复边界。285 收藏 -
strings.Builder 的 Grow 只保证后续写入有足够容量,并不等于最终字符串长度。本文用一段可运行的 Go 示例拆开 Grow、Cap、String 和 copyCheck 的关系,说明什么时候该预留容量、为什么不能复制非零 Builder,以及如何验证结果。307 收藏 -
文章 · linux | 5天前 | Linux · 运维 · 容器排查 · 命名空间 · nsenter · Linux mount namespace nsenter PID namespace util-linux
排查容器或隔离进程时,nsenter 可以让诊断命令进入目标进程的 PID 或 mount 命名空间。本文从 /proc//ns/* 核对目标,再用最小命令验证视图差异,并说明 PID 命名空间的 fork 边界与退出前检查。 151 收藏 -
bytes.Buffer.Bytes 返回的是底层缓冲区的未读切片。Reset 会清空长度但保留存储,后续 Write 可能改写旧切片可见的数据;本文用最小实验说明安全复制和复用边界。160 收藏 -
Go 1.23 的 slices.Chunk 返回的是原切片的连续子切片。本文用一个可运行例子说明修改分组结果为何会影响原切片,以及如何用 slices.Clone 建立独立副本。415 收藏 -
文章 · python教程 | 5天前 | 并发 · 异常处理 · python · 异步编程 · Python CancelledError 结构化并发 ExceptionGroup asyncio.TaskGroup
asyncio.TaskGroup 会在首个非取消异常出现后取消同组任务,并在退出时抛出 ExceptionGroup。本文用批量抓取场景拆开异常聚合、取消传播和结果收集边界,给出可复现的验收代码。414 收藏 -
io.SectionReader 用 Size 报告固定区间长度,用 ReadAt 按区间内偏移读取;分片下载先校验块范围,再把相对偏移交给 ReadAt,才能避免越界和错误重试。242 收藏 -
Java Stream.takeWhile 在有序流中取的是满足条件的最长前缀;放进并行流后,顺序约束会带来额外协调成本,而 unordered() 会改变结果语义。293 收藏