Go语言技术文章
-
文章 · java教程 | 6天前 | 并发 · Java · CompletableFuture · java 异步编程 completablefuture CompletionStage minimalCompletionStage
服务内部需要控制 CompletableFuture 的完成权,但直接返回它会让下游拥有过多操作面。本文用 minimalCompletionStage 建立只读编排边界,并说明 toCompletableFuture、异常与取消的适配位置。219 收藏 -
用 os.UserConfigDir 获取跨平台的用户配置根目录,再追加应用子目录和文件名;本文解释 Unix、Darwin、Windows、Plan 9 的目录规则,以及环境变量缺失时如何显式处理错误。219 收藏 -
从 DNS 解析与 TCP/TLS 建连的分层排查开始,使用 net.Resolver 配置自定义 DNS 连接,并把它接入 http.Transport。219 收藏 -
使用 Go 的 debug/elf 打开 ELF 文件后,可以调用 File.ImportedLibraries 读取动态链接阶段需要的库名。本文给出完整的错误处理、资源关闭和空结果判断方式,避免把动态依赖、导入符号和运行时实际加载结果混为一谈。219 收藏 -
Go os/exec 应固定可信程序入口、分项传递参数并限制业务字段。本文用原创导出函数解释参数与命令分离、取消和退出错误、输出生命周期、PATH及平台差异,不把无 shell 等同于任意输入安全。218 收藏 -
Go 配置文件不要直接截断写入。本文用同目录唯一临时文件、Write、Sync、Close 和 Rename 组织一次原子替换,说明失败清理、权限、并发读改写以及平台持久化边界。218 收藏 -
Go regexp 的匹配实现采用 RE2 语义并保证随输入长度线性运行。遇到复杂模式耗时异常时,应先区分输入规模、重复编译和匹配次数,再用预编译与输入上限控制实际成本。218 收藏 -
解释 PHP PDO 为什么不能直接嵌套开启事务,给出外层统一提交、内层抛出异常以及使用 SAVEPOINT 局部回滚的写法。218 收藏 -
Go database/sql 遍历 Rows 时,Scan 失败要及时停止读取并关闭结果集;循环结束后还要检查 Rows.Err,区分行转换错误与驱动读取错误。217 收藏 -
淡紫云带壁纸以低饱和紫色、稀薄云缘和顶部留白保持轻盈。提供两张无水印竖屏原创壁纸、完整中英文提示词、云带布局与冷色变体调整方法及下载按钮。217 收藏 -
Go reflect.Value.IsNil 在无效 Value 或不支持的 Kind 上会 panic。本文给出 IsValid 与 Kind 守卫示例,区分 nil 接口、typed nil、普通零值及接口容器,避免把防异常改动变成错误的业务判空。216 收藏 -
MySQL 在线 DDL 仍可能被元数据锁阻塞。本文用 sys.schema_table_lock_waits 和 performance_schema.metadata_locks 定位持锁事务,并通过 lock_wait_timeout、ALGORITHM 和 LOCK 设定可控的变更失败边界。216 收藏 -
Go 的 net/http.Client.Timeout 使用零值时代表不设总超时,连接、重定向和读取响应体都可能没有统一时间预算。本文解释零值语义,并给出 Client、Context 与 Transport 超时的分层写法。216 收藏 -
Go fs.WalkDir 不会自动进入目录中的符号链接目标,但 root 自身是符号链接时会以目标作为遍历起点。本文拆开这两个边界,说明如何在回调中识别链接并按业务策略显式处理。216 收藏 -
讲清 Python os.PathLike、__fspath__ 与 os.fspath 的职责,演示自定义路径对象如何兼容标准库和旧接口,并说明 str 强转、bytes 返回值与 TypeError 的边界。214 收藏