Go语言技术文章
-
MySQL invisible index 默认不参与优化器计划构建。本文用 SET_VAR 将 use_invisible_indexes 限定到单条 EXPLAIN 或查询,说明计划对比、影响范围和版本边界。111 收藏 -
在 Vite 项目里,使用 ?worker 导入得到的是 Worker 构造器,而不是普通模块对象。本文用一个最小的 TypeScript 示例说明 worker 文件、消息协议、?worker&inline、?sharedworker 与 vite/client 类型提示的关系,并整理部署和生命周期中的常见误区。110 收藏 -
动态查询不能把所有列都写死成 string 或 int64。本文用 ColumnType.ScanType 生成 Rows.Scan 的指针目标,并说明 NULL、[]byte、驱动不支持类型信息和 rows.Err 的处理边界。110 收藏 -
通过 Java AclFileAttributeView 读取并保序展示文件 ACL,解释主体、类型、权限和标志,区分视图不支持、读取失败与空列表,并说明有效访问权限的判断边界。110 收藏 -
介绍 Go os.Root.Name 获取目录名称的用法,给出打开、读取和关闭示例,说明名称在诊断日志中的用途,以及它与绝对路径、实时位置和资源状态的区别。110 收藏 -
Go bytes.Buffer.Grow 只预留后续写入容量,不会增加有效数据长度。本文区分 Grow、Len、Cap 和 Bytes,说明如何正确写入、读取、复用缓冲区并处理边界。110 收藏 -
从响应头、iframe allow、来源继承和浏览器授权四层拆解 Web API 被 Permissions Policy 阻止的排查方法,给出最小配置、检查代码与 Report-Only 使用边界。110 收藏 -
自定义元素默认不会自动进入原生表单校验和提交流程。本文用 ElementInternals、setFormValue 和 setValidity 实现一个可提交、可校验的自定义表单控件,并说明 name、required 与空值处理边界。109 收藏 -
redis_exporter 通过 web.listen-address 配置 HTTP 绑定地址,通过 web.telemetry-path 配置指标路径。本文给出命令行与环境变量写法,区分 Redis 目标、网络可达性和路由错误。109 收藏 -
Go database/sql 的 rows.Next 返回 false 只表示遍历结束,不能直接当作成功;本文用一个可复用示例说明如何通过 rows.Err 捕获迭代错误,并区分 Query、Scan 与 Close 的诊断边界。109 收藏 -
os.File.Sync 返回成功仍读不到预期内容时,按写入完整性、读回位置、目录项和底层存储四层排查,避免把文件同步误认为事务提交。109 收藏 -
Go html/template 输出和预期不同,通常不是数据丢失,而是模板根据 HTML、属性或 URL 上下文自动转义。本文用最小示例区分纯文本、可信 HTML 和不安全 URL,给出不绕过安全保护的排查与修复方法。108 收藏 -
MySQL REGEXP_LIKE 返回 1、0 或 NULL,用于判断字符串是否匹配正则表达式。本文从 LIKE 与正则的区别讲起,说明 match_type 的大小写和换行控制,并整理 NULL、转义、字符集与 WHERE 查询中的排查方法。108 收藏 -
filepath.Localize 先检查 io/fs.ValidPath,再检查目标操作系统能否表示路径。本文拆解空元素、点路径、反斜杠、冒号、NUL 与 Windows 保留名等错误边界,并给出可执行的排查顺序。108 收藏 -
RediSearch FT.AGGREGATE 的 APPLY 会按记录计算表达式并用 AS 生成临时属性,结果还能继续交给 GROUPBY、REDUCE 和 SORTBY。本文用价格乘数量、日期分组和 LOAD 示例说明字段生命周期、管道顺序、类型与缺失值边界。108 收藏