在线书架 / BOOKS

电子书籍

从第一章开始,把知识读成体系。

按领域与学习阶段整理的在线电子书与创作手记。覆盖 Rust、Lua、TypeScript、Python、Java(Spring Boot)、Go 与游戏开发、文学创作,从阅读指南进入,或按全书目录查找章节。

了解阅读方式
已收录书稿
23部
可读章节
1095篇
阅读领域
8类

4 部书稿

Rust

从所有权与借用,到工程实战与系统编程。

3 部书稿

Lua

从脚本基础,到语言机制与游戏业务。

2 部书稿

游戏开发

从客户端引擎,到服务端架构与完整项目。

3 部书稿

TypeScript

按入门、实战、高级三步,建立类型与工程能力。

3 部书稿

Python

从语言基础与工程交付,深入 CPython 与性能优化。

3 部书稿

Java

从 Spring Boot 入门与工程实战,到框架内部机制与版本迁移。

4 部书稿

Go

从语言入门到工程实战,再到高级特性与运行时原理。

1 部书稿

创作与写作

一部长篇科幻小说的创作过程与长期写作经验。

如何阅读

这些电子书以网页章节形式在线阅读。每个系列围绕一个完整主题编排,技术书稿与创作手记按领域分别收录。

《Spring Boot 入门 / 实战 / 高级》三部曲已全部上线(入门 61 篇 / 实战 55 篇 / 高级 34 篇,共 150 篇)。《Go 语言编程入门 / 实战 / 高级 / 运行时原理》四卷本已全部上线(入门 61 篇 / 实战 55 篇 / 高级 34 篇 / 运行时原理 30 篇,共 180 篇)。《Python计算机图形学入门》的目录篇仍为草稿。

按更新时间浏览所有章节 · 第 32 / 55 页
typescript

《TypeScript编程入门》5.1 interface 定义对象结构

本节从「如何描述一个对象长什么样」这个问题出发,系统讲解 interface 的定义方式与核心能力:必填属性、可选属性、只读属性、方法签名、索引签名以及接口继承。读者将学会用 interface 为真实业务对象建模,理解 excess property check 的触发时机,并掌握常见报错的定位思路。读完本节,你能为 API 响应、配置项、组件 props 等结构化数据写出清晰的类型契约。

8 分钟阅读
TypeScript TypeScript编程入门 interface
python

《Python编程入门》5.3 循环导入、命名空间包与惰性导入

本节处理导入体系里最易踩坑的三类问题:循环导入的成因与三种真实修法(调整导入位置、TYPE_CHECKING 类型专用导入、把共享部分抽到第三个模块)、PEP 420 命名空间包的机制与适用场景,以及惰性导入的几种做法,含尚未正式发布的 3.15 PEP 810 预览。最后用 python -X importtime 看导入与启动时间的关系。

8 分钟阅读
Python Python编程入门 循环导入
python

《Python编程入门》5.2 包、__init__.py 与相对导入

本节聚焦「包」这种组织模块的方式:有 __init__.py 的目录发生了什么、空文件与写满代码的 __init__.py 各有什么代价、from 包.模块 import 名字 如何逐层解析、相对导入「只能在包内使用」的硬约束从何而来。还讲了 __all__ 对 import * 的控制、用 importlib 动态导入,以及预导入在易用性与启动时间间的取舍。

7 分钟阅读
Python Python编程入门 包与模块
python

《Python编程入门》5.1 import 机制与模块搜索路径

本节从「Python 是怎么找到并加载模块」出发,讲透 import 的三种形式及差异、模块对象与名字绑定的区别、sys.modules 缓存带来的「模块只执行一次」语义,以及 sys.path 的构成与搜索顺序。重点用真实实验对比 python -m 与直接运行脚本时 sys.path[0] 的不同,解释相对导入为何会报错,并说明 __name__ 守卫的原理。

7 分钟阅读
Python Python编程入门 import 机制
typescript

《TypeScript编程入门》4.3 泛型函数入门

泛型是 TypeScript 类型系统里最重要的复用机制。本节从「同一段逻辑要处理多种类型」这个朴素需求出发,讲清类型参数的含义、泛型函数的写法、类型参数的自动推断与显式指定,并重点说明泛型与 any 的本质差别——泛型保留类型信息,any 抹掉类型信息。最后给出多个类型参数、数组与对象泛型的常见模式,以及初学者最容易踩的推断陷阱。读完本节,你能为任意函数写出既不丢类型又足够通用的签名。

9 分钟阅读
TypeScript TypeScript编程入门 泛型函数
typescript

《TypeScript编程入门》4.2 重载、this 类型与箭头函数

一个函数在类型层面可以有多个签名,这就是函数重载。本节先讲清重载签名与实现签名的分工、匹配顺序以及常见的重载误用,再转向 TypeScript 对 this 的处理:this 参数如何显式声明、箭头函数为什么能锁住 this、以及回调里丢失 this 的经典错误如何被编译器提前拦下。读完本节,你能为同一个入口设计出精确的多形态签名,并彻底理解 this 在类型系统中的行为。

8 分钟阅读
TypeScript TypeScript编程入门 函数重载
typescript

《TypeScript编程入门》4.1 签名、可选参数与默认值

