如何阅读
- 系统学习:点击「开始阅读」,先了解这本书的学习路径,再按章节顺序通读。
- 查找章节:点击「全书目录」,直接查看分章索引,跳到需要的小节。
- 选择起点:初学者先读入门卷,有基础的读实战卷,研究语言机制的读高级卷或系统编程卷。
这些电子书以网页章节形式在线阅读。每个系列围绕一个完整主题编排,技术书稿与创作手记按领域分别收录。
在线书架 / 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 部书稿
一部长篇科幻小说的创作过程与长期写作经验。
这些电子书以网页章节形式在线阅读。每个系列围绕一个完整主题编排,技术书稿与创作手记按领域分别收录。
按书架顺序查看各系列的发布状态,展开分卷详情可查看每部书的篇数与目录。
目录篇仍为草稿,发布后开放阅读入口。
本节讲清 Python 的流程控制与推导式:先梳理哪些值为假,再拆解 if/elif/else、条件表达式、for 与 while、循环 else 子句、break 与 continue,以及 range、enumerate、zip(含 strict=True)。随后用列表、字典、集合、生成器四种推导式替代啰嗦循环,划清嵌套推导式边界,最后介绍 3.10 起的 match/case 模式匹配。
把《孢子三部曲》第一轮盘点推进到30天执行计划,第1周完成原稿收拢、拆章、编号和章节卡片初填。
本节处理类型系统里的四个边界类型:any、unknown、never、void。先说明 any 为什么是「类型安全的漏洞」以及它的传染性,再讲 unknown 如何作为安全的 any 迫使你收窄,never 如何支撑穷尽性检查与永不返回的函数,void 在回调签名里的特殊地位。随后讲解类型断言 as、非空断言 !、双重断言与 satisfies 运算符的正确用法和滥用后果,并附真实报错对照。
本节讲透 TypeScript 里三种「复数形态」的类型:数组、元组与枚举。先对比 T[] 与 Array<T> 两种数组写法、只读数组与多维数组,再讲元组如何用固定长度与固定位置表达「结构化的多返回值」,包括具名元素、可选元素与剩余元素。最后剖析 enum 的编译产物、反向映射与常量枚举的陷阱,并给出用 as const 对象加联合类型替代枚举的现代写法,附可运行的编译前后对照。
本节从 TypeScript 的原始类型讲起,逐一介绍 string、number、boolean、null、undefined、symbol、bigint 的语义与写法,系统讲解类型注解语法与类型推断边界,说明什么时候该显式标注、什么时候该交给编译器,并用可运行代码演示严格模式空值检查与隐式 any 报错,帮助零基础读者建立「类型先写还是后写」的判断标准,为后续数组、对象与函数类型打好地基。
本节揭开 Python 对象模型的核心:变量只是绑定到对象的「名字」,而不是存放值的盒子。我们用 id、is 与 == 的真实实验讲清同一性与相等性的区别,实测小整数缓存与字符串驻留的边界,演示可变默认参数这个经典陷阱,对比 copy.copy 与 copy.deepcopy 在处理嵌套结构与循环引用时的差异,并说明函数传参为什么叫「传对象引用」。
本节系统讲解 Python 的四种内建容器:list、tuple、dict、set。先给出有序性、可变性与查找复杂度的对比表,再分别讲透列表的增删改查与带步长的切片、元组的解包与不可变的真实含义、字典的哈希要求与插入有序、集合的去重与交并差运算,并介绍 collections 中的 deque、Counter、defaultdict 与 namedtuple,最后用实测数据说明何时该换容器。
本节讲透 Python 的四大标量类型:int 的任意精度与位数限制、float 的 IEEE 754 二进制表示误差、bool 作为 int 子类的真相,以及 complex 复数。随后深入字符串的不可变性与 Unicode 码位和字节的区别,系统讲解 f-string 的对齐、精度、千分位与嵌套宽度等格式化语法,并对比 % 与 .format() 的适用场景,为后续容器与文本处理打好基础。
为《孢子三部曲》建立废稿归档模板,用于整理旧稿、半成品设定、被替换场景和可复用灵感,避免旧稿拖住正文修订。
本节把零散知识组装成一个能跑起来的完整项目:命令行温度换算器。从创建目录、初始化 npm、安装 typescript 与 @types/node,到编写 tsconfig.json、实现参数解析、编译运行、用 npm scripts 固化流程,再到接入监听模式形成闭环。过程中会解释为什么命令行工具需要 @types/node,以及 dist 该不该提交到 Git。读完你能独立从零搭出小型项目。
本节拆开 TypeScript 编译器 tsc 与它的配置文件 tsconfig.json。先运行 tsc 观察 .ts 转成 .js 的过程,再用 tsc --init 生成配置,讲清 target、module、outDir、strict 的含义与取舍;再通过编译前后对照理解「类型擦除」,最后给出 include/exclude 的误用与报错。读完你能读懂一份 tsconfig.json。
本节从零搭建 TypeScript 开发环境:先讲清为什么必须先装 Node.js,再对比官方安装包、nvm 与系统包管理器三种方式的取舍,逐步验证 node、npm、npx 三个命令;接着说明 TypeScript 为什么应该装成项目本地依赖而不是全局命令,并给出 VS Code 的编辑器配置建议。读完后你能拥有一套可复现、可协作的本地环境,并认识安装过程中最常见的报错与排查方法。
单文件脚本撑不起真实项目。本节先讲一个标准 Python 项目该长什么样,对比 src 布局与平铺布局的取舍,说明 tests、README、.gitignore 各放什么;再拆开 pyproject.toml 的三段结构(build-system、project、tool),讲清 requires-python 的含义;最后贴出 uv init 实际生成的文件内容,让你照着就能搭起项目骨架。
环境装好后,本节带你选编辑器并把解释器指向上节建好的虚拟环境;随后系统讲解 REPL 在 3.13 之后的改进(多行编辑、语法高亮、直接输入 exit 退出),以及 python -c、python -m、python -i 三种命令行用法;最后写出并实际运行第一个脚本,讲清 __name__ 判断这个惯用法的作用,并附命令行速查与常见报错排查清单。
本节从零安装 Python:先对比 macOS、Windows、Linux 三种平台各自的安装方式与坑,再解释 python 与 python3 的历史包袱;随后用一整段讲清「为什么必须用虚拟环境」,手把手创建、激活、退出 venv 并读懂 pyvenv.cfg;最后介绍 pyenv 管理多版本和 uv 这一新一代工具,用真实的 PATH 对比说明「激活」到底改了什么。
为《孢子三部曲》建立伏笔编号模板,用于管理自然线索、人物伤痕、信息隐瞒、物件细节和结构回声。
本节把 TypeScript 放回真实的技术版图:先给出判断「何时收益最大、何时不划算」的几条标准,再逐个巡视它的主战场——React 与 Vue 前端、NestJS 与 tRPC 后端、Deno/Bun 与边缘运行时、CLI 工具、桌面与跨端应用。你会看到 Vite、esbuild、SWC 组成的工具链分工,以及类型声明生态的成熟度信号。读完本节,你能为自己的下一个项目做出有依据的技术选型。
本节回答一个新手最容易搞混的问题:TypeScript 和 JavaScript 到底是什么关系。我们用一张集合图讲清「超集」的含义,再通过一次完整的编译对照,让你亲眼看到类型注解、interface、type 别名在产物里如何被整行抹掉,而 enum 与装饰器又为什么是例外。最后归纳类型擦除留下的三个运行时盲区,并给出对应做法。读完本节,你能准确判断哪些信息在运行时还活着、哪些只属于编译期。
本节从 2010 年前后大型 JavaScript 应用的维护困境讲起,梳理 TypeScript 由 Anders Hejlsberg 主导诞生的真实动机,并逐条拆解官方的十一条设计目标。你会看到「不引入新运行时」「渐进式采用」如何被翻译成今天的语言行为,理解为什么类型在运行时并不存在。读完本节,你能讲清 TypeScript 解决什么问题、又刻意不解决什么,为后续编码建立正确的心智模型。
本节拆开 CPython 的执行模型:源码经过词法与语法分析生成 AST,再编译成字节码,最后由虚拟机执行。我们会用 ast 打印语法树、用 dis 真实反汇编一段代码,看到 3.14 的新字节码指令与常量折叠。随后对比 CPython、PyPy、实验性 JIT 与自由线程构建的关系,说明「Python 是解释型语言」并不准确。读完本节,你能用 dis 观察任何一段代码在解释器眼里的样子。