在线书架 / 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计算机图形学入门》的目录篇仍为草稿。

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

《TypeScript编程实战》4.3 类型测试与覆盖率门禁

本节补上测试体系的最后两个维度:类型测试用 vitest 的 typecheck 模式与 expectTypeOf 把类型契约纳入回归,用 @ts-expect-error 断言非法用法必须被拒绝;覆盖率门禁讲清四个指标的差异、v8 与 istanbul 的取舍、thresholds 与 perFile 配置,以及为什么覆盖率不等于正确性,最后把整套测试串进 CI 流水线。

9 分钟阅读
TypeScript TypeScript编程实战 类型测试与覆盖率门禁
typescript

《TypeScript编程实战》4.2 集成测试与 Testcontainers

本节解决「单测全绿、上线照样炸」的问题:先讲清 mock 越多失真的原因,再引入 Testcontainers,用一次性 Docker 容器拉起真实的 PostgreSQL 与 Redis,让集成测试跑在与生产同构的依赖上。内容包括容器生命周期与 globalSetup 复用、等待策略、按 worker 隔离 schema、Prisma 迁移执行与 CI 差异处理。读完你能写出可信的集成测试。

8 分钟阅读
TypeScript TypeScript编程实战 Testcontainers 集成测试
typescript

《TypeScript编程实战》4.1 Vitest 单元测试

本节把单元测试落到 Vitest 上:先说明现代 TypeScript 项目为何更倾向它,再给出安装步骤与 vitest.config.ts 最小写法;随后用汇率换算与订单支付两个例子演示 describe/it/expect 写法与 toBe/toEqual 的判等差异,并展开 vi.fn、vi.spyOn、vi.mock 三种替身与假定时器的用法。读完你能写出跑得快、报错清晰的单元测试。

8 分钟阅读
TypeScript TypeScript编程实战 Vitest 单元测试
typescript

《TypeScript编程实战》3.3 结构化日志与脱敏

本节说明 console.log 为什么在生产环境不可用,并给出结构化日志的字段约定。随后用 pino 搭一套类型安全的日志封装:child logger 绑定请求上下文、err 序列化器还原堆栈与 cause、redact 路径与自定义 serializer 做脱敏。最后讲如何把日志与 trace_id 关联、级别与采样策略,以及 JSON.stringify(error) 得到空对象等坑。

6 分钟阅读
TypeScript TypeScript编程实战 结构化日志
typescript

《TypeScript编程实战》3.2 全局错误边界与未捕获异常

本节讲 Result 覆盖不到的失败:Node 进程级的 uncaughtException 与 unhandledRejection 该怎么用;React 错误边界如何捕获渲染期异常,以及它捕获不到事件处理器与异步错误的原因;Next.js App Router 的 error.tsx 与 global-error.tsx 落点。最后给出统一的上报管线与去重、采样、flush 等实战细节。

6 分钟阅读
TypeScript TypeScript编程实战 错误边界
typescript

《TypeScript编程实战》3.1 Result/Either 与类型化错误

本节从 throw 的类型黑洞讲起,说明 TypeScript 的函数签名为何无法表达失败路径。随后手写一套零依赖的 Result/Either 判别联合:Ok/Err 构造、isOk/isErr 类型守卫、map/mapErr/andThen 组合子、unwrapOr 兜底与 fromPromise 互转。再讨论异步流程中把错误搬进类型签名的写法,并划清预期业务错误与意外异常的分工。

6 分钟阅读
TypeScript TypeScript编程实战 Result与Either