如何阅读
- 系统学习:点击「开始阅读」,先了解这本书的学习路径,再按章节顺序通读。
- 查找章节:点击「全书目录」,直接查看分章索引,跳到需要的小节。
- 选择起点:初学者先读入门卷,有基础的读实战卷,研究语言机制的读高级卷或系统编程卷。
这些电子书以网页章节形式在线阅读。每个系列围绕一个完整主题编排,技术书稿与创作手记按领域分别收录。
在线书架 / BOOKS
从第一章开始,把知识读成体系。
按领域与学习阶段整理的在线电子书与创作手记。覆盖 Rust、Lua、TypeScript、Python、Java(Spring Boot)、Go、AI Agent、MMO 服务器开发(Go 主线 + Java 21 双栈对照,四卷本 180 篇)、游戏开发(含 Cocos 四卷本与《游戏引擎实现原理》四卷本)与文学创作,从阅读指南进入,或按全书目录查找章节。
了解阅读方式4 部书稿
从所有权与借用,到工程实战与系统编程。
3 部书稿
从脚本基础,到语言机制与游戏业务。
2 部书稿
从客户端引擎,到服务端架构与完整项目。
4 部书稿
用 Go 从零实现一套能真跑、能压测、能跨服的 MMO 服务端 aegis,Java 21 作为双栈对照。
用 Go 从零实现 aegis 的网络底座:协议、KCP、会话、路由、定时器、Actor、同步模型与安全,直到能登录、能移动、能广播的最小服务器。
把玩法装进底座:实体运行时、AOI、战斗、背包、任务、社交、交易与匹配,把《晨曦大陆》做成单服可玩。
把单服推成集群:服务发现、RPC、网关集群、实例调度、跨服玩法、缓存、分库分表与分布式事务。
把服务端交付并长期运营好:压测、性能、可观测性、部署发布、配置热更、数据分析、GM 后台与容灾演练。
4 部书稿
从零手写 2D 运行时,到 Cocos Creator 3.8 交付产品,再到引擎内部与客户端联机。
手写 mini2d 运行时打通帧循环、渲染、物理与存档,每章对照 Cocos Creator 3.8。
用 Cocos Creator 3.8 交付《方块冲刺》,走到 H5 / 微信小游戏 / 原生三端上线。
深入渲染管线、Effect 体系与内存性能,学会读源码、裁剪引擎并评估升级。
从预测与和解到弱网降级,用可单测的纯逻辑实现《方块冲刺》双人竞速客户端。
4 部书稿
用 TypeScript 从零实现一个 3D 游戏引擎:内核、渲染、子系统与工具,直到工程化交付。
用 TypeScript 从零写出 helio 内核:内存、句柄、ECS、任务与反射,直到《微光岛》第一个能走动的方块。
从 RHI 三后端到帧图与后处理,把《微光岛》的小岛真正渲染出来。
资源管线、动画物理音频输入与脚本热重载,外加一套能编辑、能撤销、能存盘的编辑器。
构建、测试、性能、跨端与交付:把《微光岛》从能跑推到能发,并做跨引擎对照。
3 部书稿
按入门、实战、高级三步,建立类型与工程能力。
从基本类型、函数与泛型,到类型建模、模块和工程配置,以全栈项目收尾。
面向项目交付,覆盖测试、服务端与数据层、前端类型实践、API 契约及部署运维。
面向库与工具链作者,深入类型级编程、编译器 API、声明发布和运行时边界。
3 部书稿
从语言基础与工程交付,深入 CPython 与性能优化。
面向零基础读者,从数据结构与函数,到类型注解、并发异步、测试打包与应用项目。
从工程脚手架出发,实践 Web 服务、数据访问、后台任务、自动化与生产部署。
深入 CPython 对象模型、字节码、GC 与并发运行时,理解扩展机制和性能工程。
3 部书稿
从 Spring Boot 入门与工程实战,到框架内部机制与版本迁移。
面向零基础读者,从环境搭建与第一个接口,到 Web、数据访问、测试与完整项目。
从工程脚手架出发,实践 Web 服务、数据访问、缓存、消息与生产部署交付。
深入容器、自动配置、AOP、请求管线与事务机制,理解框架内部与 3.x 到 4.x 迁移。
4 部书稿
从语言入门到工程实战,再到高级特性与运行时原理。
3 部书稿
从零手写 Agent 引擎,到工程化服务,再到框架重写与生产化加固。
从零手写 Agent 引擎 minagent,把消息、工具、记忆、编排、评测到服务化逐章跑通。
把引擎装成可上线的研究助理服务,覆盖接口、数据、并发、可观测与部署交付。
用主流框架重写研究助理并剖析源码,补齐持久化、计算机使用、A2A 与生产化加固。
1 部书稿
一部长篇科幻小说的创作过程与长期写作经验。
这些电子书以网页章节形式在线阅读。每个系列围绕一个完整主题编排,技术书稿与创作手记按领域分别收录。
按书架顺序查看各系列的发布状态,展开分卷详情可查看每部书的篇数与目录。
目录篇仍为草稿,发布后开放阅读入口。
本节把写好的 TypeScript 代码真正送上生产:先讲清构建产物与运行时的差异,对比静态托管、长驻 Node 进程、Serverless、npm 包四种部署形态,再给出把类型检查放在第一道门禁的 CI 流水线。随后讲环境变量的启动期校验、语义化版本号在 TS 项目里的特殊含义、全量与灰度、金丝雀、蓝绿三种发布策略的取舍,以及回滚时最该先想清楚的数据库迁移问题。
本节解决全栈项目里最费神的一类问题:同一份数据结构在前后端被写了两遍。我们先比较手工复制、共享包、代码生成三种做法的取舍,再把 API 契约落成显式的请求与响应类型,用 Zod 让类型与运行时校验同源,讲清类型擦除后边界数据为什么必须校验。最后给出字段增删的兼容策略、统一错误契约,以及日期、大整数、可选字段这几类序列化陷阱的规避方法。
本节把前面散落的语言知识收拢成一个能交付的项目骨架:先对比按类型、按功能、按层三种组织方式的代价,再讲清分层的本质是依赖方向单向,并用一棵完整目录树演示 domain、application、infrastructure、interfaces 各层怎么摆。随后区分 DTO、领域模型与视图模型三类类型,用接口把依赖倒置落地,最后给出循环依赖、跨层直连、上帝模块三种腐化信号的识别与修复。
学会读 --debug 打印的自动配置报告:从 Positive/Negative matches、Exclusions、Unconditional classes 四段定位 bean 为何没生效,用 DataSource 实例逐层看 reason,再用 ConditionEvaluationReport、Actuator 端点与 IDE 断点把排查串起来,附症状速查表。
把 pandas 与 polars 放在一起讲:用同一份 50 万行销售数据各跑一遍 groupby 聚合,对比代码量与实测耗时,再实测 dtype 与内存占用、链式调用与惰性 API、apply 与向量化的性能差,并说清缺失值、NaN 与链式赋值的坑。
从合规边界讲起:用 urllib.robotparser 解析 robots.txt、遵守服务条款与请求频率,再在本地 http.server 上真抓真解析,掌握 httpx 状态码与编码处理、BeautifulSoup 的 find 与 select、分页限速与指数退避,以及动态渲染与存储去重。
用 pathlib 与 shutil 把散落的文件批量重命名、按扩展名归类、安全删除,掌握 zipfile/tarfile 的解压炸弹与路径穿越防护,再用 openpyxl 读写带公式与样式的 Excel,最后用 subprocess 与轮询式监听接进日常工作流。
以《孢子崛起》中的共生试验为样章,模拟如何写出技术希望、伦理代价、资源不平等和自然边界之间的冲突。
从零手写一个可发布的 acme-spring-boot-starter:完整 pom、配置属性类、客户端、@AutoConfiguration 自动配置类与 .imports 登记文件,配条件装配与排序保证不侵入宿主项目,再讲 mvn install、宿主验证、--debug 报告片段与七个常见错误。
从一行 spring-boot-starter-webmvc 出发,拆开一个 starter 的两块拼图——依赖聚合模块与自动配置模块,用 4.1.1 的真实依赖树讲清它到底拉了哪些 jar,再给出 4.0 模块化后的命名三段式、-test 测试模块约定、为什么 starter 不能带 @ComponentScan,以及按用途分类的官方 starter 一览表。
本节解决「多个包如何在一个仓库里协同」这件事。先说清什么时候真的需要 Monorepo,再用一个 pnpm workspace 示例搭出目录结构;接着解释不用 Project References 会退化成什么样子,配好 composite 与 references 跑通 tsc -b 增量构建;最后处理 paths 别名与项目引用的冲突,并给出高频报错清单。
本节解释为什么 tsc 不再是唯一的编译路径,并对比 esbuild、swc、tsup 三类工具的定位与取舍。先看它们「快」的代价是什么,再讲清产物三件套 ESM、CJS、d.ts 分别服务谁,接着拆解 sourcemap 与 tree-shaking 在打包语境下的真实行为,最后给出「类型检查与打包分离」的工程范式与高频踩坑清单。读完你能为库或应用选出合适的构建链。
本节把 tsconfig.json 里最容易配错的两组选项讲透:编译目标与严格模式。先看 target、lib、module 三者如何共同决定产物语法与可用 API,再逐项拆开 strict 背后的多个子开关,说明每个开关能拦住哪一类真实 bug;最后给出老项目从低严格度到全严格的分阶段迁移路线,并汇总高频报错与排查方法。读完你能独立为任意项目写出一份有理有据的 tsconfig。
本节把配置源按官方 4.x 顺序完整排一遍,并用实测回答「同一个键在五处定义时谁生效」:先给出从命令行、环境变量到默认属性的优先级表,再讲环境变量的命名转换、占位符与 random 值、--key=value 与 -D 的区别,最后给出配置加密的思路与选型。
把 Pydantic 校验、FastAPI 依赖注入与 SQLAlchemy 2.x 数据库访问拼成一个真实后端:Field 约束与自定义校验器、带 yield 的依赖做资源清理、select() 2.0 风格 CRUD 真跑 SQLite,并讲清 ORM 模型与 Pydantic 模型为何分离。
用 FastAPI 写下第一个真实可跑的 API:路径参数、查询参数、Pydantic 请求体、response_model、HTTPException、BackgroundTasks、APIRouter 与 Depends,看它自动生成的 OpenAPI 文档,并用 TestClient 写测试;最后实测 def 与 async def 端点的线程差异。
从一次真实的 HTTP 交互出发,看懂请求行、状态码、响应头与消息体;再分别手写最小 WSGI 应用(wsgiref)与最小 ASGI 应用(uvicorn)并真跑起来,对照 environ 与 scope 结构,理解同步阻塞模型与事件循环模型的根本差异。
以《孢子崛起》中乐汀复课为样章,模拟如何让孩子保存危机记忆,避免灾后重建被写成过快恢复。
本节把 6.1 里的一整块配置绑成类型安全的 Java 对象:先对比 @ConfigurationProperties 与 @Value 的差别,再给出 record 与构造器绑定的写法(4.x 已无需 @ConstructorBinding),覆盖嵌套对象、List/Map 与松散绑定规则,最后用 @Validated 做校验并生成 IDE 补全元数据。
本节围绕「图书管理服务」的 dev/test/prod 三套配置展开:先对比 properties 与 yml 的取舍,再拆解 YAML 的缩进、冒号、隐式类型、多文档等六个常见坑;然后讲清 application-{profile}.yml 的命名、激活方式、@Profile 与组合表达式,最后用 spring.config.import 读取 .env 并介绍 4.1 的编码指定能力。