-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathmkdocs.yml
432 lines (384 loc) · 23.1 KB
/
mkdocs.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
#================================ Site Information =======================================
site_name: "Practical Linux Skills"
site_url: "http://106.14.160.45"
site_author: "baiyongan"
site_description: "best practice in linux, command-line, bash templates, code snippets, and core fundmental linux concepts"
#================================ Repository =============================================
repo_name: "practical-linux-skills"
repo_url: "https://github.com/baiyongan/practical-linux-skills"
edit_uri: "https://github.com/baiyongan/practical-linux-skills/edit/main/docs"
#================================ Copyright ==============================================
copyright: <a rel="license" href="http://creativecommons.org/licenses/by-nc/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by-nc/4.0/80x15.png" /></a> <br> Copyright © 2022 Bai Yongan
#================================ Theme Configuration ====================================
docs_dir: "docs"
theme:
name: "material"
# custom_dir: "overrides"
language: "en"
shortcuts:
help: 191 # ?
next: 78 # n
previous: 80 # p
search: 83 # s
palette:
- scheme: default
primary: red
accent: yellow
toggle:
icon: material/weather-sunny
name: Switch to light mode
- scheme: slate
primary: red
accent: yellow
toggle:
icon: material/weather-night
name: Switch to dark mode
features:
- search.suggest
- search.highlight
#- navigation.sections
- navigation.tabs
# - navigation.tabs.sticky
- navigation.top
# - navigation.expand
# - toc.integrate
#- content.code.annotate
icon:
repo: fontawesome/brands/github-alt
admonition:
note: octicons/tag-16
abstract: octicons/checklist-16
info: octicons/info-16
tip: octicons/squirrel-16
success: octicons/check-16
question: octicons/question-16
warning: octicons/alert-16
failure: octicons/x-circle-16
danger: octicons/zap-16
bug: octicons/bug-16
example: octicons/beaker-16
quote: octicons/quote-16
font:
text: 'Ubuntu'
code: 'Ubuntu Mono'
logo: assets/images/linux.svg
favicon: assets/images/favicon.png
#================================ Customization ==========================================
extra:
social:
# github personal page
- icon: fontawesome/brands/github
link: https://github.com/baiyongan
# python website
- icon: fontawesome/brands/python
link: http://106.14.160.45:8080
# tiddly wiki
- icon: fontawesome/brands/wordpress
link: http://106.14.160.45:8081
# linux website
- icon: fontawesome/brands/linux
link: http://106.14.160.45
# blog website
- icon: fontawesome/brands/bootstrap
link: https://baiyongan.github.io
# lsf website
- icon: fontawesome/brands/buromobelexperte
link: https://baiyongan.github.io/lsf-handbook
# ic design platform
# - icon: fontawesome/brands/buffer
# link: http://106.14.160.45:8090
extra_css:
- "assets/css/custom.css"
- "assets/css/termynal.css"
# - "assets/css/asciinema-player.css"
- "https://cdnjs.cloudflare.com/ajax/libs/asciinema-player/2.4.1/asciinema-player.css"
extra_javascript:
- "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.6/MathJax.js?config=TeX-MML-AM_CHTML"
- "assets/js/termynal.js"
# - "assets/js/asciinema-player.min.js"
- "https://cdnjs.cloudflare.com/ajax/libs/asciinema-player/2.4.1/asciinema-player.js"
#================================ Extensions =============================================
markdown_extensions:
- toc:
# baselevel: 4
permalink: true
# separator: "_"
- markdown.extensions.codehilite:
guess_lang: false
- markdown_include.include:
base_path: docs
- tables
- extra
- admonition
- codehilite
- footnotes
- attr_list
- md_in_html
- mdx_math:
enable_dollar_delimiter: true
- pymdownx.details
- pymdownx.highlight:
anchor_linenums: true
- pymdownx.inlinehilite
- pymdownx.snippets
- pymdownx.superfences
- pymdownx.tabbed:
alternate_style: true
- pymdownx.tasklist:
custom_checkbox: true
clickable_checkbox: true
#================================ Plugins ================================================
plugins:
- markdownextradata:
data: data
- search:
separator: '[\s\-\.]+'
lang:
- en
#================================ Page tree ==============================================
#========== Preface =============
nav:
- 首页: README.md
#========== Part01 ==============
- 基础概念:
# - 概述: part01/overview.md
# - 目录: part01/contents.md
- 草稿: part01/draft.md
#========== Part02 ==============
- 命令工具:
# - 概述: part02/overview.md
# - 目录: part02/contents.md
- 草稿: part02/draft.md
#========== Part03 ==============
- 脚本开发:
# - 概述: part03/overview.md
# - 目录: part03/contents.md
- 草稿: part03/draft.md
#========== Part04 ==============
- 数据处理:
# - 概述: part04/overview.md
# - 目录: part04/contents.md
- 草稿: part04/draft.md
#========== Part05 ==============
- 性能优化:
- 概述: part05/overview.md
- 目录: part05/contents.md
- 开篇:
- 01 | 如何学习Linux性能优化?: part05/performance_tuning/how_to/01_overview.md
- CPU 性能 13 讲:
- 02 | 基础篇:平均负载: part05/performance_tuning/cpu/02_basic.md
- 03 | 基础篇:上下文切换-上: part05/performance_tuning/cpu/03_basic.md
- 04 | 基础篇:上下文切换-下: part05/performance_tuning/cpu/04_basic.md
- 05 | 基础篇:CPU 使用率排查-上: part05/performance_tuning/cpu/05_basic.md
- 06 | 案例篇:CPU 使用率排查-下: part05/performance_tuning/cpu/06_case.md
- 07 | 案例篇:处理不可中断进程和僵尸进程-上: part05/performance_tuning/cpu/07_case.md
- 08 | 案例篇:处理不可中断进程和僵尸进程-下: part05/performance_tuning/cpu/08_case.md
- 09 | 基础篇:Linux 软中断: part05/performance_tuning/cpu/09_basic.md
- 10 | 案例篇:Linux 软中断性能问题: part05/performance_tuning/cpu/10_case.md
- 11 | 套路篇:如何迅速分析系统 CPU 的瓶颈: part05/performance_tuning/cpu/11_routine.md
- 12 | 套路篇:CPU 性能优化的思路: part05/performance_tuning/cpu/12_routine.md
- 13 | 答疑篇:无法模拟出 RES 中断的问题,怎么办?: part05/performance_tuning/cpu/13_QA.md
- 14 | 答疑篇:如何用 perf 工具分析 Java 程序?: part05/performance_tuning/cpu/14_QA.md
- Memory 性能 8 讲:
- 15 | 基础篇:Linux 内存如何工作: part05/performance_tuning/memory/15_basic.md
- 16 | 基础篇:理解内存中的 Buffer 和 Cache: part05/performance_tuning/memory/16_basic.md
- 17 | 案例篇:利用系统缓存优化程序的运行效率: part05/performance_tuning/memory/17_case.md
- 18 | 案例篇:内存泄漏的定位和处理: part05/performance_tuning/memory/18_case.md
- 19 | 案例篇:分析系统 Swap 变高原因-上: part05/performance_tuning/memory/19_case.md
- 20 | 案例篇:分析系统 Swap 变高原因-下: part05/performance_tuning/memory/20_case.md
- 21 | 套路篇:“快准狠”定位系统内存的问题: part05/performance_tuning/memory/21_routine.md
- 22 | 答疑篇:文件系统与磁盘的区别: part05/performance_tuning/memory/22_QA.md
- Disk I/O 性能 10 讲:
- 23 | 基础篇:Linux 文件系统如何工作: part05/performance_tuning/disk_io/23_basic.md
- 24 | 基础篇:Linux 磁盘 I/O 如何工作-上: part05/performance_tuning/disk_io/24_basic.md
- 25 | 基础篇:Linux 磁盘 I/O 如何工作-下: part05/performance_tuning/disk_io/25_basic.md
- 26 | 案例篇:如何找出狂打日志的“内鬼”?: part05/performance_tuning/disk_io/26_case.md
- 27 | 案例篇:为什么磁盘 I/O 延迟很高?: part05/performance_tuning/disk_io/27_case.md
- 28 | 案例篇:分析优化 SQL 查询时间: part05/performance_tuning/disk_io/28_case.md
- 29 | 案例篇:解决 Redis 响应严重延迟: part05/performance_tuning/disk_io/29_case.md
- 30 | 套路篇:如何迅速分析出系统 I/O 的瓶颈: part05/performance_tuning/disk_io/30_routine.md
- 31 | 套路篇:磁盘 I/O 性能优化的几个思路: part05/performance_tuning/disk_io/31_routine.md
- 32 | 答疑篇:阻塞、非阻塞 I/O 与同步、异步 I/O 的区别和联系: part05/performance_tuning/disk_io/32_QA.md
- 33 | 书单推荐:性能优化和Linux 系统原理: part05/performance_tuning/disk_io/33_explore.md
- Network 性能 13 讲:
- 34 | 基础篇:Linux 网络必知-上: part05/performance_tuning/network/34_basic.md
- 35 | 基础篇:Linux 网络必知-下: part05/performance_tuning/network/35_basic.md
- 36 | 基础篇:C10K 和 C1000K 回顾: part05/performance_tuning/network/36_basic.md
- 37 | 套路篇:怎么评估系统的网络性能?: part05/performance_tuning/network/37_routine.md
- 38 | 案例篇:解决 DNS 解析时快时慢问题: part05/performance_tuning/network/38_case.md
- 39 | 案例篇:用 tcpdump 和 Wireshark 分析网络流量: part05/performance_tuning/network/39_case.md
- 40 | 案例篇:缓解 DDoS 攻击带来的性能下降问题: part05/performance_tuning/network/40_case.md
- 41 | 案例篇:处理网络请求延迟变大: part05/performance_tuning/network/41_case.md
- 42 | 案例篇:优化 NAT 性能-上: part05/performance_tuning/network/42_case.md
- 43 | 案例篇:优化 NAT 性能-下: part05/performance_tuning/network/43_case.md
- 44 | 套路篇:网络性能优化的几个思路-上: part05/performance_tuning/network/44_routine.md
- 45 | 套路篇:网络性能优化的几个思路-下: part05/performance_tuning/network/45_routine.md
- 46 | 答疑篇:网络收发过程中的缓冲区位置: part05/performance_tuning/network/46_QA.md
- 47 | 书单推荐:网络原理和 Linux 内核实现: part05/performance_tuning/network/47_explore.md
- 综合实战 13 讲:
- 48 | 案例篇:为什么应用容器化后,启动慢了很多?: part05/performance_tuning/integrate/48_case.md
- 49 | 案例篇:解决服务器总是时不时丢包的问题-上: part05/performance_tuning/integrate/49_case.md
- 50 | 案例篇:解决服务器总是时不时丢包的问题-下: part05/performance_tuning/integrate/50_case.md
- 51 | 案例篇:处理内核线程 CPU 利用率太高: part05/performance_tuning/integrate/51_case.md
- 52 | 案例篇:如何使用动态追踪-上: part05/performance_tuning/integrate/52_case.md
- 53 | 案例篇:如何使用动态追踪-下: part05/performance_tuning/integrate/53_case.md
- 54 | 案例篇:分析处理服务吞吐量下降很厉害的问题: part05/performance_tuning/integrate/54_case.md
- 55 | 套路篇:系统监控的综合思路: part05/performance_tuning/integrate/55_routine.md
- 56 | 套路篇:应用监控的一般思路: part05/performance_tuning/integrate/56_routine.md
- 57 | 套路篇:分析性能问题的一般步骤: part05/performance_tuning/integrate/57_routine.md
- 58 | 套路篇:优化性能问题的一般方法: part05/performance_tuning/integrate/58_routine.md
- 59 | 套路篇:Linux 性能工具速查: part05/performance_tuning/integrate/59_routine.md
- 60 | 答疑篇:容器冷启动的性能分析: part05/performance_tuning/integrate/60_QA.md
- 尾篇:
- 61 | 结束语:| 愿你攻克性能难关: part05/performance_tuning/how_to/61_end.md
- 探索延伸:
- 书单推荐:性能优化和 Linux 系统原理: part05/performance_tuning/disk_io/33_explore.md
- 书单推荐:网络原理和 Linux 内核实现: part05/performance_tuning/network/47_explore.md
- Linux 性能分析工具整理: part05/performance_tuning/explore/tool.md
- Linux 性能分析资源汇总: part05/performance_tuning/explore/resource.md
#========== Part06 ==============
- 操作系统:
- 概述: part06/overview.md
- 目录: part06/contents.md
- 零 入门准备篇 (3讲):
- 为什么要学习 Linux 操作系统?: part06/linux_operating_system/section00/article00.md
- 01 | 入学测验:Linux 操作系统了解程度?: part06/linux_operating_system/section00/article01.md
- 02 | 学习路径:Linux 学习的六个阶段: part06/linux_operating_system/section00/article02.md
- 一 Linux操作系统综述 (3讲):
- 03 | 把 Linux 内核当成一家软件外包公司的老板: part06/linux_operating_system/section01/article03.md
- 04 | 几个 Linux 命令:每家公司都有自己的黑话: part06/linux_operating_system/section01/article04.md
- 05 | 几个系统调用:公司能接哪些类型的项目?: part06/linux_operating_system/section01/article05.md
- 二 系统初始化 (4讲):
- 06 | x86 架构:有了开放的架构,才能打造开放的营商环境: part06/linux_operating_system/section02/article06.md
- 07 | 从 BIOS 到 bootloader:创业伊始,有活儿老板自己上: part06/linux_operating_system/section02/article07.md
- 08 | 内核初始化:生意做大了就得成立公司: part06/linux_operating_system/section02/article08.md
- 09 | 系统调用:公司成立好了就要开始接项目: part06/linux_operating_system/section02/article09.md
- 三 进程管理 (10讲):
- 10 | 进程:公司接这么多项目,如何管?: part06/linux_operating_system/section03/article10.md
- 11 | 线程:如何让复杂的项目并行执行?: part06/linux_operating_system/section03/article11.md
- 12 | 进程数据结构(上):项目多了就需要项目管理系统: part06/linux_operating_system/section03/article12.md
- 13 | 进程数据结构(中):项目多了就需要项目管理系统: part06/linux_operating_system/section03/article13.md
- 14 | 进程数据结构(下):项目多了就需要项目管理系统: part06/linux_operating_system/section03/article14.md
- 15 | 调度(上):如何制定项目管理流程?: part06/linux_operating_system/section03/article15.md
- 16 | 调度(中):主动调度是如何发生的?: part06/linux_operating_system/section03/article16.md
- 17 | 调度(下):抢占式调度是如何发生的?: part06/linux_operating_system/section03/article17.md
- 18 | 进程的创建:如何发起一个新项目?: part06/linux_operating_system/section03/article18.md
- 19 | 线程的创建:如何执行一个新子项目?: part06/linux_operating_system/section03/article19.md
- 四 内存管理 (7讲):
- 20 | 内存管理(上):为客户保密,规划进程内存空间布局: part06/linux_operating_system/section04/article20.md
- 21 | 内存管理(下):为客户保密,项目组独享会议室封闭开发: part06/linux_operating_system/section04/article21.md
- 22 | 进程空间管理:项目组还可以自行布置会议室: part06/linux_operating_system/section04/article22.md
- 23 | 物理内存管理(上):会议室管理员如何分配会议室?: part06/linux_operating_system/section04/article23.md
- 24 | 物理内存管理(下):会议室管理员如何分配会议室?: part06/linux_operating_system/section04/article24.md
- 25 | 用户态内存映射:如何找到正确的会议室?: part06/linux_operating_system/section04/article25.md
- 26 | 内核态内存映射:如何找到正确的会议室?: part06/linux_operating_system/section04/article26.md
- 五 文件系统 (4讲):
- 27 | 文件系统:项目成果要归档,我们就需要档案库: part06/linux_operating_system/section05/article27.md
- 28 | 硬盘文件系统:如何最合理地组织档案库的文档?: part06/linux_operating_system/section05/article28.md
- 29 | 虚拟文件系统:文件多了就需要档案管理系统: part06/linux_operating_system/section05/article29.md
- 30 | 文件缓存:常用文档应该放在触手可得的地方: part06/linux_operating_system/section05/article30.md
- 六 输入输出系统 (5讲):
- 31 | 输入与输出:如何建立售前售后生态体系?: part06/linux_operating_system/section06/article31.md
- 32 | 字符设备(上):如何建立直销模式?: part06/linux_operating_system/section06/article32.md
- 33 | 字符设备(下):如何建立直销模式?: part06/linux_operating_system/section06/article33.md
- 34 | 块设备(上):如何建立代理商销售模式?: part06/linux_operating_system/section06/article34.md
- 35 | 块设备(下):如何建立代理商销售模式?: part06/linux_operating_system/section06/article35.md
- 七 进程间通信 (7讲):
- 36 | 进程间通信:遇到大项目需要项目组之间的合作才行: part06/linux_operating_system/section07/article36.md
- 37 | 信号(上):项目组 A 完成了,如何及时通知项目组 B?: part06/linux_operating_system/section07/article37.md
- 38 | 信号(下):项目组 A 完成了,如何及时通知项目组 B?: part06/linux_operating_system/section07/article38.md
- 39 | 管道:项目组 A 完成了,如何交接给项目组 B?: part06/linux_operating_system/section07/article39.md
- 40 | IPC (上):不同项目组之间抢资源,如何协调?: part06/linux_operating_system/section07/article40.md
- 41 | IPC (中):不同项目组之间抢资源,如何协调?: part06/linux_operating_system/section07/article41.md
- 42 | IPC (下):不同项目组之间抢资源,如何协调?: part06/linux_operating_system/section07/article42.md
- 八 网络系统 (7讲):
# <!-- - [43 预习 | Socket通信之网络协议基本原理: part06/linux_operating_system/section08/article43.md -->
- 43 | Socket 通信:遇上特大项目,要学会和其他公司合作: part06/linux_operating_system/section08/article43.md
- 44 | Socket 内核数据结构:如何成立特大项目合作部?: part06/linux_operating_system/section08/article44.md
- 45 | 发送网络包(上):如何表达我们想让合作伙伴做什么?: part06/linux_operating_system/section08/article45.md
- 46 | 发送网络包(下):如何表达我们想让合作伙伴做什么?: part06/linux_operating_system/section08/article46.md
- 47 | 接收网络包(上):如何搞明白合作伙伴让我们做什么?: part06/linux_operating_system/section08/article47.md
- 48 | 接收网络包(下):如何搞明白合作伙伴让我们做什么?: part06/linux_operating_system/section08/article48.md
- 九 虚拟化 (7讲):
- 49 | 虚拟机:如何成立子公司,让公司变集团?: part06/linux_operating_system/section09/article49.md
- 50 | 计算虚拟化之 CPU (上):如何复用集团的人力资源?: part06/linux_operating_system/section09/article50.md
- 51 | 计算虚拟化之 CPU (下):如何复用集团的人力资源?: part06/linux_operating_system/section09/article51.md
- 52 | 计算虚拟化之内存:如何建立独立的办公室?: part06/linux_operating_system/section09/article52.md
- 53 | 存储虚拟化(上):如何建立自己保管的单独档案库?: part06/linux_operating_system/section09/article53.md
- 54 | 存储虚拟化(下):如何建立自己保管的单独档案库?: part06/linux_operating_system/section09/article54.md
- 55 | 网络虚拟化:如何成立独立的合作部?: part06/linux_operating_system/section09/article55.md
- 十 容器化 (4讲):
- 56 | 容器:大公司为保持创新,鼓励内部创业: part06/linux_operating_system/section10/article56.md
- 57 | Namespace 技术:内部创业公司应该独立运营: part06/linux_operating_system/section10/article57.md
- 58 | cgroup 技术:内部创业公司应该独立核算成本: part06/linux_operating_system/section10/article58.md
- 59 | 数据中心操作系统:上市敲钟: part06/linux_operating_system/section10/article59.md
- 十一 实战串讲篇 (9讲):
- 60 | 搭建操作系统实验环境(上):授人以鱼不如授人以渔: part06/linux_operating_system/section11/article60.md
- 61 | 搭建操作系统实验环境(下):授人以鱼不如授人以渔: part06/linux_operating_system/section11/article61.md
- 62 | 知识串讲:用一个创业故事串起操作系统原理(一): part06/linux_operating_system/section11/article62.md
- 63 | 知识串讲:用一个创业故事串起操作系统原理(二): part06/linux_operating_system/section11/article63.md
- 64 | 知识串讲:用一个创业故事串起操作系统原理(三): part06/linux_operating_system/section11/article64.md
- 65 | 知识串讲:用一个创业故事串起操作系统原理(四): part06/linux_operating_system/section11/article65.md
- 66 | 知识串讲:用一个创业故事串起操作系统原理(五): part06/linux_operating_system/section11/article66.md
- 67 期末测试 | 这些操作系统问题,你真的掌握了吗?: part06/linux_operating_system/section11/article67.md
- 68 结束语 | 永远别轻视任何技术,也永远别轻视自己: part06/linux_operating_system/section11/article68.md
#========== Part07 ==============
- 系统安全:
- 概述: part07/overview.md
- 目录: part07/contents.md
- 网络安全:
- Linux 防火墙基础: part07/firewall/iptables.md
- 权限控制:
- sudo 配置文件 /etc/sudoers: part07/permission_control/sudo.md
- 企业环境中用户权限集中管理项目案例: part07/permission_control/case.md
- 记录所有用户执行 sudo 命令的操作日志: part07/permission_control/sudo_log.md
- 用户权限授权规划表格参考: part07/permission_control/reference.md
#========== Part08 ==============
- 性能测试:
# - 概述: part08/overview.md
# - 目录: part08/contents.md
- 草稿: part08/draft.md
#========== Part09 ==============
- 故障排查:
# - 概述: part09/overview.md
# - 目录: part09/contents.md
- 草稿: part09/draft.md
#========== Part10 ==============
- 实用配置:
# - 概述: part10/overview.md
# - 目录: part10/contents.md
- 草稿: part10/draft.md
#========== Part11 ==============
- 企业实战:
# - 概述: part11/overview.md
# - 目录: part11/contents.md
- 草稿: part11/draft.md
#========== Part12 ==============
- 系列教程:
# - 概述: part12/overview.md
# - 目录: part12/contents.md
- 草稿: part12/draft.md
#========== Part13 ==============
- 快捷参考:
# - 概述: part13/overview.md
# - 目录: part13/contents.md
- 草稿: part13/draft.md
- 命令行快捷键: part13/shortcut_key.md
# #========== Part14 ==============
# - Part14:
# - 概述: part14/overview.md
# - 目录: part14/contents.md
# - 草稿: part14/draft.md
# #========== Part15 ==============
# - Part15:
# - 概述: part15/overview.md
# - 目录: part15/contents.md
# - 草稿: part15/draft.md
#========== Afterword ===========
- 后记:
- 关于作者: AUTHOR.md
- License: LICENSE.md
- 变更日志: CHANGELOG.md
- 附录: APPENDIX.md
# - 更新计划: SCHEDULE.md
- 格式参考: SETUP.md