专栏名称: OSC开源社区
OSChina 开源中国 官方微信账号
目录
相关文章推荐
程序员的那些事  ·  趣图:你会嫁给我么? ·  5 天前  
程序猿  ·  StackOverFlow 上的代码+我的代码 ·  5 天前  
程序员小灰  ·  出成绩了!!! ·  6 天前  
程序员的那些事  ·  支付宝推出独立App,网友不淡定了...... ·  6 天前  
51好读  ›  专栏  ›  OSC开源社区

【赠书福利】做难而正确的事情,成为技术书里的“黑神话”

OSC开源社区  · 公众号  · 程序员  · 2024-08-29 16:18

正文

大家好,我是飞哥!

在8月22号,我首发了第二本书《深入理解Linux进程与内存》。

《深入理解Linux进程与内存》正式发布

张彦飞allen,公众号:开发内功修炼开箱视频 | 第二本560页新书《深入理解Linux进程与内存》今天正式发布啦!

该书一经发布,就在京东的所有技术书里力压群雄,一举登录计算机图书的新书销量榜、图书销量榜多个榜首。



新书在首发第二天就加印了。出版社老师给出的评价是,咱们这本书相当于技术圈里的“黑神话悟空”。

被人夸奖到黑神话这个点,我是很开心的。

由此,我也产生了很多的思考,想写篇文章和大家聊聊!

01 难的事情没人想做

在前几年中国互联网公司的创业圈里,存在有一种叫降级论的论调。

这种论调的主要思路是不要去做一些难的事情,利用现有的技术能力去降维到别的领域,互联网卖菜、互联网养猪等,去轻松地赚快钱。

对于难度比较大一些的事情,绝大多数的公司都好像都是选择性失明一样,假装看不见,绕道走。

关于“黑神话悟空”,是最近一款爆火的 3A 单机游戏。3A 游戏由于开发难度比较高,所以一般就没有游戏公司愿意干。

在开发技术里,这种思路也存在。一个典型的例子就是底层无用论。我曾经听过不少的人说,我就是一个做应用层开发的,了解内核等这些底层对我来说没用。

仔细想一下,你的应用是跑在各种框架、语言运行时、Linux内核、硬件等这些基础之上,都是依赖这些底层在运行的。

任何一层的系统没有合理使用,都会导致你的应用出现性能瓶颈或者稳定性问题。这种论调说这些底层没用,简单想想就知道是多么的荒谬。

关于这些事情,我的一个结论就是太难的事情没公司/个人愿意做。

新技术突破太难了,那我就用降级论互联网卖菜,去和小区门口菜贩子抢点钱花花。Linux内核等底层太难了,实在是学不懂啊!那算了,干脆学点简单的 CRUD,搞搞增删改查得了。

更可笑的是还有人要给自己突破不了难的底层技术找个借口,给它贴上一个根本没啥用的标签。

02 总有一些人愿意接受挑战

但是庆幸的是,这个世界上还是有那么一批人,还在坚持在做一些难而正确的事情。

比如 Elon Musk 的公司 SpaceX 以及他的星链,以及他未来想要登陆火星的梦想。

绝大多数公司想的都是如何在这个地球上占据更多的资源,赚更多的钱。而 Musk 想的是人类的未来应该具备起码的星际迁移的能力。

再比如早些年创业的今日头条。之前的互联网公司都是想着赚一些轻松一些的钱,最好几台服务器,几个开发做一个产品出来,就能让我快速地赚到很多。

而张一鸣则是认为一个精准的个性化推荐系统在理论上是应该存在的。虽然它实现起来很难。所以今日头条早在创业初期就一头扎进了推荐这个复杂系统里,向难而行。

再比如说今天大火的黑神话悟空。创始人冯骥难道他不知道做一款 3A 游戏有多难吗,他不知道这有可能会不赚钱吗?他当然知道!但他坚持游戏人的梦想,要做一款高品质的单机游戏。即使这个事情投入很大,风险很大,他还是继续前行。

再说回到飞哥出版的两本书。《深入理解Linux进程与内存》和《深入理解Linux网络》。

说实话,刚开始的时候,我也真的感觉到非常的困难。

