火爆!GitHub 標(biāo)星 144k 的學(xué)習(xí)路線(xiàn)
你好呀,我是沉默王二。
上周在欣賞阮一峰老師的《科技周刊》時(shí),發(fā)現(xiàn)了一個(gè)牛逼的學(xué)習(xí)路線(xiàn),在 GitHub 上已經(jīng)標(biāo)星 144k 了,簡(jiǎn)直火爆。里面不僅涵蓋了前端和后端的學(xué)習(xí)路線(xiàn),還有運(yùn)維的學(xué)習(xí)路線(xiàn)。作為一名程序員,如果你還不知道這個(gè)學(xué)習(xí)路線(xiàn)的話(huà),那可就虧大發(fā)了。
這個(gè)學(xué)習(xí)路線(xiàn)原本是作者為他的大學(xué)教授繪制的,給學(xué)生們看的,后來(lái)就開(kāi)源到了 GitHub,希望能夠借助社區(qū)的力量幫助到更多的編程愛(ài)好者。
這個(gè)學(xué)習(xí)路線(xiàn)還有配套的視頻課程,包含 TCP/UDP、TCP/IP、HTTP 緩存、CDN、DNS 等等,雖然是英文版的,但制作精良,觀影體驗(yàn)還是非常不錯(cuò)的。地址如下所示:
https://roadmap.sh/watch
還有圖文版的教程,包括 OAuth、字符編碼、SSL/SSH、設(shè)計(jì)模式、代理服務(wù)器等等,文章內(nèi)容不長(zhǎng),在翻譯軟件的幫助下,很快就能掌握了。地址如下所示:
https://roadmap.sh/guides
這份學(xué)習(xí)路線(xiàn)原本只有英文版的,后來(lái)就有雷鋒把它翻譯成了中文版。我們先來(lái)看后端的學(xué)習(xí)路線(xiàn),主線(xiàn)是互聯(lián)網(wǎng)→操作系統(tǒng)→編程語(yǔ)言→版本控制系統(tǒng)→關(guān)系型數(shù)據(jù)庫(kù)→緩存→網(wǎng)絡(luò)安全知識(shí)→測(cè)試→設(shè)計(jì)和開(kāi)發(fā)原則→消息代理→容器→應(yīng)用服務(wù)器→學(xué)無(wú)止境。

這幅圖做得可真棒,一眼看上去,就愛(ài)上了,仿佛我的女神李孝利就站在面前。紫色勾住的是作者認(rèn)為的重點(diǎn),你比如說(shuō)什么是HTTP、DNS是如何工作的、操作系統(tǒng)是如何工作的、進(jìn)程管理、線(xiàn)程與并發(fā)、內(nèi)存管理、IO 管理、Git 的基本用法、MongoDB、數(shù)據(jù)庫(kù)的 ACID 原則、索引及其工作機(jī)制、OAuth、Token 驗(yàn)證、REST、CDN、Redis、單元測(cè)試、HTTPS、驅(qū)動(dòng)測(cè)試開(kāi)發(fā)、ElasticSearch、RabbitMQ、Docker、Nginx 等等,確實(shí)都是一個(gè)后端工程師需要掌握的知識(shí)點(diǎn)。
再來(lái)看一下前端的學(xué)習(xí)路線(xiàn),主線(xiàn)是互聯(lián)網(wǎng)→HTML→CSS→JavaScript→版本控制系統(tǒng)→Web 安全知識(shí)→包管理工具→構(gòu)建工具→前端框架→CSS 框架→測(cè)試→移動(dòng)端應(yīng)用開(kāi)發(fā)→學(xué)無(wú)止境。

運(yùn)維方向的學(xué)習(xí)路線(xiàn)圖也來(lái)欣賞一下吧。

