在线书架 / BOOKS

电子书籍

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

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

了解阅读方式
已收录书稿
19部
可读章节
915篇
阅读领域
7类

4 部书稿

Rust

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

3 部书稿

Lua

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

2 部书稿

游戏开发

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

3 部书稿

TypeScript

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

3 部书稿

Python

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

3 部书稿

Java

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

1 部书稿

创作与写作

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

如何阅读

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

《Spring Boot 入门 / 实战 / 高级》三部曲已全部上线(入门 61 篇 / 实战 55 篇 / 高级 34 篇,共 150 篇)。《Python计算机图形学入门》的目录篇仍为草稿。

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

《TypeScript高级编程》10.1 类型守卫与验证库原理

本节讲运行时校验的第一道防线:类型守卫与验证库。先说清 is 守卫的声明本质与它并不能真正校验的事实,再拆解手写守卫在嵌套对象、数组、穷尽性检查上的漏判与误判,然后从零实现一个以 schema 为唯一事实来源的验证器,讲透 parse 与 safeParse 的分工和 InferOutput 类型推导的原理。读完你能为项目选对守卫写法,并看懂主流验证库的类型推导机制。

9 分钟阅读
TypeScript TypeScript高级编程 类型守卫
typescript

《TypeScript编程实战》18.3 发布后验证与回滚

本节把「部署完成」之后的那段时间当成发布本身的一部分:先给出冒烟、合成监控、真实用户指标、业务指标四层验证的具体做法,讲清指标为什么必须带版本标签才能对比新旧;再把回滚拆成镜像、流量、开关、配置、数据五类对象,给出各自的耗时与代价,并说明数据库不可回滚时该向前修复还是恢复备份;最后落到自动回退门禁与无责复盘。读完后你能给发布配上一套可验证、可止损的收尾流程。

10 分钟阅读
TypeScript TypeScript编程实战 发布后验证与回滚
typescript

《TypeScript编程实战》18.2 数据库迁移与灰度发布

本节讲清「代码能随时回滚、数据库不能」这个不对称性带来的全部约束:先用 expand-contract 把破坏性结构变更拆成向前兼容的多步,再给出大表回填的分批限速写法与迁移在流水线中的正确位置,最后系统对比蓝绿、金丝雀、滚动与功能开关四种灰度形态,并给出灰度期的指标判定与契约兼容要求。读完后你能设计一条可灰度、可回滚的发布路径。

10 分钟阅读
TypeScript TypeScript编程实战 数据库迁移与灰度发布
typescript

《TypeScript编程实战》18.1 Docker 与 CI/CD 流水线

本节把 TypeScript 服务从「本地能跑」推进到「可重复交付」:先用多阶段 Dockerfile 拆开依赖层、构建层与运行层,讲清镜像为何能从 1.2GB 降到 180MB;再给出分层清晰的 CI/CD 流水线,覆盖类型检查、测试、镜像构建、签名与制品晋级;最后落到缓存、非 root 运行、健康检查与供应链加固这些易踩的坑。读完后你能独立写出从提交到上线的自动化流水线。

8 分钟阅读
TypeScript TypeScript编程实战 Docker 与 CI/CD
java

《Spring Boot 入门》15.2 版本化迁移脚本

本节讲透 Flyway 脚本本身:V{版本}__{描述}.sql 命名规范里那个常被写错的双下划线、整数与时间戳两类版本号怎么选、版本化迁移与 R__ 可重复迁移的适用场景,以及「脚本一旦执行就不能改」背后的 checksum 校验机制与真实报错。针对社区版没有 undo 的现实,给出前滚修复与备份的应对方式,并完整演示 V1 建表、V2 加字段、R__ 建视图。

10 分钟阅读
Spring Boot Spring Boot 入门 Flyway
typescript

《TypeScript高级编程》9.3 循环依赖与类型-only 导入

本节解决工程中最隐蔽的一类问题:循环依赖与类型导入。先对比 ESM 与 CJS 下循环依赖的不同表现,解释暂时性死区与部分导出为何会让值在初始化阶段变成 undefined,再说明 import type 为什么能从产物中彻底消失、从而在结构上切断循环,随后对照三种类型导入写法的差异,最后给出检测工具与抽取共享类型的重构套路。

9 分钟阅读
TypeScript TypeScript高级编程 循环依赖
typescript

《TypeScript高级编程》9.2 条件导出与 bundler 语义

本节深入 package.json 的 exports 字段:先讲它如何取代 main 与 module 实现真正的封装,再拆解子路径映射、条件对象与数组回退三种形态,重点讲清条件键的顺序语义为何决定成败,然后对照 bundler 与 Node 在条件集合上的差异,最后给出一个可直接复制的双包库配置。读完你能自己写出既被 Node 认识、又让 TypeScript 找到类型的导出表。

9 分钟阅读
TypeScript TypeScript高级编程 条件导出
typescript

《TypeScript高级编程》9.1 moduleResolution 各模式对照

本节把 TypeScript 的模块解析讲成一张对照表:先说明编译器为何要自己实现解析规则,再拆解 classic、node10、node16、nodenext、bundler 五种模式在扩展名与条件导出上的差异,再给出 module 与 moduleResolution 的合法组合,最后用三种典型工程配置收束。读完你能为任意项目选对模式,并看懂 Cannot find module 报错。

9 分钟阅读
TypeScript TypeScript高级编程 moduleResolution