Go语言技术文章
-
Go 使用 mime/multipart 流式接收文件时,失败路径要同时处理临时文件、文件句柄和提交边界。本文用临时文件加原子重命名的方案,说明怎样让复制、关闭和提交失败都及时清理。251 收藏 -
文章 · 前端 | 1星期前 | javascript · AbortController AbortSignal.any AbortError TimeoutError AbortSignal reason
AbortSignal.any 会把首个触发源的 reason 原样传给组合信号。本文用 TimeoutError、AbortError、自定义 reason 和来源记录器区分超时与手动取消,并说明竞态与兼容边界。447 收藏 -
上传中断后残留临时文件,通常是清理责任混淆或 defer 注册过晚。本文区分 ParseMultipartForm 与 MultipartReader 的文件所有权,并给出断流清理、所有权转移和崩溃回收写法。168 收藏 -
本文用 veritysetup 演示 Linux dm-verity 的数据区、哈希区与可信 root hash 关系,说明如何先校验再创建只读映射,并梳理根文件系统启动、损坏处理和完整性边界。190 收藏 -
Golang · Go教程 | 1星期前 | 文件上传 · Go教程 · net/http · 接口安全 · MaxBytesReader io.LimitReader 流式上传 Go MultipartReader multipart字段限制
用 MultipartReader 流式遍历表单字段,通过整包上限、字段白名单和 limit+1 哨兵读取分别限制文本与文件,并补齐资源清理、413 响应和审计测试。305 收藏 -
通过一个异步仓储接口的类型报错,讲清 Protocol 中 async def 的正确写法、Awaitable 双层嵌套、参数形状、泛型协议与运行时检查边界。363 收藏 -
Go 的 multipart: message too large 不只是文件太大。本文区分请求体总量、非文件字段内存预算和文件临时落盘,给出 ParseMultipartForm 与 MultipartReader 的处理方案。293 收藏 -
文章 · java教程 | 1星期前 | spring · Spring Boot · 事务管理 · Java教程 · REQUIRES_NEW Spring事务事件 TransactionalEventListener AFTER_COMMIT Spring事件
用 @TransactionalEventListener 把业务事件绑定到成功提交阶段,并讲清提交后落库、异步监听、无事务调用、幂等与 Outbox 的边界。126 收藏 -
使用 multipart.Reader、io.Pipe 和 multipart.Writer,Go 可以把上传文件按段转发到上游,不调用 ReadForm、不创建临时文件,并正确处理边界、背压、取消和错误传播。373 收藏 -
Go 1.27 允许结构体复合字面量直接使用提升字段名。本文用可迁移的 Go 示例说明新旧写法、字段选择规则,以及指针嵌入和字段重叠等编译边界。186 收藏 -
OpenTelemetry Go 的 Span 到达顺序不等于调用顺序。本文从 HTTP 埋点、Context 传播和暂存配对三个层面说明,怎样让乱序遥测仍能还原服务调用关系。148 收藏 -
下游接口少量请求只是变慢而没有失败时,可以用 Go 的 net/http 与 context 为幂等读取请求增加受控副本:设置对冲延迟、共享总截止时间,首个成功后取消其余副本,同时限制额外流量。103 收藏 -
容器里的 Go 程序需要断点调试时,关键是把调试器参数和应用参数分开,并用关闭优化的二进制启动 headless Delve。本文给出一套可迁移的构建、启动、连接和排障步骤。435 收藏 -
PHP 枚举映射要保持穷尽,核心是显式列出每个 case、不要用静默 default,并遍历 cases() 做回归测试。本文比较 enum 方法、外部函数和数组映射,说明各自边界。377 收藏 -
slog.LevelVar 在单进程内并发安全且会被 Handler 每条记录读取。动态修改只影响部分请求,通常是 Logger/Handler 未共享同一 LevelVar、存在双重过滤,或多实例只更新了一个进程。223 收藏