跳到主要内容

👋 Welcome

欢迎访问 在溪维基 —— 由 yunzaixi-dev 个人维护的在线文档站.

关于文档分区​

本站采用“单一归属 + 优先级判定”,避免重复与交叉:

  • 单一归属:每篇文档只放在一个主类;次要主题用正文链接引用,不要复制到多个目录。
  • 判定顺序(从高到低):
    1. 含隐私/密钥/未公开信息 → 私有专区
    2. 课程/学术/考试相关 → 大学专区
    3. 站点/仓库元信息、历史沿革、维护规范 → 历史专区
    4. 按“主要落地位置”归类:浏览器/客户端 → 前端;服务器/业务/API → 后端;CI/CD/交付流程 → 运维;计算/存储/网络/数据库/云/监控平台 → 基础设施
    5. 与具体技术实现弱相关的效率/流程/习惯 → 工作流专区
    6. 其余可公开分享的通用内容 → 公共专区
  • 边界规则:运行位置优先于使用语言;部署/平台建设归基础设施,交付流水线归运维;隐私与学业判断优先于技术域。
  • 存放要求:文件必须位于对应目录,必要时同步更新 frontmatter / 侧边栏。

历史专区​

  • 范围: 记录本站的历史,技术实现,开发日志,站主相关信息等.
  • 排除: 具体技术内容或学习笔记(按技术域归类), 私密或未公开资料(转私有), 学术课程内容(转大学).

前端专区​

  • 范围: UI/交互、浏览器或跨端框架(Svelte/SvelteKit)、前端工程化(Vite/Webpack 前端配置)、CSS/设计系统、Web API 与组件库.
  • 排除: 服务端渲染的后端逻辑、API 设计、数据库访问、部署/发布流程(转后端/基础设施/运维).

后端专区​

  • 范围: 业务服务与 API 设计、BFF/GraphQL/REST、服务器端语言与框架、领域建模、数据访问层实现、鉴权/会话等服务端能力.
  • 排除: 数据库/消息队列的部署与运维(转基础设施), CI/CD 与发布策略(转运维).

运维专区​

  • 范围: CI/CD 流水线、构建/发布/灰度策略、环境差异管理、质量门禁、SRE 工具链、团队规范.
  • 排除: 基础设施层面的集群/网络/存储建设(转基础设施), 业务功能编码(转前后端).

基础设施专区​

  • 范围: 计算/存储/网络/操作系统、容器与编排(Kubernetes)、数据库与缓存、消息队列、监控/日志/告警平台、云服务配置.
  • 排除: 只涉及交付流程的流水线脚本(转运维), 业务层的数据访问代码(转后端).

工作流专区​

  • 范围: 个人/团队效率工具与流程、自动化脚本、时间管理、笔记/知识管理方法、与具体技术实现解耦的工作习惯.
  • 排除: 任何以技术实现为主的内容(转对应技术分类), 学术课程(转大学).

大学专区​

  • 范围: 课程笔记、实验报告、学术阅读、考试复习、校内项目.
  • 排除: 企业项目或生产环境相关内容(按技术域归类), 含隐私的材料(转私有).

公共专区​

  • 范围: 无敏感信息且跨领域的通用知识、公开演讲/阅读摘录、无需具体技术上下文也能理解的内容.

  • 排除: 任何包含未公开信息或需要访问控制的资料(转私有), 技术实现细节(按技术域归类).

  • 范围: 含个人隐私、密钥、账号、内部资料或尚未公开的规划.

  • 注意: 如主题同时符合其他分类, 仍以私有专区为最终归属.

文档工具链​

关于 LaTeX​

1766040534079.webp

LaTeX 是一个基于 TeX 的文档排版软件系统。LaTeX 提供了一种高级的、描述性的标记语言,使 TeX 的使用更加便捷:TeX 负责文档布局,而 LaTeX 则负责文档内容的处理。由于 TeX 的格式化命令非常基础,因此它为作者提供了现成的命令,用于满足诸如章节标题、脚注、交叉引用和参考文献等格式和布局需求。

我们使用 Latex 来表达文档站中的数学公式

关于 Markdown​

1766040842375.webp

Markdown 是一种轻量级标记语言,用于通过纯文本编辑器创建带格式的文本。John Gruber 于 2004 年创建了 Markdown,目的是打造一种易读、易写的标记语言。

Markdown 被广泛应用于博客、即时通讯以及大型语言模型中,同时也常见于在线论坛、协作软件、文档页面以及 README 文件中。

我们使用 Markdown 构建文档站的内容

版本管理与 CICD​

关于 Git​

1766041038171.webp

Git 是一个快速、可扩展的分布式版本控制系统,拥有异常丰富的命令集,既提供高层次的操作,也允许完全访问其内部机制。

我们使用 Git 进行文档站的版本管理

