GitHub 是共享各种技术、框架、库和集合的头号平台,越来越多的人到该平台寻找最有用的库。本文作者全栈工程师 Simon Holdorf 列举了十个能够为所有软件工程师提供巨大价值的 GitHub 库。这些库均具备大量 GitHub 星数,显示其关联性、流行性和效用。 其中一些库可以帮助大家学习新知识,还有的可以帮助构建很酷的东西,不论如何所有库都能够帮助你成为更好的软件工程师。 1. Build Your Own X
Oh My Zsh 是一个社区驱动的开源框架,旨在管理 Zsh 配置。Zsh 既是交互式 shell,也是很多开发者使用的强大脚本语言。 Oh My Zsh 具备强大的插件和美观的主题,允许用户进行 Zsh 设置自定义。你需要花费一些功夫启动和运行它,不过网上有很多不错的教程和其他开发者的示例,可以帮助你找到最适合的设置。 4. Coding Interview University
GitHub 星数:104,000
该库是针对成为大企业(亚马逊、谷歌或 Facebook)软件工程师的短期学习计划(只需几个月即可完成)。它适合的人群是软件工程新人(不过仍需了解计算机科学知识),并对如何成为可靠性工程师或运维工程师提供建议。 作者创建该库的初衷是制定个人 to-do list 来追踪自己的学习过程。每天学习 8-12 小时,学习数月后,他最终得到了梦想中的工作,成为亚马逊的软件开发工程师。 Coding Interview University 可以帮助你准备谷歌、微软、Facebook 等企业的技术面试。充分利用它吧。 5. Gitignore:.gitignore 模板合集
GitHub 星数:97,100
该库的作用和名字一样:有用的.gitignore 模板集合。每在 GitHub 上创建一个新项目库,你必须具备一个.gitignore 文件来过滤上传内容。.gitignore 文件内容随着项目和语言的变化而变化。该库包含适用于几乎所有语言和框架(如 Rails、Python、Perl、Laravel、Java 等)的模板,甚至具备适用于 Fortran 的模板! 6. System Design Primer
GitHub 星数:86,200
这个库非常适合软件工程师,可以帮助他们学习如何设计大规模系统,进而成为更好的工程师。该库针对这一宽泛主题提供大量资源,并进行了系统化组织。 由于系统设计通常是众多企业技术面试的必备内容,因此该库还可以帮助工程师准备技术面试。它包含学习指南、面试建议、面试问题及解决方案、交互式学习 Anki 卡牌集合,以及交互式编程挑战。 7. Public API
GitHub 星数:73,100
该库包含可用于项目和应用的免费 API 列表,覆盖各种主题,如商业、动画、动物、新闻、金融、游戏等。 其中 cats API 和 dogs API 提供猫狗的图像。还有一些更有用的 API,如 Gmail API 或 Google Analytics API。 这个库集合了大量 API,读者可以自行查看。 8. The Art of Command Line
GitHub 星数:70,100
开发者经常忽略如何处理命令行,但对于工程师而言使用命令行有助于提高生产效率和灵活性。该库包含在 Linux 环境中使用命令行的有用建议,同时还包含适合 Windows 或 macOS 系统的内容。通用建议适用于其他基于 UNIX 的操作系统。该库对入门者和经验丰富的开发者均适用。 尽管该库似乎没有得到积极维护,但它仍能提供非常好的建议,帮助开发者使用命令行。读者可以 fork 该库,并自行维护。 9. javascript 算法和数据结构