Go语言技术文章
-
文章 · php教程 | 2天前 | php教程 · PHP会话 · SessionHandlerInterface · 数据库存储 · PHP会话 session_set_save_handler SessionHandlerInterface 数据库会话
把 PHP 会话从默认文件存储切到数据库时,真正容易出错的是回调顺序、原始序列化字符串和 gc 清理边界。本文用 SessionHandlerInterface 完成一套可核对的写入、读取、销毁与过期回收流程。134 收藏 -
Go 的 iter.Pull 把 push-style 迭代器变成 next/stop 拉取接口,但提前结束时必须调用 stop 让 yield 协程收尾。本文用资源清理、重复 stop 和测试替身说明它的生命周期与并发边界。133 收藏 -
用一个可运行的曝光实验说明 IntersectionObserver 的 threshold 数组如何触发可见比例回调,并用 Set 做首屏曝光去重,避开重复上报和阈值误判。133 收藏 -
Golang · Go问答 | 4天前 | 并发 · golang · 错误处理 · Go问答 · Go 1.25 · WaitGroup 并发任务 Go 1.25 sync.WaitGroup.Go 错误回传
sync.WaitGroup.Go 负责启动任务并等待全部任务结束,但它不会替调用方收集 error。本文用带缓冲结果通道把失败传回主流程,拆开并发收口、首错处理、panic 边界和主 goroutine 的退出时机。133 收藏 -
netip.ParseAddr 返回的 netip.Addr 是值类型,可以用 Compare 做排序和相等判断,但 IPv6 Zone、非法输入和零值仍要单独处理。本文用可运行示例拆开这些边界。133 收藏 -
itertools.batched 会惰性地把迭代器分成固定大小的元组,但默认允许最后一批不足 n。本文用订单编号批处理示例说明 strict=True 何时抛出 ValueError、如何选择补齐或拒绝,以及怎样验收没有静默漏数据。133 收藏 -
用 MySQL 8.4 的 REGEXP_REPLACE 清洗带空格和分隔符的订单编码,核对捕获组替换、NULL 返回值与更新前后的结果,避免把异常数据悄悄改坏。133 收藏 -
准备删除一个 MySQL 二级索引时,不必先承担回滚风险。MySQL 8.4 可以把索引设为 INVISIBLE,再用 EXPLAIN 和单条查询 hint 对照计划,确认它是否仍被业务查询需要。133 收藏 -
context.WithCancel 只能表达主动取消,不能凭空产生超时。本文用一个可运行的 HTTP 调用场景拆开取消传播、deadline 和超时错误的边界,说明如何选择 WithCancel、WithTimeout 与 WithDeadline。132 收藏 -
用 MySQL EVENT 做定时清理时,真正容易漏掉的是全局启用状态、会话时区和执行记录。本文用一张清理任务表说明如何配置、验证、留痕与安全停用。132 收藏 -
Go 的 maps.Keys 可以把 map 的键序列交给调用方继续处理,但它不承诺键的顺序。本文用空 map、无序输出和 slices.Sort 三个边界说明如何安全地收集、排序并验收结果。132 收藏 -
Go 的 time.Duration.Abs 可以把负持续时间转成正值,但对 math.MinInt64 有特殊处理:结果是 math.MaxInt64。本文从源码语义、正常调用和边界测试三个角度说明如何安全展示耗时。132 收藏 -
从业务负载、连接边界和故障恢复三个角度,说明 PHP PDO 持久连接的适用条件,并给出可回滚的事务与断线重连示例。132 收藏 -
Golang · Go教程 | 1小时前 | 标准库 · Go教程 · 工具开发 · 错误定位 · 语法分析 · Go 1.27 go/scanner Scanner.End token.Pos 语法诊断
Go 1.27 为 go/scanner.Scanner 增加 End 方法,返回最近一次扫描 token 之后的位置。本文从诊断范围偏移的排查现场出发,说明 Scan 返回的起点、End 的末端、token.File.Offset 的字节区间如何配合,以及 EOF、Unicode 和未扫描状态下的边界。131 收藏 -
Golang · Go问答 | 4天前 | 网络编程 · 并发 · go · 超时处理 · crypto/tls · Go crypto/tls 取消 context 超时 连接状态 HandshakeContext
crypto/tls.HandshakeContext 用于在 TLS 握手阶段接收 context 取消信号,但取消发生在握手前、握手中和握手后,连接状态并不相同。本文用一个最小客户端拆开超时、错误判断和关闭连接的边界。130 收藏