Skip to content

Latest commit

 

History

History
34 lines (21 loc) · 4.44 KB

2014-03-12-start.md

File metadata and controls

34 lines (21 loc) · 4.44 KB
layout title category description tags
post
写在开始
感受
写在开始...
感受

为什么我要看《深入Linux内核架构》《深入理解LINUX内核》这两本书?其实说起来很诡异,并没有什么特别的,主要还是因为自己太差,而很多问题去问高手,往往得不到解答。

虽然做程序员这一行做了有一段时间了,但很多时候总觉得有些格格不入,想起来看,可能还是因为自己太差,哈哈,虽然这么说,但总觉得可以变得更好。自己一开始主要做微软的项目,是Microsoft的金牌Partner,倒是有很多可以锻炼的地方,后来觉得微软的东西,无论怎么用,都是在使用别人的东西,自己实际上学不到什么,而在微软社区里,只要稍微吹吹牛(倒也不应该这么说),比如安装MSSQL要怎么安装,都可以变成MVP,我自己大学时候也弄过一个MVP,但最终觉得挺没意思的,后来就离开了那个公司。

然后我在豆瓣工作,工作了几年觉得开源社区很好,因为很能锻炼人,但是在开源社区里瞎混的越久,越觉得自己垃圾。我觉得倒不是自己真的垃圾,只是说很多习惯很难理解,比如说RTFD1,虽然从另一方面来说对于新人的提问,高手们总是神龙见首不见尾,让新人们摸爬滚打,等到新人们成为了老人,怎么的也想享受享受威严的感觉,于是这种风气一直流传下来,就好像当兵里新兵一定会受到欺负一样难以理解。于是在这种情况下,产生了自我怀疑。

当然,大牛们的时间自然是宝贵,这倒无可厚非,另一个难堪的是觉得,每次提问的时候,不仅仅是RTFD,更多时候是觉得他根本就没有理解你想问什么,而觉得深深的无奈。这就好比你看到满大街都在跑汽车,你就很好奇,问汽车是怎么跑起来的,大牛们首先是跟你说RTFD,STFG2,当然这一点并没有太大的错,因为我觉得如果不加思考的提问,也是很不好的。但对于思考过的人来说,这确实难堪。如果你已经搜索过并提出更稍微难一点的问题,比如发动机是什么原理,其实很多大牛更不愿意和你解释,他们只是回答了你『什么是发动机』或者『如何使用发动机』,有时候,他们自己也只是囫囵吞枣。而对我来说,火花塞的物理作用才是我想得到的答案。

就比如之前我问socket的问题,想了解HTTP是怎么实现的,然后问WebSocket是如何实现,大多数人都会让我RTFD,并友好的贴上实现协议。当然,更好的一些人会给js的实现方法3,于是觉得他们并没有理解我的问题,直到我自己读到command=0x8就是close的时候,我觉得我才算理解了socket是什么东西。因为我智商低,比如管道这种东西,用的地方太多,没有上下文,常常无法理解。

不过也遇到过很多很好的开发,让我对C语言有了很多很新的认识。当然我不是C的开发者,对C的了解仅限于做做算法,但为什么要做算法,一点都不知道。比如红黑树为什么那么重要,谁知道,就算说了文件系统用了红黑树也难以理解(相当多老师在解释树的作用的时候都会这么说),因为这样的理解仅仅是表面的理解。而看过内核调度之后,虽然红黑树还是那个红黑树,但我对它有了更深的了解。

我发现,国外很多越厉害的开发者,越愿意和新人交流如何开发。为了满足我自己这样的要求,和无聊的没有意义的没有产出的问题,于是有了这个网站。

至于为什么从Linux内核开始看,其实对我来说也挺难的,但很多代码看到最后,都是系统的东西,而中国的教育让我只知其一不知其二,上不了台面,所以打算从基础看起,如果能帮到你,那最好,如果你是高手,也请高抬贵手,谢谢。

对于这样一篇读书笔记,随着时间的关系,可能会有很多问题,毕竟是第一次读的笔记,欢迎各种PR,有各种typo也请一并PR。

或者联系我 soundbbg at gmail。

Github

Footnotes

  1. Read The Fuck Document

  2. Search The Fuck Google

  3. var websocket = New WebSocket(xx),并由浏览器实现。