posts

文章归档

PlumePHP 全站文章的归档入口,按时间倒序汇总各专题的技术文章,并提供按主题浏览的专题分类入口。

这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。

全部文章

全部文章 Books game Java Indie golang 客户端开发 Minigame Saas rust Python
golang

《Go 语言编程入门》15.3 统一错误响应与输入校验

service 抛出的领域错误怎么变成正确的 HTTP 状态码?本节把错误映射收敛到一处:定义领域错误集、用 errors.Is/As 分支把 ErrNotFound 映射成 404、把校验错误映射成 422,并给出统一的 JSON 错误响应结构。同时实现带字段的输入校验,让客户端知道到底是哪个字段不合法,最后强调不要把内部错误细节泄露给外部。

6 分钟阅读
Go Go 语言编程入门 错误处理
golang

《Go 语言编程入门》15.2 依赖注入与项目分层

配置有了,谁来把它组装成运行中的对象?本节讲 TaskAPI 的分层:handler 只做协议转换、service 承载业务规则、store 负责持久化,三者用接口解耦。然后演示 Go 惯用的手工依赖注入——在 main 这个 composition root 里把所有依赖 new 出来、逐层注入,不引入任何 DI 框架,并用 fake store 证明层与层之间可替换。

6 分钟阅读
Go Go 语言编程入门
golang

《Go 语言编程入门》15.1 配置加载(flag/env/文件)

把端口、超时、数据库地址写死在代码里,是项目长大的第一道坎。本节讲清配置的三个来源——命令行 flag、环境变量、JSON 配置文件——各自的读取方式与适用场景,给出「flag > env > 文件 > 默认」的合并优先级实现,用 flag.Visit 区分「显式设置」与「默认值」,并在启动时做 fail-fast 校验。

5 分钟阅读
Go Go 语言编程入门
agent

《AI Agent 开发入门》14.2 超时、取消与结构化并发

asyncio.timeout 与 TaskGroup 通过取消协作任务实施超时。工具在 CancelledError 后清理资源并重新抛出,不能吞掉取消继续运行。同步线程、阻塞扩展和外部副作用不会因此被强制终止。to_thread 只转移阻塞工作;取消 await 不停止已经执行的线程。强终止需要独立进程与相应资源生命周期设计。

2 分钟阅读
AI Agent AI Agent 开发入门
计算机视觉

计算机视觉任务全景与工程链路

本文梳理计算机视觉的任务全景与端到端工程链路,回答从需求到上线该选什么任务、用什么指标、按什么顺序搭管线。覆盖分类、检测、分割、姿态、检索、OCR、跟踪等任务的输入输出与评估指标(Top-1、mAP、mIoU、PCK、FPS),并给出数据采集、标注、训练、导出 ONNX、服务化、监控回流的完整流程与两个可运行的 torchvision 示例,最后总结选型权衡与常见坑。

11 分钟阅读
books

《互联网产品的客户端架构·端形态与体验基础》1.1 客户端架构的四个独有约束

从「回声」的三类界面出发,把客户端架构与服务器架构的差别收敛成设备碎片化、网络不确定、生命周期被打断、分发不可回滚四个独有约束,给出可运行的 TypeScript 分类器与测试,并复盘一次把在线默认值带进离线场景的失败,说明端上判断为什么必须先于框架选型。

9 分钟阅读
书稿 互联网产品 客户端架构