大家好我是 cxuan。
不知道各位有沒有過這樣的感覺:就是在學(xué)習(xí)計(jì)算機(jī)的過程中,當(dāng)學(xué)到某個(gè)知識(shí)點(diǎn)的時(shí)候,想要搞懂它,就去搜索引擎、書籍中尋找答案,結(jié)果找到了一大堆復(fù)雜的描述,看了半天也沒看懂,只是看了個(gè)寂寞。
舉個(gè)例子:我想知道什么是docker,隨便來看看網(wǎng)絡(luò)上的介紹:
這篇文章說的也沒錯(cuò),但對于新手來說,就如同一杯白開水,看完依舊不知道什么是docker。
從作者的角度,這是一種典型的正向思維:我知道什么是docker,我用專業(yè)的術(shù)語描述給你,你也就知道了。
但實(shí)際上,這種正向思維潛意識(shí)里,默認(rèn)了讀者具有很多專業(yè)的知識(shí)背景。以上面那篇文章為例,注意看里面的措辭:
Docker 是一個(gè)開源的應(yīng)用容器引擎,是虛擬化的一種輕量級替代技術(shù)。Docker 可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個(gè)輕量級、可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口,開銷很低。docker解決了服務(wù)器昂貴的問題,生產(chǎn)環(huán)境和測試環(huán)境不一致的問題。
他默認(rèn)了讀者知道什么是容器,什么是虛擬化,什么是沙箱機(jī)制,什么是開發(fā)環(huán)境和測試環(huán)境不一致等等問題。
然而事實(shí)上,想要去搜這個(gè)問題的人,大概率是不具備這些專業(yè)基礎(chǔ)知識(shí)的。
而我更推薦的一種方式是逆向思維:假設(shè)讀者是個(gè)小白,應(yīng)該如何寫,才能讓小白也能看懂。
還是以Docker為例,來看看這篇文章。
首先以故事情節(jié)的形式,把讀者吸引進(jìn)來,并且引出了問題,為后面Docker技術(shù)的登場做鋪墊:
接下來通過對話的形式,交代虛擬機(jī)和容器的區(qū)別:
再然后,通過故事情節(jié)的推動(dòng),引出Docker的三個(gè)核心技術(shù),以及它們分別解決了什么問題:
通過故事情節(jié)推動(dòng)和風(fēng)趣幽默的語言,把Docker復(fù)雜又晦澀的底層技術(shù)原理一層層剝給讀者來看,讓人印象深刻,輕松掌握。
上面這些圖,是最近上市的一本新書《趣話計(jì)算機(jī)底層技術(shù)》中的內(nèi)容,限于篇幅的限制,這里只截取了其中一部分。
這本書的作者是軒轅之風(fēng),也是我們一起做公眾號的朋友,他曾經(jīng)在百度、360、奇安信等大廠工作多年,開發(fā)經(jīng)驗(yàn)豐富。軒轅大佬一直堅(jiān)持在公眾號上用講故事的方式,把計(jì)算機(jī)底層的技術(shù)知識(shí)講的清晰易懂,幾乎每一篇故事文章都獲得過博客園的置頂精選。我看過好幾篇都覺得很不錯(cuò),沒想到現(xiàn)在作者軒轅居然把這個(gè)故事系列出書了,像上面這樣的故事,這本書有好幾十篇,全都是專注在計(jì)算機(jī)底層相關(guān)的技術(shù)。
說到底層技術(shù),我發(fā)現(xiàn)很多程序員都在忙著學(xué)習(xí)各種編程語言、各種開發(fā)框架和各種中間件的使用,卻對計(jì)算機(jī)底層相關(guān)的技術(shù)知之甚少。造成這一現(xiàn)象主要有幾個(gè)原因:
1、很多程序員都是半路出家,沒有系統(tǒng)化的學(xué)習(xí)過計(jì)算機(jī)底層知識(shí)。
2、科班出身的程序員,大學(xué)里陳舊的教學(xué)方式讓大家對這些底層技術(shù)提不起興趣。
3、實(shí)際工作中的很多崗位,只需要CRUD能力就足矣,對計(jì)算機(jī)底層技術(shù)沒那么看重。
隨著越來越多新人的加入,計(jì)算機(jī)軟件開發(fā)行業(yè)競爭也越來越激烈,只靠CRUD技能很大程度上會(huì)限制程序員們在技術(shù)領(lǐng)域的發(fā)展。而學(xué)習(xí)了解這些底層技術(shù)知識(shí),修煉好程序員的內(nèi)功,可以幫助我們知其然還能知其所以然。
軒轅大佬的這本書主要是用故事的方式講述計(jì)算機(jī)底層相關(guān)的技術(shù),用通俗易懂的表達(dá)方式幫助大家學(xué)習(xí)底層技術(shù),對于很多新手小白來說簡直是福音。
這些故事的主人公可能是計(jì)算機(jī)里的一個(gè)程序、一個(gè)進(jìn)程、一個(gè)線程、一個(gè)函數(shù)、一個(gè)數(shù)據(jù)包、一個(gè)文件等這樣的軟件角色,也可能是CPU、內(nèi)存、網(wǎng)卡等這樣的硬件角色。這本書透過這些角色的視角去講述發(fā)生在計(jì)算機(jī)世界里的故事,在故事中學(xué)習(xí)和了解計(jì)算機(jī)底層技術(shù)的工作原理。
這本書主要涵蓋計(jì)算機(jī)中的CPU、存儲(chǔ)、I/O、操作系統(tǒng)、系統(tǒng)編程、安全六個(gè)主題,每個(gè)主題一章,你不必從頭到尾逐篇閱讀,完全可以挑選自己感興趣的任何章節(jié)開始。
-
開源
+關(guān)注
關(guān)注
3文章
3218瀏覽量
42329 -
容器
+關(guān)注
關(guān)注
0文章
492瀏覽量
22027 -
Docker
+關(guān)注
關(guān)注
0文章
453瀏覽量
11792
原文標(biāo)題:學(xué)底層狠無聊?
文章出處:【微信號:cxuangoodjob,微信公眾號:程序員cxuan】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論