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

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

《TypeScript编程实战》11.1 组件 props 与泛型组件

本节把 React 组件的 props 从随手写的对象类型升级成一份可演进的接口契约:先讲 children 的三种类型与取舍,再讲可选属性在严格模式下的行为、事件处理器的泛型签名,最后进入泛型组件的完整写法,让列表、表格、选择器这类复用组件在适配任意数据类型时仍然保留推导。文中给出真实编译错误与修复路径,读完能设计出不依赖 any 的组件 API。

9 分钟阅读
TypeScript TypeScript编程实战 React 组件类型
python

《Python高级编程》2.2 类装饰器、__set_name__ 与属性工厂

本节讲透类装饰器与 __set_name__ 的执行时机:类装饰器在元类 __init__ 之后运行,看到的是已经完成 __set_name__ 的类对象;__set_name__ 按定义顺序为每个描述符调用一次,且 3.12 起异常不再被包装成 RuntimeError。再用属性工厂与 __init_subclass__ 组合实测一个字段收集框架,并对照标准库 cached_property。

6 分钟阅读
Python Python高级编程 类装饰器
typescript

《TypeScript高级编程》2.3 类型级数据结构与图灵完备

本节把条件类型与 infer 拼成类型级的数据结构与算法:以元组模拟数组与单链表、用元组长度实现类型级加减乘除与比较、用对象类型充当字典并按键值反查键名,再借逆变合并把联合转成元组。由此说明 TypeScript 类型系统为何是图灵完备的,以及这种能力在编译时间、错误信息与可维护性上的真实代价。读完本节,你能判断一个类型工具该手写还是该改用代码生成。

8 分钟阅读
TypeScript TypeScript高级编程 类型级编程
typescript

《TypeScript高级编程》2.2 infer 与递归

本节讲解 infer 在条件类型中做模式匹配与类型提取的规则:推断位置受协变与逆变影响的结果、同一推断变量出现在多处时的合并规则,以及在模板字面量类型中捕获子串、解析路由参数的技巧。随后引入递归条件类型,讲清递减输入与显式终止分支这两条铁律,并用累积参数避免结果反转。读完本节,你能用 infer 与递归实现真实的类型级提取工具,并知道如何规避深度超限报错。

8 分钟阅读
TypeScript TypeScript高级编程 infer
typescript

《TypeScript高级编程》2.1 条件类型与分发

本节从条件类型的语法与可赋值性判定讲起,重点剖析「分发」这一最反直觉的行为:为什么裸类型参数会让联合类型被逐成员展开、如何用元组包裹关闭分发、never 在分发中的特殊性,以及它与映射类型、键重映射组合后如何实现按键值类型筛选字段。读完本节,你能读懂主流工具库的类型定义,并写出行为可预测、不会误分发的条件类型工具。

9 分钟阅读
TypeScript TypeScript高级编程 条件类型
typescript

《TypeScript编程实战》10.3 心跳、重连与广播

长连接上线前还有三块拼图没补齐:它会静默假死、断了要能自动恢复、单实例的订阅表在多副本部署下会失效。本节先讲清心跳为什么必须由应用层承担、ping/pong 与业务保活如何配合、指数退避加抖动如何避免重连风暴,再讲断线后的状态补偿与消息幂等,最后用 Redis 发布订阅把广播从单机扩展到集群,并给出背压、慢消费者与可观测性的落地方案。

9 分钟阅读
TypeScript TypeScript编程实战 心跳
typescript

《TypeScript编程实战》10.2 SSE 与流式响应

当服务端只需单向推送时,WebSocket 是过重的选择。本节讲透 SSE 的文本帧格式、id 与 retry 字段的作用、服务端如何用 ReadableStream 输出事件流、客户端 EventSource 的自动重连为何常常失效,以及需要 POST 与自定义请求头时如何改用 fetch 读取。还给出事件契约的类型化写法与流式 JSON 增量解析,并指出代理缓冲与超时这几个必踩的坑。

8 分钟阅读
TypeScript TypeScript编程实战 SSE
typescript

《TypeScript编程实战》10.1 WebSocket 消息协议判别联合

WebSocket 是长连接,一条通道上会流动几十种语义完全不同的消息,而 JSON.parse 返回的 any 会让类型安全在最需要它的地方失效。本节用判别联合为消息族建模:挑选有限且显式的字面量判别键、让 switch 自动收窄、用 never 做穷尽检查、在 JSON 边界用 Zod 做运行时校验,并给出前后端共享协议包与版本协商的落地方式。

7 分钟阅读
TypeScript TypeScript编程实战 WebSocket