從今天起,換一種輕鬆有趣的方式學習計算機底層技術!

大家好,我是軒轅之風。

告訴大家一個好消息,我的 《趣話計算機底層技術》 系列技術故事圖書終於出版了!

 

印刷廠新鮮出爐的第一批圖書,已經上線京東、噹噹啦!

 

你還記得那個CPU一號車間的阿Q嗎?這一次它要繼續講故事給你聽啦!

創作起源

我爲什麼要寫這本書呢?

在很多年前,我就發現了一個現象:當我們去學習一個新的技術時,會有一大堆的技術名詞和專業術語向我們襲來。而當我們試圖去學習和理解它們時,網絡上的各種學習資料,要麼是非常晦澀的原理闡述,要麼是大段的代碼講解,看得雲裏霧裏。在我們對一項技術還沒有一個全局和整體的認識之前,一下就陷入到細節中,對新手學習的效率和信心都有不少的負面影響。

除此之外,還有一個類似的現象。在工作中經常會有技術分享和技術講座,很多時候,負責分享和講述的人都只顧着單方面的信息傳輸,把自己要講的東西說完就算完事,至於下面的人聽懂沒有聽懂多少,似乎並不關心。

上面的兩個現象,在我十一年的編程生涯中,就經常遇到。

每到這個時候,我就在想:爲什麼不能站在讀者/觀衆的角度來想一想呢,想一想什麼樣的方式更容易讓他們接受和理解。如果是我來講、我來寫,該用什麼樣的語言讓大家更好理解呢?

後來,我總結了自己的一套方法,那就是舉例子、打比方、講故事,把一個晦澀的概念用我們熟知的事物表達出來,去削弱技術名詞本身的神祕感,讓我們能快速知道這個技術是幹啥的,解決什麼問題的,然後纔是它具體是怎麼工作的。

運用上面的表達方式,我曾經在大學的時候通過遠程語音講述,幫助一個學經濟學專業的高中同學從零基礎學C語言考過了計算機二級考試。

我們再來看另外一個問題。

在我面試過的很多人中,也包括如今的互聯網上,我發現很多程序員都在忙着學習各種編程語言、各種開發框架和各種中間件的使用,卻對計算機底層相關的技術知之甚少。我思考造成這一現象主要有幾個原因:

1、很多程序員都是半路出家,沒有系統化的學習過計算機底層知識。

2、科班出身的程序員,大學裏陳舊的教學方式讓大家對這些底層技術提不起興趣。

3、實際工作中的很多崗位,只需要CRUD能力就足矣,對計算機底層技術沒那麼看重。

由於這些原因,很多程序員的基礎知識薄弱,在工作中涉及技術原理性的時候就會發現不足。

比如項目中遇到性能瓶頸,不知道從何入手優化。又比如遇到了稀奇古怪的bug,不知道該用什麼方式排查定位。

隨着越來越多新人的加入,計算機軟件開發行業競爭也越來越激烈,只靠CRUD技能很大程度上會限制程序員們在技術領域的發展。而學習瞭解這些底層技術知識,修煉好程序員的內功,可以幫助我們知其然還能知其所以然。

舉個簡單的例子,如果不知道零拷貝技術和I/O多路複用技術底層的原理,就很難理解Nginx爲什麼能支持高併發。

由於我從事的是網絡安全方向的軟件研發工作,經常會與計算機底層技術打交道,像是CPU、操作系統內核等等,但這些東西通常給人的印象就是艱深、晦澀。所以我就在想,我能不能試着用通俗易懂的方式去把這些晦澀的東西講清楚?

在2019年底的時候,我註冊了一個微信公衆號:編程技術宇宙,開始嘗試用寫故事的方式去講述編程相關的技術知識。

剛開始的時候方向比較分散,沒有什麼起色。後來我開始專注在計算機底層相關的方向上,開始受到不少好評,尤其是我的CPU系列故事,吸引了很多粉絲的追更,並在CSDN、博客園、知乎等平臺獲得多次精選推薦。

 

後來不知不覺就寫了一百多篇故事,幫助許許多多的讀者解鎖了原來一直感覺很艱深難懂的知識,對我而言也是很有成就感的一件事。

在這期間,還發生了一個讓我感動的小故事。

一位叫“未來永劫”的網友,由於非常喜歡我的這些用故事講解技術的文章,特地把公衆號裏這幾個系列的文章打印了出來裝訂成了一本“書”寄給了我。

 

 

看着自己創作的內容變成手裏沉甸甸的一本書,心裏還是非常開心和激動的。那時候就在想,要是以後真能寫一本書就好了。

讓我沒想到的是,後面陸陸續續就有很多出版社的老師找到了我,讓我出書。

在這些老師之中,有一位引起了我的關注,他就是策劃了《碼農翻身》、《漫畫算法》等知名書籍的姚新軍(@長頸鹿27)老師。這些書我都自己買過,非常喜歡。更重要的是,姚老師就在成都,溝通聯繫都很方便。

於是我們就線下約了一次,姚老師對我的創作內容很認可,也給了我很多寫書方面的介紹和建議,我們倆聊的很高興,於是我決定繼續創作更多計算機底層技術文章,彙集成大家手裏看到的這本書。

在創作過程中,我始終堅持有趣、有用、嚴謹並抓,經常一個故事寫完自己讀的都不滿意,然後推倒重寫,裏面的插圖也是一改再改,力求給讀者一個更舒適流暢的閱讀體驗。也因爲這個原因,導致我的交稿時間一拖再拖,好在出版社老師也很支持理解我。

本書特色

這本書主要是用故事的方式講述計算機底層相關的技術,用通俗易懂的表達方式幫助大家學習底層技術。

故事的主人公可能是計算機裏的一個程序、一個進程、一個線程、一個函數、一個數據包、一個文件等這樣的軟件角色,也可能是CPU、內存、網卡等這樣的硬件角色。本書透過這些角色的視角去講述發生在計算機世界裏的故事,在故事中學習和了解計算機底層技術的工作原理。

在選題方面,我挑選了一些跟咱們程序員日常工作密切相關的主題,讓大家不僅是看完一個故事,還能夠對工作產生一些幫助。

整本書由幾十個故事構成,故事之間既有關聯性,讓大家像“追劇”一樣學習技術,也有一定的獨立性,讓你隨時翻開一篇都能看下去。

本書主要涵蓋計算機中的CPU、存儲、I/O、操作系統、系統編程、安全六個主題,每個主題一章,你不必從頭到尾逐篇閱讀,完全可以挑選自己感興趣的任何章節開始。

書和公衆號區別

可能很多人會有一個疑問:這本書和公衆號文章有什麼不同?

我的公衆號文章,講故事的總共有三個系列,分別是“趣話計算機底層技術”、“趣話網絡安全”、“趣話編程技術”,這本書節選了部分前兩個系列中的優質文章。

但如果僅僅是彙集舊文章,那可交代不過去,在彙集的同時,也對很多內容進行了修改發散,並且擴充了很多新的故事進去,讓整個內容更成體系。這裏面就有很多公衆號從未發佈的新內容,歡迎大家去發現。

 

 

 

 

感謝

最後我要感謝的是一路以來一直支持我的讀者朋友,是你們的每一個點擊,每一個在看,每一條留言,每一個讚賞、每一個分享纔有了這本書的誕生。

你們寫下的每一句留言都是支撐我堅持下去的力量:

 

如果大家厭倦了傳統的計算機組成原理和操作系統書籍,想要換一種輕鬆有趣的方式學習這些底層知識,不妨入手一本。而且現在618期間,京東和噹噹網都在搞五折活動,非常划算。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章