12

从今天起,换一种轻松有趣的方式学习计算机底层技术!

 1 year ago
source link: https://www.cnblogs.com/xuanyuan/p/17476556.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

从今天起,换一种轻松有趣的方式学习计算机底层技术!

大家好,我是轩辕之风。

告诉大家一个好消息,我的 《趣话计算机底层技术》 系列技术故事图书终于出版了!

659280-20230613085907880-1689725584.png

印刷厂新鲜出炉的第一批图书,已经上线京东、当当啦!

659280-20230613085914312-1665162040.png

你还记得那个CPU一号车间的阿Q吗?这一次它要继续讲故事给你听啦!

我为什么要写这本书呢?

在很多年前,我就发现了一个现象:当我们去学习一个新的技术时,会有一大堆的技术名词和专业术语向我们袭来。而当我们试图去学习和理解它们时,网络上的各种学习资料,要么是非常晦涩的原理阐述,要么是大段的代码讲解,看得云里雾里。在我们对一项技术还没有一个全局和整体的认识之前,一下就陷入到细节中,对新手学习的效率和信心都有不少的负面影响。

除此之外,还有一个类似的现象。在工作中经常会有技术分享和技术讲座,很多时候,负责分享和讲述的人都只顾着单方面的信息传输,把自己要讲的东西说完就算完事,至于下面的人听懂没有听懂多少,似乎并不关心。

上面的两个现象,在我十一年的编程生涯中,就经常遇到。

每到这个时候,我就在想:为什么不能站在读者/观众的角度来想一想呢,想一想什么样的方式更容易让他们接受和理解。如果是我来讲、我来写,该用什么样的语言让大家更好理解呢?

后来,我总结了自己的一套方法,那就是举例子、打比方、讲故事,把一个晦涩的概念用我们熟知的事物表达出来,去削弱技术名词本身的神秘感,让我们能快速知道这个技术是干啥的,解决什么问题的,然后才是它具体是怎么工作的。

运用上面的表达方式,我曾经在大学的时候通过远程语音讲述,帮助一个学经济学专业的高中同学从零基础学C语言考过了计算机二级考试。

我们再来看另外一个问题。

在我面试过的很多人中,也包括如今的互联网上,我发现很多程序员都在忙着学习各种编程语言、各种开发框架和各种中间件的使用,却对计算机底层相关的技术知之甚少。我思考造成这一现象主要有几个原因:

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

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

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

由于这些原因,很多程序员的基础知识薄弱,在工作中涉及技术原理性的时候就会发现不足。

比如项目中遇到性能瓶颈,不知道从何入手优化。又比如遇到了稀奇古怪的bug,不知道该用什么方式排查定位。

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

举个简单的例子,如果不知道零拷贝技术和I/O多路复用技术底层的原理,就很难理解Nginx为什么能支持高并发。

由于我从事的是网络安全方向的软件研发工作,经常会与计算机底层技术打交道,像是CPU、操作系统内核等等,但这些东西通常给人的印象就是艰深、晦涩。所以我就在想,我能不能试着用通俗易懂的方式去把这些晦涩的东西讲清楚?

在2019年底的时候,我注册了一个微信公众号:编程技术宇宙,开始尝试用写故事的方式去讲述编程相关的技术知识。

刚开始的时候方向比较分散,没有什么起色。后来我开始专注在计算机底层相关的方向上,开始受到不少好评,尤其是我的CPU系列故事,吸引了很多粉丝的追更,并在CSDN、博客园、知乎等平台获得多次精选推荐。

659280-20230613090241037-1430964570.png

后来不知不觉就写了一百多篇故事,帮助许许多多的读者解锁了原来一直感觉很艰深难懂的知识,对我而言也是很有成就感的一件事。

在这期间,还发生了一个让我感动的小故事。

一位叫“未来永劫”的网友,由于非常喜欢我的这些用故事讲解技术的文章,特地把公众号里这几个系列的文章打印了出来装订成了一本“书”寄给了我。

659280-20230613085927098-1846423270.png
659280-20230613085933087-97382318.png

看着自己创作的内容变成手里沉甸甸的一本书,心里还是非常开心和激动的。那时候就在想,要是以后真能写一本书就好了。

让我没想到的是,后面陆陆续续就有很多出版社的老师找到了我,让我出书。

在这些老师之中,有一位引起了我的关注,他就是策划了《码农翻身》、《漫画算法》等知名书籍的姚新军(@长颈鹿27)老师。这些书我都自己买过,非常喜欢。更重要的是,姚老师就在成都,沟通联系都很方便。

于是我们就线下约了一次,姚老师对我的创作内容很认可,也给了我很多写书方面的介绍和建议,我们俩聊的很高兴,于是我决定继续创作更多计算机底层技术文章,汇集成大家手里看到的这本书。

在创作过程中,我始终坚持有趣、有用、严谨并抓,经常一个故事写完自己读的都不满意,然后推倒重写,里面的插图也是一改再改,力求给读者一个更舒适流畅的阅读体验。也因为这个原因,导致我的交稿时间一拖再拖,好在出版社老师也很支持理解我。

这本书主要是用故事的方式讲述计算机底层相关的技术,用通俗易懂的表达方式帮助大家学习底层技术。

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

在选题方面,我挑选了一些跟咱们程序员日常工作密切相关的主题,让大家不仅是看完一个故事,还能够对工作产生一些帮助。

整本书由几十个故事构成,故事之间既有关联性,让大家像“追剧”一样学习技术,也有一定的独立性,让你随时翻开一篇都能看下去。

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

书和公众号区别

可能很多人会有一个疑问:这本书和公众号文章有什么不同?

我的公众号文章,讲故事的总共有三个系列,分别是“趣话计算机底层技术”、“趣话网络安全”、“趣话编程技术”,这本书节选了部分前两个系列中的优质文章。

但如果仅仅是汇集旧文章,那可交代不过去,在汇集的同时,也对很多内容进行了修改发散,并且扩充了很多新的故事进去,让整个内容更成体系。这里面就有很多公众号从未发布的新内容,欢迎大家去发现。

659280-20230613085944090-2048616982.png
659280-20230613085953696-988767275.png
659280-20230613090002555-237653052.png

最后我要感谢的是一路以来一直支持我的读者朋友,是你们的每一个点击,每一个在看,每一条留言,每一个赞赏、每一个分享才有了这本书的诞生。

你们写下的每一句留言都是支撑我坚持下去的力量:

659280-20230613090035818-1948883010.png
659280-20230613090048042-282324824.png

如果大家厌倦了传统的计算机组成原理和操作系统书籍,想要换一种轻松有趣的方式学习这些底层知识,不妨入手一本。而且现在618期间,京东和当当网都在搞五折活动,非常划算。

电梯直达链接:https://item.jd.com/13987012.html

659280-20230613090127822-23728397.jpg

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK