04-我的 标杆 与 参考

内容完成,参考连接 需要不断更新。

我的标杆

Linux Torvalds

与名人合影并不能让你的生活变得更美好,身上的技能该迭代迭代,该打磨打磨,默默努力做到行业的前5%就好。

我当然希望自己能够成为像 Linus Torvalds 一样的人,通过自己的作品能够成功的帮助工业界迭代,改变世界。我记得照片中的那次 LC3大会,托老王的福终于能够和心目中的大佬合个影,当天我整个人都是懵逼的状态。只记得当时在整个会议开场前,主持人有说来介绍一下你自己吧,性格一向内向的 Torvalds举起话筒慢慢的说:“I'm the author of Linux Kernel and Git, and nothing more.”(我是Linux 内核,还有Git的作者,然后就没有了)说完台下全场一片欢呼。

怎奈当时的我能力有限,唯一可以和大佬分享的是他在吐槽英伟达时候我截图做出来的一个表情包。瞬间被摄影师抓拍到从此就在互联网上稀里糊涂的留下了一个外人看起来看似很厉害的场景照片。多年后被别人翻出来自己还羞愧的不行。

真希望自己下次和 Torvald合作的时候是我提交了某些代码到Linux Kernel的库中,而不是在这里分享我的沙雕表情包,时光不等人的,Fine 你抓紧吧。

Life of an open source developer

在学习Linux LFD 103课程的时候 发现有张图还是可以用啦做参考的。

Window Shopper 窗口购物者,就是把内核拿来就用。当你拥有一台正在运行着的企业级Linux系统的时候就是这样。

Slient Observer 安静的观察者,当你把内核的库克隆下来,然后每天静静观察里面的更新,默默关注邮件列表的时候。

New contributor 新的贡献者,当你开始提交 PR,MR 把你认为能够将Kernel变得更好的代码提交到库中的时候。

User (tester!) 用户 (测试者),真正用的时候,能够发现问题,并进行相关的提交和反馈。

Active coontributor 活跃的贡献者,总是不断的提交新的代码到Kernel的库中,让她变得更美好。

Expert contributor 专家贡献者,当有一天你发现在内核的庞大目录树中,对于其中的一部分你的理解比其他所有人都深刻的时候。

Maintainer 维护人员,参与版本维护过程。

当然在实际操作中,我们关注的领域肯定不止一个。就好比去饭店点菜肯定不能每次都点鱼香肉丝,玩手机游戏肯定不能每次都是 王者荣耀。

愿我能走到 Expert contributor。

另外,非常重要的一点,英文!!!

片段来自 《野蛮秘籍》54:21 - 54:37

尽管我写的这些博客文章 是中文的,但是,我在学习过程中,很多很多的资料都是英文。

所以,英文真的是非常的重要呢!!!

英文非常重要!英文非常重要!英文非常重要!

重要的事情说三遍。

不求与老外对答如流,雅思托福高分过关。

但求,你能:

遇到生词有勇气去查,

看到整屏的英文不头疼,

开着个翻译软件能够慢慢耐心读完。

简单分享一下我的英文学习经历,我是从2009年就离开学校了。从那个时候起,我就再也没有有问题可以问老师的机会了,没有了期中期末考试的困扰,但是每次遇到英文的说明书、操作页面、系统报错、新知识的教材、最新的未汉化的游戏、没有来得及生成字幕的盗版电影 的时候我都会无比郁闷,我写了那么多年的试卷A B C D 怎么就是还是不能 像中文一样 听说读写 丝滑顺畅呢? 一定是我的技能点加的还不够,于是乎我从2015年开始自掏腰包,去 刷副本涨经验,51talk,新东方,English101.com ,狂刷美剧,狂记台词,疯狂模仿。就这样稀里糊涂的来到了外企,似乎还够用。但是,我仍然知道我的英语听力还是需要多打磨,因为国外的同事 稍微一说快一点我就蒙了。

我的参考