关于 GitHub​

1766051938718.webp

GitHub 是一个专有的开发者平台,允许开发者创建、存储、管理和共享代码。它使用 Git 来实现分布式版本控制,同时 GitHub 本身还为每个项目提供访问控制、缺陷追踪、软件功能请求、任务管理、持续集成以及 Wiki 等功能。

GitHub 自 2018 年起成为 微软的子公司,其总部位于旧金山。

文档站的代码托管在 GitHub 私有仓库上

关于 GitHub Actions​

1766054325382.webp

GitHub Actions 是 GitHub 提供的一项工作流自动化平台,用于在代码仓库内自动化、自定义并执行软件开发流程中的任务(常见用途包括持续集成与持续部署)。它允许开发者创建、发现与复用“actions”(可复用的自动化组件),并将多个 actions 组合为可配置的工作流,从而完成构建、测试、发布、部署等工作。

GitHub Actions 采用事件驱动机制:工作流通常以 YAML 文件定义,能够在特定事件发生时触发运行(例如代码推送、拉取请求、定时任务或手动触发等)。工作流由一个或多个作业组成,作业在称为“运行器”的执行环境中运行;运行器既可以是 GitHub 托管的环境,也可以由用户自行托管。

GitHub 于 2018 年在 GitHub Universe 活动期间对外发布 GitHub Actions,将其定位为面向仓库内自动化与工作流编排的能力。

文档站在 Github Action上执行构建,部署与自动翻译

前端工具链​

关于 V8​

1766054396241.webp

V8 是由 Google 开发的开源 JavaScript 与 WebAssembly 引擎,最初随 Google Chrome 于 2008 年发布。它通过即时编译(JIT)等优化技术将 JavaScript 编译为机器码,以提升执行性能;目前被广泛用于 Chrome、Node.js 及其他基于 Chromium 的项目中。

文档站的运行环境是 V8

关于 Node.js​

1766054483792.webp

Node.js 是一个基于 V8 的跨平台 JavaScript 运行时环境,采用事件驱动与非阻塞 I/O 模型,常用于构建网络服务与命令行工具。该项目最初由 Ryan Dahl 于 2009 年发布,并围绕 npm 形成了规模化的第三方包生态。

文档站的构建与开发环境是 Node.js

关于 TypeScript​

image.webp

TypeScript 是由 Microsoft 主导开发的开源编程语言,是 JavaScript 的类型化超集,并会编译为 JavaScript 运行。它引入静态类型、接口与泛型等特性,以提升大型 JavaScript 项目的可维护性与工具支持(如类型检查与自动补全)。

文档站的开发语言是 TypeScript

关于 React​

image.webp

React 是由 Facebook(现 Meta)维护的开源前端 UI 库,最初于 2013 年发布。它以组件化与声明式渲染为核心,通常结合单向数据流、Hooks 等机制来构建可复用的用户界面。

文档站的 UI 框架是 React

关于 Yarn​

image.webp

Yarn 是 JavaScript 的包管理器,由 Facebook 等团队于 2016 年发布,用于改进依赖安装的速度与可复现性。它通过 lockfile(如 yarn.lock)锁定依赖解析结果,并提供缓存与并行下载等机制。

文档站的包管理器是 Yarn

关于 Vite​

image.webp

Vite 是面向现代前端开发的构建工具与开发服务器,由 Evan You 于 2020 年发布。其开发模式基于原生 ESM 的按需加载,并在生产构建阶段通常使用 Rollup 进行打包,以获得更快的启动与热更新体验。

文档站的构建工具是 Vite

关于 Rspack​

image.webp

Rspack 是一个以性能为目标的前端打包工具,采用 Rust 实现核心,并强调对 Webpack 生态(配置、loader 与 plugin 接口等)的兼容性。它于 2023 年开源,常用于大型项目的构建加速与增量编译场景。

文档站的构建工具是 Rspack

关于 Docusaurus​

image.webp

Docusaurus 是由 Facebook(现 Meta)开源的静态站点生成器,主要用于构建文档站点,最初于 2017 年发布。它以 Markdown/MDX 为主要内容格式,并提供侧边栏导航、版本管理、多语言、主题与部署等能力,适合将文档作为工程产物进行维护与发布。

文档站的开发框架是 Docusaurus

开发守则​

自动化胜于手工。
声明式胜于命令式。
不可变胜于可变。
弹性胜于固定容量。
可观测性至关重要。
失败是常态,而非例外。
快速恢复胜于避免失败。
去中心化胜于单点依赖。
标准胜于定制。
平台能力胜于个人技巧。
基础设施应当像代码一样被管理。
环境应当一致,而非恰好能跑。
服务应当独立,而非相互纠缠。
扩展应当是水平的,而非垂直的。
发布应当频繁且可回滚。
安全应当内建,而非事后补救。