当时我在腾讯写第一篇《Linux文件系统十问》的时候,虽然文章大火。但是文中一条评论我至今记忆犹新。那条评论表达的是,文件系统在内核中有很多的实现细节,我的文章里并没有提到,而是从表面的角度写了一些结论(腾讯的同学可以到KM上翻翻这篇文章的评论区去)。

当时的我难道不想写到深入内核中吗?我当然想,但是真的是太太太难了!!Linux内核对于应届生的我,说是一部天书也不为过。甚至是三四年之后,我在线上遇到一个 connect 系统调用导致内核态利用率飙高的问题后,我钻入内核排查原因,前前后后整整一个月才算是钻进去找到根本原因。

除了技术上的难之外,技术氛围里也存在着困难。

在当时的技术圈里。还仍然大量地充斥着底层无用论的论调。甚至见过都有阿里P9都抨击看内核源码这件事。

但,我始终坚定一个信念。那就是应用是跑在各种框架、语言运行时、Linux内核、硬件等这些基础之上的。只有把这些底层工作原理都研究明白了,才能开发出更高性能,更高稳定性的互联网后台系统

所以,我作为一个应用层的后端开发工程师,一直坚持在底层的复杂技术里探索。

从我开始第一次钻到内核层面排查问题算起,到我今天能够写出两本底层原理的书。这中间花费我的时间是大概八年。

而且在这八年中,我都保持着比常人更大的工作强度。我的周六几乎是没有休息过的,有的时候甚至周日都有搭上半天。

花了这么大的精力才算是把应用下面的各种基础技术搞通透,用它解决了工作中很多复杂技术问题,而且也能用这么通俗易懂的语言给大家写出来,讲出来。

03 做难而正确的事情

我写这么多并不是为了吹嘘自己多厉害!(别装了,你就是在吹)

我就是想和大家表达一个观点,我们应该要做一些难而正确的事情

在这句话中,第一重点是正确。

一件事情首先你要有信念,认为它是正确的,价值巨大的。显然如果人类能具备移民火星的能力这件事情有极大的历史意义。能个性化地精准推荐人们真正感兴趣的东西,比无脑内容推送价值更大。如果每个开发都能懂得语言运行时原理、Linux内核底层工作机制也能有更多的高性能的程序的诞生。

第二重点是,即使他很难,那么也应该有人站出来去试试。移民火星是很难啊,如果真没人尝试的话就真的没可能了。

在我们国内我想更应该是如此。Matlab 太难了,没人愿意做。操作系统太难了,没公司愿意搞。芯片太难了,没人舍得投入。

在过去我们主要依赖把外面的底层产出直接拿过来用,赚快钱。甚至是其实现原理都不愿投入更多精力了解一下,导致了可笑的底层无用论调的出现。好在目前这个环境已经开始在改善。

说的严重一点,如果整个地球上都没有人愿意做难的事情,都挑好走的路走,那后果就是人类进步停止。

如果不是当年爱迪生不辞辛苦尝试了成千上万种灯丝材料,人类可能还得度过很多个黑暗的夜晚。如果不是 OpenAI 坚持在大模型领域投入了十多年,人类也不可能有今天这么多 AIGC 的畅想!

如果我们国内未来能有更多的人力和资源投入到一些面向未来价值巨大,但今天看起来还很难的事情上。我相信我们的华夏民族未来也一定更有希望!

最不济的情况,如果你不愿意做这些难的事情,那也别嘲笑那些正在做这些事情的人,而是应该给他们一些鲜花和掌声!

好了,今天的思考大餐就分享到这里吧。

最后,还是说回正事。由于加印的《深入理解Linux进程与内存》大概率是没有签名的。

八年多的底层技术沉淀对于你一定是帮助极大的。我走过的难走的路,你跟着书走就没那么难了。想要首发签名版的同学要抓紧了!

购买渠道

⬇️【8元优惠券将于8月31号晚上12点到期,各位如需购买请尽快下单


最后如果有同学手头还没有《深入理解Linux网络》,或者想买几本送人的话,从下面的入口进,还是5折优惠。





🎁 「开源中国」粉丝福利


1、关注「OSC开源社区」公众号


2、三连本文(点赞、分享和在看),并在留言区评论
3、其中评论点赞数最高的 3 名用户可获赠张彦飞老师新书:《深入理解Linux进程与内存》
(3天后在评论区公布幸运用户)
4、本次福利仅限 8 月 29 日之前关注本公众号的粉丝参与