如何阅读
- 系统学习:点击「开始阅读」,先了解这本书的学习路径,再按章节顺序通读。
- 查找章节:点击「全书目录」,直接查看分章索引,跳到需要的小节。
- 选择起点:初学者先读入门卷,有基础的读实战卷,研究语言机制的读高级卷或系统编程卷。
这些电子书以网页章节形式在线阅读。每个系列围绕一个完整主题编排,技术书稿与创作手记按领域分别收录。
在线书架 / 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 部书稿
一部长篇科幻小说的创作过程与长期写作经验。
这些电子书以网页章节形式在线阅读。每个系列围绕一个完整主题编排,技术书稿与创作手记按领域分别收录。
按书架顺序查看各系列的发布状态,展开分卷详情可查看每部书的篇数与目录。
目录篇仍为草稿,发布后开放阅读入口。
Rust 的设计核心之一是同时追求高性能和高安全性,这在传统系统级语言中往往难以兼得。通过创新的所有权系统、静态类型检查以及编译器优化,Rust 实现了这两个看似矛盾目标的平衡。
在计算机科学的历史中,编程语言的演化始终围绕着提高生产力和降低复杂性展开。从最初的机器码到汇编语言,再到现代的高级语言,每一次革新都解决了当时技术环境中的核心痛点。而 Rust 的诞生,则回应了系统级编程在性能与安全上的双重挑战。
近年来,Rust 成为了编程语言领域的一颗新星。它不仅在开发者社区中赢得了极高的评价,还连续多年在 Stack Overflow 开发者调查中被评为“最受喜爱的编程语言”。那么,是什么让 Rust 脱颖而出,成为众多开发者心目中的“理想语言”呢?
《Rust编程实战》是一套聚焦于 Rust 工程实践的进阶教程。教程深入探讨 Rust 的所有权模型、生命周期高级用法、trait 设计、宏编程、并发与异步、Unsafe Rust 等核心主题,并通过 Web 开发、CLI 工具、嵌入式和物联网等多个领域的项目案例,展示 Rust 在真实工业场景中的应用。
Rust 的学习和使用过程中,开发者可能会遇到各种问题。本附录总结了一些常见问题及其解决方案,希望帮助你快速定位并解决问题。
Rust 语言的强大不仅源于其设计理念和功能特性,还得益于丰富的开发工具和活跃的社区资源。本附录汇总了一些常用的工具和学习资源,帮助开发者高效开发和学习 Rust。
Rust 的标准库(std)是构建高效、安全、功能丰富的程序的重要基石。它提供了丰富的模块、数据结构、工具和功能,支持开发者处理日常编程任务,包括文件操作、并发、网络通信和内存管理等。
本附录提供 Rust 编程语言的核心概念、语法规则和功能的简明概述,旨在为开发者提供快速查阅的参考工具。
性能瓶颈在软件开发中不可避免,即使是 Rust 这样高效的语言,也可能在特定场景下遇到性能问题。本节将介绍常见的性能瓶颈及对应的优化策略,帮助开发者在项目中有效提升程序性能。
代码优化和性能剖析是提升程序运行效率的重要手段。Rust 提供了多种工具和方法,帮助开发者检测性能瓶颈并针对性地优化代码。
Rust 提供了一个强大的工具集来进行性能测试,cargo bench 是其中的一个工具,专门用于基准测试(benchmarking)。通过基准测试,我们可以测试代码的性能,并对比不同实现方案的执行速度,从而帮助我们识别和优化代码中的性能瓶颈。
集成测试是验证不同模块和组件如何一起协作的测试类型。与单元测试不同,单元测试通常只关注函数或方法的行为,而集成测试则侧重于验证不同部分的代码在整体应用中的相互作用是否按预期工作。在 Rust 中,集成测试通常是对整个模块、库或者应用进行综合性的测试,以确保各个模块能够顺利协同工作。
在 Rust 中,编写和运行单元测试是确保代码质量的重要步骤。单元测试用于验证程序中各个功能单元(函数或方法)是否按照预期执行。Rust 提供了非常简洁且强大的测试框架,可以帮助开发者高效地编写和运行测试。
在软件开发中,测试是确保代码质量和可靠性的重要环节。Rust 作为一种系统级编程语言,其设计目标之一就是提供内存安全和并发安全,而测试则是验证这些安全保证的重要工具之一。通过编写单元测试、集成测试以及其他类型的测试,开发者可以早期发现潜在的错误和缺陷,避免在产品发布时遇到严重问题。
在 Rust 的 Web 开发中,处理 HTTP 请求和响应是构建 Web 应用的核心部分。无论是接收客户端发来的请求、处理数据,还是返回响应给客户端,理解如何在框架中处理 HTTP 请求与响应是开发的基础。
Rust 的 Web 开发生态系统虽然相对较新,但已经涌现出几个强大的 Web 框架,最著名的包括 Rocket 和 Actix-web。这些框架为开发者提供了构建高效、可靠 Web 应用所需的工具和抽象层,帮助开发者节省大量的开发时间。下面将介绍这两个框架的特点及其使用场景。
Rust 语言近年来在 Web 开发中逐渐获得了关注,并成为了开发高性能、可靠和安全的 Web 应用程序的理想选择。虽然 Rust 起初主要用于系统级编程,特别是编写操作系统、嵌入式系统和高性能应用,但随着其生态系统的发展,越来越多的框架和库被创建出来,以便开发者能够高效地进行 Web 开发。
在构建命令行工具时,合理的项目结构和模块化设计是保证项目可扩展性、可维护性和可读性的关键。Rust 的模块系统非常强大,它能够帮助你将代码组织成多个文件和模块,以便更好地管理复杂的项目。在本节中,我们将讨论如何构建一个有良好项目结构的命令行工具,并使用模块化设计来组织代码。
在构建命令行工具时,错误处理和用户反馈是至关重要的组成部分。合理的错误处理不仅能确保程序的稳定性,还能为用户提供清晰、友好的反馈信息,帮助他们理解如何使用程序及如何修复错误。
构建命令行工具(CLI)是 Rust 实战项目中的常见任务。Rust 提供了多种方式来解析命令行参数,最常见的做法是使用第三方库,如 clap 或 structopt。这些库可以帮助我们轻松地定义和解析命令行参数,处理用户输入,并且生成相应的帮助信息。