面試資源、公共API、多樣化學習路徑,這10個GitHub庫開發(fā)者必看
GitHub 是共享各種技術、框架、庫和集合的頭號平臺,越來越多的人到該平臺尋找最有用的庫。本文作者全棧工程師 Simon Holdorf 列舉了十個能夠為所有軟件工程師提供巨大價值的 GitHub 庫。這些庫均具備大量 GitHub 星數(shù),顯示其關聯(lián)性、流行性和效用。
其中一些庫可以幫助大家學習新知識,還有的可以幫助構建很酷的東西,不論如何所有庫都能夠幫助你成為更好的軟件工程師。
1. Build Your Own X
-
GitHub 星數(shù):61,300
-
GitHub 地址:https://github.com/danistefanovic/build-your-own-x
該庫囊括了大量教程,教你如何構建自己的技術。同時,這里還有關于如何構建命令行工具、操作系統(tǒng)、搜索引擎、3D 渲染器等的示例。
想創(chuàng)建自己的編程語言,或?qū)儆谧约旱?Docker、Git 嗎?這個庫是你的不錯選擇。
2. Free Programming Books
-
GitHub 星數(shù):139,000
-
GitHub 地址:https://github.com/EbookFoundation/free-programming-books
盡管該庫的名字是 Free Programming Books(免費編程書籍),但它提供的內(nèi)容不止于此。該庫有多語言版本,包含免費在線課程、交互式編程資源、問題集和有競爭力的編程,以及 podcast 和編程練習。
不過其中大部分內(nèi)容是編程書籍,書籍數(shù)量十分可觀。
3. Oh My Zsh
-
GitHub 星數(shù):106,000
-
GitHub 地址:https://github.com/ohmyzsh/ohmyzsh
Oh My Zsh 是一個社區(qū)驅(qū)動的開源框架,旨在管理 Zsh 配置。Zsh 既是交互式 shell,也是很多開發(fā)者使用的強大腳本語言。
Oh My Zsh 具備強大的插件和美觀的主題,允許用戶進行 Zsh 設置自定義。你需要花費一些功夫啟動和運行它,不過網(wǎng)上有很多不錯的教程和其他開發(fā)者的示例,可以幫助你找到最適合的設置。
4. Coding Interview University
-
GitHub 星數(shù):104,000
-
GitHub 地址:https://github.com/jwasham/coding-interview-university
該庫是針對成為大企業(yè)(亞馬遜、谷歌或 Facebook)軟件工程師的短期學習計劃(只需幾個月即可完成)。它適合的人群是軟件工程新人(不過仍需了解計算機科學知識),并對如何成為可靠性工程師或運維工程師提供建議。
作者創(chuàng)建該庫的初衷是制定個人 to-do list 來追蹤自己的學習過程。每天學習 8-12 小時,學習數(shù)月后,他最終得到了夢想中的工作,成為亞馬遜的軟件開發(fā)工程師。
Coding Interview University 可以幫助你準備谷歌、微軟、Facebook 等企業(yè)的技術面試。充分利用它吧。
5. Gitignore:.gitignore 模板合集
-
GitHub 星數(shù):97,100
-
GitHub 地址:https://github.com/github/gitignore
該庫的作用和名字一樣:有用的.gitignore 模板集合。每在 GitHub 上創(chuàng)建一個新項目庫,你必須具備一個.gitignore 文件來過濾上傳內(nèi)容。.gitignore 文件內(nèi)容隨著項目和語言的變化而變化。該庫包含適用于幾乎所有語言和框架(如 Rails、Python、Perl、Laravel、Java 等)的模板,甚至具備適用于 Fortran 的模板!
6. System Design Primer
-
GitHub 星數(shù):86,200
-
GitHub 地址:https://github.com/donnemartin/system-design-primer
這個庫非常適合軟件工程師,可以幫助他們學習如何設計大規(guī)模系統(tǒng),進而成為更好的工程師。該庫針對這一寬泛主題提供大量資源,并進行了系統(tǒng)化組織。
由于系統(tǒng)設計通常是眾多企業(yè)技術面試的必備內(nèi)容,因此該庫還可以幫助工程師準備技術面試。它包含學習指南、面試建議、面試問題及解決方案、交互式學習Anki卡牌集合,以及交互式編程挑戰(zhàn)。
7. Public API
-
GitHub 星數(shù):73,100
-
GitHub 地址:https://github.com/public-apis/public-apis
該庫包含可用于項目和應用的免費 API 列表,覆蓋各種主題,如商業(yè)、動畫、動物、新聞、金融、游戲等。
其中 cats API 和 dogs API 提供貓狗的圖像。還有一些更有用的 API,如 Gmail API 或 Google Analytics API。
這個庫集合了大量 API,讀者可以自行查看。
8. The Art of Command Line
-
GitHub 星數(shù):70,100
-
GitHub 地址:https://github.com/jlevy/the-art-of-command-line
開發(fā)者經(jīng)常忽略如何處理命令行,但對于工程師而言使用命令行有助于提高生產(chǎn)效率和靈活性。該庫包含在 Linux 環(huán)境中使用命令行的有用建議,同時還包含適合 Windows 或 macOS 系統(tǒng)的內(nèi)容。通用建議適用于其他基于 UNIX 的操作系統(tǒng)。該庫對入門者和經(jīng)驗豐富的開發(fā)者均適用。
盡管該庫似乎沒有得到積極維護,但它仍能提供非常好的建議,幫助開發(fā)者使用命令行。讀者可以 fork 該庫,并自行維護。
9. JavaScript 算法和數(shù)據(jù)結(jié)構
-
GitHub 星數(shù):64,700
-
GitHub 地址:https://github.com/trekhleb/javascript-algorithms
該庫包含多個 JavaScript 常用算法和數(shù)據(jù)結(jié)構示例。每個示例被標注為「入門」或「高級」,以表明難度。此外,該庫還包含哈希表、堆區(qū)(heap)、隊列(queue)、棧區(qū)(stack)、math、字符串(strings)、集合(sets)等的示例。
10. Developer Roadmap
-
GitHub 星數(shù):98,600
-
GitHub 地址:https://github.com/kamranahmedse/developer-roadmap
該庫包含的大量圖表展示了成為前端、后端或研發(fā)工程師需要采取的不同學習路徑以及要學的技術。初看令人覺得吃不消,但這個庫對在這一快速變化的行業(yè)中的趨勢和工程師需要的技能提供了很有用的指導。
該庫每年都會更新,以反映生態(tài)系統(tǒng)變化。
【本文是51CTO專欄機構“機器之心”的原創(chuàng)譯文,微信公眾號“機器之心( id: almosthuman2014)”】