Go语言技术文章
-
Go 服务里用 time.Ticker 做周期任务时,真正容易出问题的不是 tick 间隔,而是任务退出后计时器、goroutine 和下游资源没有一起收尾。本文用可复现的长期任务场景拆解 Stop 的边界、退出信号和复查方法。434 收藏 -
Go 定时任务最容易被忽略的问题不是如何触发,而是上一次任务变慢后如何避免下一轮重入。本文比较 Ticker、单次触发和带状态的调度写法,并给出可验证的选型边界。434 收藏 -
Go 1.25 新增的 sync.WaitGroup.Go 把 goroutine 启动与计数绑定起来。本文用批量任务示例讲清启动时序、Wait 边界、panic 约束和异常收口方式。434 收藏 -
Gemini Files API 适合复用 PDF、图片、音视频等媒体,但上传成功不等于可以立刻调用。本文用 Go 拆开 ACTIVE 状态、48 小时保存、项目与单文件上限、主动删除和调用前复查,给出一条可回收、可重试的文件生命周期方案。433 收藏 -
用 Intl.Segmenter 按用户感知的词、句和字素边界处理中英文标题截断,讲清中文分词、emoji、浏览器能力检测与稳定降级方案。433 收藏 -
文章 · 前端 | 1星期前 | javascript · 异步编程 · 浏览器API · Promise · 异步资源清理 Promise.withResolvers JavaScript Promise 外部resolve
Promise.withResolvers 把 Promise 的 resolve 和 reject 暴露出来,适合事件桥接、超时控制和一次性完成的异步流程。本文用最小示例拆解重复完成、异常传播、取消与资源清理边界。433 收藏 -
Golang · Go问答 | 5天前 | 密码学 · Go问答 · 安全编程 · crypto/subtle · Go crypto/subtle ConstantTimeSelect 固定时间 侧信道
crypto/subtle.ConstantTimeSelect 只接受 0 或 1,并在两个候选整数之间做固定时间选择。本文用 ConstantTimeEq 生成选择值,解释它适合保护什么、不能替代哪些安全边界,以及如何用测试核对结果。433 收藏 -
自签名 CA 或内网证书接入 Go 客户端时,握手失败往往不是服务端证书坏了,而是根证书没有进入本次 Verify 使用的证书池。本文从系统根证书池、NewCertPool、AddCert 到 Verify 串起一条可运行的证书链校验路径。433 收藏 -
tmpfs 读写快却不是永久磁盘:从 size、noswap、挂载点和重启行为出发,判断缓存、临时文件和持久数据应该放在哪里。433 收藏 -
用 PHP Fiber 把一个长任务拆成可暂停的执行段,演示 Fiber::start、Fiber::suspend、Fiber::resume 与 Fiber::getReturn 的调用关系、返回值边界和异常处理。433 收藏 -
Redis HyperLogLog 适合用很小的内存估算独立访客数,但它不是精确集合,不能拿来判断某个用户是否已经领取过权益。本文从 PFADD、PFCOUNT、PFMERGE 的实际结果出发,说明误差边界、按天拆分 key 的做法和精确去重的替代方案。432 收藏 -
Dropbox官方入口以 dropbox.com 域名为准,访问时应检查地址栏、HTTPS和登录跳转,避免误入仿冒页面。本文说明官网地址识别、官方帮助入口和安全访问方法。432 收藏 -
自关联子查询并不适宜用于查找连续记录。这是因为它高度依赖于ON条件来匹配“前一天”的数据,但在实际应用中,这很容易引发诸多问题。例如,当日期字段包含时分秒信息时,如'2026-04-01 14:22:03',减一天后变为'2026-03-31 14:22:03',这种情况下几乎难以匹配到另一条记录,432 收藏 -
网络中的计算机想要彼此通信,光有连接还不够,还得给每一台设备分配一个“身份标识”。有了这个标识,数据在传输时才能准确找到接收方,也能明确发送方是谁。在 TCP/IP 协议里,这个标识就是 IP 地址。它的作用很直接:唯一标识一台计算机。当前被广泛使用的版本是 IPv4,采用 4 个字节的二进制数来表432 收藏 -
用 netip.Prefix.Contains 判断 IPv4、IPv6 网段归属,重点核对地址族、Masked 规范化和边界测试,避免把字符串比较或映射地址混进访问控制。432 收藏