选自Medium
作者:Simon Holdorf
机器之心编译
参与:魔王
本文介绍了十个适合软件工程师的 GitHub 库。
GitHub 是共享各种技术、框架、库和集合的头3 S _ {号平台,越来越多的人到该平台寻找最有用的库。本文作者全栈工程师 Simon Holdorf 列举了十个能够为所有软件工程师提供巨大价值的 GitHub 库。这些库均具备大量 GitHub 星数,显示其关联性、流行性和效用。
其中一些库可以帮助大家学习新知识,还[ Y A d 3有的可以帮助构建很酷的东6 S k西,不论如何所有库都能够帮助你成为更好的软件工程师。
1. Builo m 3 : z l ed Your Own X
GitHub 星f ^ K D } t数:6a g J1,300
GitHub 地址:hR H z X f u _ Jttps://github.com/dani| I ] c { N Zstefanovic/build-your-own-x
该库囊括了大量教程,教你如何构建自己的技术。同时,这里还有关于如何构建命令行工具、操作系统、搜索引擎u S 7、3D 渲染器等的示例。
想创建自己4 7 I y P H的编程语言,或属于自己的 Docker、Git 吗?这个库是你的不错选择J 1 _ s C P } ] u。q ? X @ ^ ! x Y {
2. Free Progr_ Y q _amming Books
GitHub 星数:13) ; - u n9,000
GitHub 地址:https://github.com/EbookFoundatU x l E F e rion/frea = q K we-programming-books
尽管该库的名字是 Free Progr3 4 i ^ 0amming BooC = Qks(免费编程书籍),但它提供的内容不止于此。该) F , I /库有多语言版本,包含免费在线课程、交互式编程资源、问题集和有竞争力的编程,以及 podcast 和编程练习。
不过其f ( , v I ? F g中大部分内容是编程书籍,书籍k 0 S A 2 C { & u数量十分可观。
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 Intervie` { O ; G %w University
GitHub 星数:104,000
GitHJ , T 8 # {ub 地址:https://github.com/jwa8 A |sham/( z } I W k Pcoding-interview-university
该库是针对成为大企业(亚马逊、谷歌或 Facebook)软件工程师的短期学习计划(只需几个月即可完成)。它适合的人群是软件工程新人(不过仍需了解计k N x :算机科学知识),4 , t #并对如何成为可靠性工程师或运维工程师提供建议。
作者创建该库的初衷是制定个人 to-do list 来追踪自己的学习过程。每天学习 8-12 小时X D 0 # ? B n l C,学习数月后,他最终得到了梦想中的工作,成为亚马逊的软件开发工程师。
Coding Interview Univers} l # _ z f l rity 可以帮助你准备谷歌、微软、Facebook 等企业的技术面试。充分利用它吧。
5. Gitignore:.gitignore 模板合集
GitHub 星数^ n k x # 7:97,^ 9 l ^ G Q100
GitHub 地址:https://gib H S n Zthub.com/github/gitignore
该库的作用和名字一样:有用的.gitig_ A ;nore 模板集合。每在 GitHub 上创建一个新项目库,你必须具备一个.gitignore 文件来过滤上传内容。K u .gitignore* 8 F B x r S 文件内容随着项目和语言的变化而变化。该库包含适用于几乎所有语言和框架(如 Rails、Python、Perl、Laravel、Java 等)的模板,甚至具备适用于 FortrJ T u . 9an 的模板!
6. System Design Primer
GitHub 星数:86,200
GitHub 地址:https://github.com/don! 6 p d E B wnemartin/system-design-primer
这个库非常适合软件工程师,可以帮Y 0 f S | p助他们学习如何设计大规模系统,进而成为更好的工程师。该库针对这一宽泛主题提供大量资源,并进行了系统化组织。
由于系统设计通常是众多企$ j + B R业技术面试的必备` r ( 8 * E内容,因此该库还可以帮助工程师准备技术面试。它包含h S X 4 h : F J -学习指南、面试建议、面试问题 p R 0 c v 5 b .及解决方案、交互式学习 Anki 卡牌集合,以H 1 E b u : N及交互式编程挑战。
7. Publi6 m !c API
GitHub 星数:73,100
Gik | i {tHub 地址:https://github.com/public-apis/public-apis
该库包含可用于项目和应用的免费 API 列表,覆盖各种主题,如商业、动画、动物、新闻、金融、游戏等3 o n _。
其中 cats API 和 dogs API 提供猫狗的图像。还有一些更有用的 API,如 Gmail API 或 Google Analytics API。
这个库集合了大量 API,读a y 2 # L者可以自行查看。
8. The Art of Command Line
GitHub 星数:70,100
GitHub 地址:https://github.com/jlevy/the-art-of-command-line
开发者经常忽略如何处理命令行,但对于工程师而言使用命令行有助于提高生产效率和灵活性。该库包含在 Linux 环境中使用命令行的有用建议,同时还包含适合 Windows 或 mK } _ ; B _ jacOS 系统的内容。通用建议适用于其他基于 UNIX 的操作系统。该库对入门者和经验丰富的开发者均适用。
尽管该库似乎没有得到积极维护,但它仍能提供非常好的建议,帮助开发者使用命令行。读者可以 fork 该库,v B x F p R并自行维护。
9. JavaScript 算法和数据结构
GitHub 星数:64,700
GitHub 地址:https://github.com/{ + v S 1 k wtrekhleb/javascript-a+ z U A + 4 [ ` Slgorithms
该库包含多个 JavaV # b [ r 2Script 常3 b ) # v 9 S %用算法和数据结构示例。每个示例被标注为「入门」或「高级」,S X ] ; w 9 } J以表明难度。此外,该库还包含哈希表、堆区(heap)、队列(queueO : & 5 3 P T i 6)、栈区(stack)、matha n 7 | f、字符串(striu 9 n O 8 I ` S ?ngs)、集合(sets)等的示例。
10. Developer Roadmap
GitHub 星数o e S s 7 9 z 8 L:98,600
GitHub 地址:https://github.c% Q p L com/kamranahmedse/developer-roadmap
该库包N 1 d d V含的大量图表展示了成为前端、后端或研发工程师需要采取的不同学习路径以及要学的技术。初看令人觉得吃不消,但这个库对L R Q在这一快速变化的行业中的趋势r = = o和工程师需要的技能提供了很有用的指导。
该库每年都会更新,以反映生态系统变化。
原文链接:httO 5 N S c 3 , $ :ps://medium.com/better-programming/10-extraordinar. n 0 ) ty-github-repos-fS e 8or-all-developers-939cdeP n M 1 , ?b28ad0