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