Skip to main content

关于我

我对计算机技术的兴趣,最早并不是从宏大的目标开始的,而是来自一次次“折腾”的经历。从给手机刷机、改系统,到后来接触 Linux、服务器和各种基础工具,我逐渐发现,比起单纯使用现成的东西,我更享受弄清楚它们“为什么能这样工作”的过程。

在学习技术时,我习惯从最基础的地方入手:命令行、配置文件、最小可运行的程序。很多时候并不是为了做出一个多么完整的项目,而是在不断试错和修修补补中,慢慢建立起对系统的直觉理解。这个过程有点慢,也经常走弯路,但对我来说正是乐趣所在。

WheelsLab 记录的,就是这些学习和实践中的思考与积累。它既是我的技术笔记,也是一种对自己学习方式的长期整理。

关于站名 WheelsLab

建立这个网站,是为了在学习技术的过程中,把零散的知识和经验系统地记录下来,避免随着时间推移慢慢遗忘。WheelsLab 这个名字,来源于我几种长期的兴趣和习惯。

对我而言,Wheels 首先来自于对游戏的热爱。无论是开放世界中的探索,还是赛车游戏中不断前进的过程,“轮子”象征着移动、探索和持续前行的状态。这种对未知的好奇心,也同样体现在我对技术的学习中。

另一方面,Wheels 也代表我对软硬件“折腾”的兴趣。从早期的刷机、改系统,到逐渐深入 Linux、服务器和系统层面的实践,我更倾向于从底层入手,亲自去理解技术是如何运转的。在 Arch Linux 中,wheel 是拥有系统管理权限的用户组,这个含义也恰好呼应了我偏好动手实验、深入系统内部的学习方式。BTW I use Arch

在计算机领域里,“轮子”还常被用来指代已经成熟的基础设施。虽然工程实践中强调 “不要重复造轮子” ,但在学习阶段,亲手实现一次,往往能更直观地理解其设计思路和取舍。因此,WheelsLab 关注的正是操作系统、编译器、数据库等基础软件,通过“造轮子”的方式,加深对计算机技术本质的理解。

至于 Labs,它指的是实验室;学习和折腾的过程,本身就是在不断尝试与修正中推进的一次次实验。我希望把其中的思考、踩过的坑和学到的东西记录下来。既作为个人知识体系的一部分,也希望能为同样对底层技术感兴趣的人提供一些参考。

为什么要深入原理

在工程世界里,没有真正的魔法。 所谓“神奇”,往往只是尚未被理解的系统行为。

对我而言,学习和工程的核心目标,并不是简单地“把东西用起来”,而是持续降低不确定性。不确定性意味着系统行为不可预测、问题不可复现、风险无法评估,而这正是工程中最需要警惕的状态。

理解一个事物,至少需要回答三个问题:

  • What —— 它是什么?
  • How —— 应该如何使用或实现?
  • Why —— 它在内部是如何运作的?

只有当 Why 得到回答,因果链条才是完整的,系统才是可解释、可控制、可维护的。任何无法解释其内部机制、却被当作“已经可靠”的工具或结论,本质上都是一种被掩盖的不确定性。

深入原理,并不是为了炫技或追求复杂性,而是为了把“看起来能用”的东西,转化为可理解、可复用、可扩展的知识。这也是我在这个站点中记录学习、拆解系统、讨论底层机制的根本原因。

不确定性本身并不可怕。换一个角度看,它意味着尚未被认识的可能性。而学习的价值,正是在于把这些可能性,一步步转化为确定性。

本站的理念和写作风格

学习计算机基础,在某种程度上和达芬奇“画鸡蛋”的故事很相似:需要反复练习,打牢基本功。但真正重要的,并不是把“鸡蛋”画得多么完美,而是在此基础上,能够真正创作出有价值的作品。

为什么说达芬奇的鸡蛋是中国特产?

我更认同通过动手实践(get your hands dirty)来学习技术。与其停留在概念和结论上,不如亲自去写代码、做实验、解决真实问题。无论是为了某个具体需求写一段脚本,还是用现成的工具快速搭建原型,抑或是在折腾的过程中不断试错,这些实践都会反过来加深对基础原理的理解。

因此,WheelsLab 的内容主要记录我在学习和实践中的思考与积累。博客偏向于整理阶段性的理解,把零散的知识串联起来;而文档(尽量遵循 DRY 原则)则更关注长期价值,希望将已经想清楚的内容系统化地沉淀下来。整体上,我希望这里的文字足够清晰、克制、以理解为导向,既是对自己学习过程的总结,也能在一定程度上为他人提供参考。