我来到红帽以后被分配到了Kernel Storage 组,脑袋中一堆疑问,以为来了以后是大佬带着刷副本涨经验,结果发现还是开局一条狗,装备全靠捡。后来聊了一下发现其实大家人都很好,他们是真不知道。幻灭过后就让我来发光吧。这里会放一些我学习路上的参考,会不断的更新。

基础技能参考

开具一条狗,装备全靠捡,但是在完全开始这趟神奇的旅途之前,你还是需要有一些参考技能的。目前我知道的必备技能如下:

Linux 操作系统的基础知识

如果说整个编译内核的过程像是在你的车库里面用上游的零件拼装成新的汽车发动机的话,那么车库中的各种灯 水 电 的开关,各种工具的摆放位置,等等 我认为就可以理解为 Linux 操作系统的基础知识。推荐大家系统学习一下,《鸟哥的私房菜》系列是挺好的入门,红帽软件的《RHCSA》认证课程中的两本《RH124》 与 《RH134》也是两门 非常 全面的的 入门及课程。

学习完成这些基础知识之后,至少 用户,磁盘,文件,网络,简单服务的配置是没有问题的了。拥有这些技能对以后我们在面对内核编译中的各种各样的问题是可以做到,手握工具心中不慌。

git 的参考书籍

实际工作中的复杂场景有时候来不及让你慢慢查手册,我对于新手的建议是,先弄明白基础的配置流程和基本的 概念 , 再去学会 push pull的过程,去看一下git lab的 MR 和 git hub的 PR 过程。之后就遇到啥自己总结归纳就好。抽空自己把相关的手册都先过一遍,不求每一部分都弄懂,但求,你遇到问题的时候知道该去手册的那个部分里面去查看。

“有一件事你不知道该怎么去谷歌,那就是你不知道该搜什么” ----《知识大迁移》

AI时代 promot 工程兴起,就算你有了账号和网络能够连接到GPT的页面,你还是需要用你脑袋里面的元素来投入到GPT这口大锅中看他起什么反应不是?这就好像,终于和你梦寐以求的女神见了面,上了床,脱了衣服裤子,低头猛地发现,你真的只有2条腿,左腿和右腿。

但是我真的一直很想写出一套关于git的 先关 图文教程,因为我看了几套教程之后发现里面的解释并不能够让我理解,也许是我的问题。我先把话题放在这里,等候后面更新到的时候我再来填写。

GNU C 语言参考手册

是的整个Linux 世界 离不开 GNU项目。缘起UNIX ,和Linux的关系我抛砖引玉的录了个视频,放在了B站。《Unix-Like OS 简史,Unix Linux 傻傻的分不清? RHEL Fedora CentOS 又是啥 什么 还有Ubuntu? 都是啥关系?》Linux Kernel当中的很多内核也是用C语言写的,所以我这里放一个 GNU C的 参考手册。

其实,GNU里面有很多很多好玩的项目,有时间的话非常建议去看一看。故事背后的故事都在GNU里面,只不过这些东西是在大众视野之外。但是,活了这么大的我深知,往往世界真正是怎么转的内容,往往都在大众视野之外。

我记得几年前偶遇《操作系统革命》这部纪录片的时候,当采访人员问 Linus Torvalds 你认为GNU对你的项目最有帮助的地方是什么?他回答 GNU C Complier (gcc)

内核相关参考

最终,这里是一本关于Linux 内核的书籍,所以这里的Linux内核相关参考是非常重要的,至于为什么把她们放在后面,是因为我是希望读者们明白,如果想要玩转Linux 内核相关的内容,前面的基础知识不可或缺。

Linux Foundation LFD 103 课程

一套Linux基金会上面搜出来的课程,挺好的可以看看。唯一要提醒的地方就是,按照里面的教程做的话请安装最新版本的 Fedora 版本。然后,克隆下来最新的kernel 库之后用最新的主分支去编译就好了。

Linux Kernel in a nutshell

这个是有一次编译内核遇到问题之后,和同事们讨论,同事推荐的一个网站,里面的内容非常经典。后面的章节中也会穿插着讲解里面的内容。

Last updated