学底层狠无聊?,无聊的狠

描述

大家好我是 cxuan。

不知道各位有没有过这样的感觉:就是在学习计算机的过程中,当学到某个知识点的时候,想要搞懂它,就去搜索引擎、书籍中寻找答案,结果找到了一大堆复杂的描述,看了半天也没看懂,只是看了个寂寞。

举个例子:我想知道什么是docker,随便来看看网络上的介绍:

这篇文章说的也没错,但对于新手来说,就如同一杯白开水,看完依旧不知道什么是docker。

从作者的角度,这是一种典型的正向思维:我知道什么是docker,我用专业的术语描述给你,你也就知道了。

但实际上,这种正向思维潜意识里,默认了读者具有很多专业的知识背景。以上面那篇文章为例,注意看里面的措辞:

Docker 是一个开源的应用容器引擎,是虚拟化的一种轻量级替代技术。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,开销很低。docker解决了服务器昂贵的问题,生产环境和测试环境不一致的问题。

他默认了读者知道什么是容器,什么是虚拟化,什么是沙箱机制,什么是开发环境和测试环境不一致等等问题。

然而事实上,想要去搜这个问题的人,大概率是不具备这些专业基础知识的。

而我更推荐的一种方式是逆向思维:假设读者是个小白,应该如何写,才能让小白也能看懂。

还是以Docker为例,来看看这篇文章。

首先以故事情节的形式,把读者吸引进来,并且引出了问题,为后面Docker技术的登场做铺垫:

接下来通过对话的形式,交代虚拟机和容器的区别:

再然后,通过故事情节的推动,引出Docker的三个核心技术,以及它们分别解决了什么问题:

 

 

通过故事情节推动和风趣幽默的语言,把Docker复杂又晦涩的底层技术原理一层层剥给读者来看,让人印象深刻,轻松掌握。

上面这些图,是最近上市的一本新书《趣话计算机底层技术》中的内容,限于篇幅的限制,这里只截取了其中一部分。

这本书的作者是轩辕之风,也是我们一起做公众号的朋友,他曾经在百度、360、奇安信等大厂工作多年,开发经验丰富。轩辕大佬一直坚持在公众号上用讲故事的方式,把计算机底层的技术知识讲的清晰易懂,几乎每一篇故事文章都获得过博客园的置顶精选。我看过好几篇都觉得很不错,没想到现在作者轩辕居然把这个故事系列出书了,像上面这样的故事,这本书有好几十篇,全都是专注在计算机底层相关的技术。

说到底层技术,我发现很多程序员都在忙着学习各种编程语言、各种开发框架和各种中间件的使用,却对计算机底层相关的技术知之甚少。造成这一现象主要有几个原因:

1、很多程序员都是半路出家,没有系统化的学习过计算机底层知识。

2、科班出身的程序员,大学里陈旧的教学方式让大家对这些底层技术提不起兴趣。

3、实际工作中的很多岗位,只需要CRUD能力就足矣,对计算机底层技术没那么看重。

随着越来越多新人的加入,计算机软件开发行业竞争也越来越激烈,只靠CRUD技能很大程度上会限制程序员们在技术领域的发展。而学习了解这些底层技术知识,修炼好程序员的内功,可以帮助我们知其然还能知其所以然。

轩辕大佬的这本书主要是用故事的方式讲述计算机底层相关的技术,用通俗易懂的表达方式帮助大家学习底层技术,对于很多新手小白来说简直是福音。

这些故事的主人公可能是计算机里的一个程序、一个进程、一个线程、一个函数、一个数据包、一个文件等这样的软件角色,也可能是CPU、内存、网卡等这样的硬件角色。这本书透过这些角色的视角去讲述发生在计算机世界里的故事,在故事中学习和了解计算机底层技术的工作原理。

这本书主要涵盖计算机中的CPU、存储、I/O、操作系统、系统编程、安全六个主题,每个主题一章,你不必从头到尾逐篇阅读,完全可以挑选自己感兴趣的任何章节开始。

 

相关推荐

相关文章