Go语言技术文章
-
Go filepath 会按照编译目标操作系统选择路径分隔符和绝对路径规则,因此 Join、Clean、IsAbs 等结果可能与开发机不同。本文区分本地文件系统路径和斜杠协议路径,并给出 path、ToSlash、FromSlash、Abs 与 Rel 的使用边界。420 收藏 -
Slack网页版直接从 slack.com 进入,桌面端和移动端从官方 Downloads 页面选择系统版本;本文说明登录切换、安装更新与权限安全检查方法。419 收藏 -
数据库 · MySQL | 2个月前 | MySQL · 复制 · 主键 · InnoDB · 数据库迁移 · 数据库迁移 MySQL 8.4 sql_generate_invisible_primary_key 生成不可见主键 my_row_id
MySQL 8.4 可以为没有显式主键的 InnoDB 表生成不可见主键。本文用迁移排查场景说明如何确认 my_row_id、区分源库与副本行为,并给出备份、建表和回滚验收清单。419 收藏 -
MySQL 8.4 的 InnoDB 死锁发生后会自动选择一个事务回滚,但应用仍要识别错误并重试。本文用订单与库存更新场景还原锁等待环路,演示如何读取 SHOW ENGINE INNODB STATUS、开启 innodb_print_all_deadlocks、判断受害事务并验收安全重试。419 收藏 -
Redis 分布式锁最容易出问题的地方,不是 SET NX EX 本身,而是任务执行时间超过租约后如何续期、谁有资格释放以及续期失败后怎样停止业务写入。本文用单实例锁的最小模型拆开租约、看门狗、随机令牌和围栏令牌的边界,再给出可验收的续期与释放检查清单。419 收藏 -
bytes.Buffer.Grow 不是越早调用越好。本文从容量、写入、Reset 和 Bytes 的真实关系出发,说明预留空间、复用缓冲区与避免长期保留大内存的边界。419 收藏 -
Python 3.15 新增的 sentinel 内置能力,适合替代 object() 作为参数缺省值。本文从 repr、身份判断和类型收窄讲到 pickle,说明模块级定义与局部定义的边界。419 收藏 -
Golang · Go问答 | 1个月前 | HTTP服务 · net/http · Go问答 · Go net/http TimeoutHandler ErrHandlerTimeout return_after_timeout
从 Go net/http 源码拆解 TimeoutHandler 的 done、ctx.Done 和 timeoutWriter 边界,解释超时后日志、ErrHandlerTimeout 与测试辅助函数 return_after_timeout 应该如何区分。419 收藏 -
sync.Once 只保证初始化函数执行一次,不会替你重试或返回错误。本文用共享结果与错误状态封装初始化,让并发调用稳定拿到失败原因,并说明哪些情况应该改用显式重试。419 收藏 -
终端能运行而 Go os/exec 找不到程序,通常是 PATH、工作目录和绝对路径被混淆。本文用 LookPath、Cmd.Env 和 Cmd.Dir 拆开排查,并给出部署场景的稳妥写法。419 收藏 -
Oracle 2026 年 7 月 CPU 为 Java 8、11、17、21、25、26 给出新的安全基线。核对时不能只看 JAVA_HOME,而要同时确认版本、构建号、java.home 和业务进程实际加载的可执行文件。419 收藏 -
Go 的 httptest.NewServer 关闭后仍有连接,通常要分别处理 Server、Response.Body 和 Client/Transport。本文用最小测试示例说明读取关闭响应体、关闭服务端和回收空闲连接的正确边界。419 收藏 -
Go 类型断言如何限定接口范围?本文说明具体类型断言与接口类型断言的区别,演示 comma-ok、安全探测、最小接口和 type switch 的取舍。419 收藏 -
IndexedDB 的 readwrite 事务不是可以任意 await 的长连接。本文解释请求回调、事件任务与自动提交的关系,并给出连续写入、跨异步边界拆分事务和提交结果判断的实用写法。419 收藏 -
slices.DeleteFunc 会原地压缩切片,并清零新长度之后的尾部元素,从而断开被删除元素对对象的引用。本文用指针切片示例说明它的边界。419 收藏