有了這樣清晰的學(xué)習(xí)路線(xiàn),是不是就不用再為學(xué)什么而發(fā)愁了?我相信你的答案是肯定的。當(dāng)然了,你也不用完全按照上面的學(xué)習(xí)路線(xiàn)走,因?yàn)樽髡呤菄?guó)外的,國(guó)外的開(kāi)發(fā)環(huán)境和國(guó)內(nèi)的還是有一些差異的。
比如說(shuō)編程語(yǔ)言方面,作者推薦的是 JavaScript,國(guó)內(nèi)顯然 Java 的應(yīng)用場(chǎng)景更廣泛一些;再比如關(guān)系型數(shù)據(jù)庫(kù)方面,作者推薦的是 PostgreSQL,國(guó)內(nèi)顯然是 MySQL。
你也不用擔(dān)心,“這么多知識(shí)點(diǎn),我學(xué)到頭禿也學(xué)不完??!”是滴,任誰(shuí)都學(xué)不完。你需要的是路線(xiàn),然后結(jié)合自己的實(shí)際情況,以及未來(lái)的職業(yè)方向,從中做出選擇。
我之所以推薦這個(gè)學(xué)習(xí)路線(xiàn),并不是因?yàn)檫@個(gè)學(xué)習(xí)路線(xiàn)有多詳細(xì),這個(gè)路線(xiàn)圖畫(huà)得有多漂亮。而是,大多數(shù)初學(xué)者在進(jìn)入編程這個(gè)領(lǐng)域后,往往很迷茫,不知道自己該學(xué)習(xí)什么,東學(xué)一點(diǎn)西學(xué)一點(diǎn),等到時(shí)間一點(diǎn)一點(diǎn)流逝后,卻發(fā)現(xiàn)好像什么都沒(méi)學(xué)會(huì)。
有了這個(gè)學(xué)習(xí)路線(xiàn)圖就完全不一樣了,你能很清楚地知道自己要學(xué)什么,不用學(xué)什么,學(xué)習(xí)效率就會(huì)大幅度提升。
順帶呢,你還可以按照作者的方式給自己整一個(gè)學(xué)習(xí)路線(xiàn)。既然這個(gè)學(xué)習(xí)路線(xiàn)有 144k 的星標(biāo),就能說(shuō)明大家很認(rèn)可,很值得效仿一下。
想知道作者的路線(xiàn)圖是怎么繪制的?作者在 CONTRIBUTING.md 文件中透露了,參照下圖。

用的是 Balsamiq 這個(gè)工具,有 Windows 和 macOS 兩個(gè)版本,下載鏈接如下所示:
https://balsamiq.com/wireframes/desktop/
如果你是大學(xué)生的話(huà),應(yīng)該已經(jīng)放假了,寒假差不多兩三個(gè)月的時(shí)間,千萬(wàn)不要荒廢了。如果你的同學(xué)趁著假期瘋狂輸入了一把,而你沒(méi)有,等到開(kāi)學(xué)后,你就能感受到巨大的差距,到時(shí)候壓力就山大了。反之,如果你瘋狂輸入了一把,等開(kāi)學(xué)后,就能把同學(xué)們?nèi)俭@艷了。
如果你已經(jīng)參加工作,無(wú)論工作有多忙,都不要陷入進(jìn)去,還是要抽出一些時(shí)間去學(xué)習(xí)新的知識(shí)和技能,不能在原地停留太久。
順帶貼一下這個(gè)學(xué)習(xí)路線(xiàn)圖的中文版 GitHub 地址:
https://github.com/kamranahmedse/developer-roadmap/tree/master/translations/chinese
如果你訪(fǎng)問(wèn) GitHub 比較慢的話(huà),不用擔(dān)心,我已經(jīng)將這些學(xué)習(xí)路線(xiàn)的高清原圖上傳到了百度云盤(pán),你可以通過(guò)下面的方式獲取。
第一步,掃碼或者長(zhǎng)按識(shí)別下面的二維碼,關(guān)注「沉默王二」公眾號(hào):
第二步,在公眾號(hào)后臺(tái)發(fā)送 011?獲取下載鏈接。