函数是 TypeScript 程序的基本构件,而函数签名则决定了调用方能看到什么、编译器能替你检查什么。本节从函数类型注解讲起,逐步展开参数与返回值的标注方式、可选参数与默认值的语义差异、剩余参数与参数解构的写法,并给出严格模式下的常见报错与修复思路。读完后你将能写出签名清晰、对调用方友好、且能被编译器完整校验的函数,为后面学习重载与泛型打下基础。

7 分钟阅读
TypeScript TypeScript编程入门 函数签名
python

《Python编程入门》4.2 函数:参数传递、默认值与作用域

本节把函数讲透:从定义与文档字符串说起,拆解位置、默认、*args、仅关键字、**kwargs 五种参数形态,以及调用时用 * 和 ** 解包。重点讲清默认值只在定义时求值一次的陷阱,它和 3.3 节的可变默认参数一脉相承。随后用 LEGB 规则解释名字查找,说明 global 与 nonlocal 的用法并给出闭包示例,最后介绍类型注解、lru_cache 与 partial。

7 分钟阅读
Python Python编程入门 函数
python

《Python编程入门》4.1 条件、循环与推导式

本节讲清 Python 的流程控制与推导式:先梳理哪些值为假,再拆解 if/elif/else、条件表达式、for 与 while、循环 else 子句、break 与 continue,以及 range、enumerate、zip(含 strict=True)。随后用列表、字典、集合、生成器四种推导式替代啰嗦循环,划清嵌套推导式边界,最后介绍 3.10 起的 match/case 模式匹配。

8 分钟阅读
Python Python编程入门 流程控制
typescript

《TypeScript编程入门》3.3 any·unknown·never·void 与类型断言

本节处理类型系统里的四个边界类型:any、unknown、never、void。先说明 any 为什么是「类型安全的漏洞」以及它的传染性,再讲 unknown 如何作为安全的 any 迫使你收窄,never 如何支撑穷尽性检查与永不返回的函数,void 在回调签名里的特殊地位。随后讲解类型断言 as、非空断言 !、双重断言与 satisfies 运算符的正确用法和滥用后果,并附真实报错对照。

9 分钟阅读
TypeScript TypeScript编程入门 any与unknown
typescript

《TypeScript编程入门》3.2 数组、元组与枚举

本节讲透 TypeScript 里三种「复数形态」的类型:数组、元组与枚举。先对比 T[] 与 Array<T> 两种数组写法、只读数组与多维数组,再讲元组如何用固定长度与固定位置表达「结构化的多返回值」,包括具名元素、可选元素与剩余元素。最后剖析 enum 的编译产物、反向映射与常量枚举的陷阱,并给出用 as const 对象加联合类型替代枚举的现代写法,附可运行的编译前后对照。

7 分钟阅读
TypeScript TypeScript编程入门 数组与元组
typescript

《TypeScript编程入门》3.1 原始类型与类型注解

本节从 TypeScript 的原始类型讲起,逐一介绍 string、number、boolean、null、undefined、symbol、bigint 的语义与写法,系统讲解类型注解语法与类型推断边界,说明什么时候该显式标注、什么时候该交给编译器,并用可运行代码演示严格模式空值检查与隐式 any 报错,帮助零基础读者建立「类型先写还是后写」的判断标准,为后续数组、对象与函数类型打好地基。

8 分钟阅读
TypeScript TypeScript编程入门 原始类型
python

《Python编程入门》3.3 可变与不可变、引用语义与拷贝

本节揭开 Python 对象模型的核心:变量只是绑定到对象的「名字」,而不是存放值的盒子。我们用 id、is 与 == 的真实实验讲清同一性与相等性的区别,实测小整数缓存与字符串驻留的边界,演示可变默认参数这个经典陷阱,对比 copy.copy 与 copy.deepcopy 在处理嵌套结构与循环引用时的差异,并说明函数传参为什么叫「传对象引用」。

6 分钟阅读
Python Python编程入门 引用语义
python

《Python编程入门》3.2 列表、元组、字典与集合

本节系统讲解 Python 的四种内建容器:list、tuple、dict、set。先给出有序性、可变性与查找复杂度的对比表,再分别讲透列表的增删改查与带步长的切片、元组的解包与不可变的真实含义、字典的哈希要求与插入有序、集合的去重与交并差运算,并介绍 collections 中的 deque、Counter、defaultdict 与 namedtuple,最后用实测数据说明何时该换容器。

5 分钟阅读
Python Python编程入门 容器类型
python

《Python编程入门》3.1 数值、字符串与 f-string 格式化

本节讲透 Python 的四大标量类型:int 的任意精度与位数限制、float 的 IEEE 754 二进制表示误差、bool 作为 int 子类的真相,以及 complex 复数。随后深入字符串的不可变性与 Unicode 码位和字节的区别,系统讲解 f-string 的对齐、精度、千分位与嵌套宽度等格式化语法,并对比 % 与 .format() 的适用场景,为后续容器与文本处理打好基础。

5 分钟阅读
Python Python编程入门 数据类型
typescript

《TypeScript编程入门》2.3 第一个项目:从零到运行

本节把零散知识组装成一个能跑起来的完整项目:命令行温度换算器。从创建目录、初始化 npm、安装 typescript 与 @types/node,到编写 tsconfig.json、实现参数解析、编译运行、用 npm scripts 固化流程,再到接入监听模式形成闭环。过程中会解释为什么命令行工具需要 @types/node,以及 dist 该不该提交到 Git。读完你能独立从零搭出小型项目。

9 分钟阅读
TypeScript TypeScript编程入门 第一个项目实战