GitHub是各种技术、框架、库、集合的第一分享平台。有用的图书馆。本文作者全栈工程师SimonHoldorf列出了十个GitHub存储库,它们为所有软件工程师提供了巨大的价值。这些库中的每一个都拥有大量的GitHub星数,显示了它们的相关性、受欢迎程度和实用性。其中一些库可以帮助人们学习新事物,另一些可以帮助构建很酷的东西,但所有这些库都可以帮助您成为更好的软件工程师。1.BuildYourOwnXGitHubstars:61,300GitHub地址:https://github.com/danistefanovic/build-your-own-x这个库包含大量的教程,教你如何建立自己的技术。此外,还有关于如何构建命令行工具、操作系统、搜索引擎、3D渲染器等的示例。想创建自己的编程语言,或者自己的Docker、Git?这个库对你来说是个不错的选择。2.FreeProgrammingBooksGitHubstars:139,000GitHub地址:https://github.com/EbookFoundation/free-programming-books虽然图书馆的名字是FreeProgrammingBooks(免费编程书籍),但它提供的不止于此。该图书馆提供多种语言版本,包含免费在线课程、交互式编程资源、问题集和竞争性编程,以及播客和编程练习。不过大部分内容都是编程书籍,而且书籍数量非常可观。3.OhMyZshGitHubstars:106,000GitHub地址:https://github.com/ohmyzsh/ohmyzshOhMyZsh是一个社区驱动的开源框架,旨在管理Zsh配置。Zsh既是交互式shell,也是许多开发人员使用的强大脚本语言。OhMyZsh具有强大的插件和漂亮的主题,允许用户自定义Zsh设置。启动和运行它需要一些工作,但是网上有很多来自其他开发人员的优秀教程和示例可以帮助您找到最佳设置。4.CodingInterviewUniversityGitHubstars:104,000GitHub地址:https://github.com/jwasham/coding-interview-university可能需要几个月才能完成)。它适用于刚接触软件工程的人(但仍需要计算机科学知识),并提供有关如何成为可靠性工程师或操作工程师的建议。作者创建这个库的初衷是开发一个个人待办事项列表来跟踪自己的学习过程。在连续几个月每天学习8-12小时后,他终于在亚马逊找到了他梦寐以求的软件开发工程师工作。CodingInterviewUniversity可以帮助您准备Google、Microsoft、Facebook等公司的技术面试。充分利用它。5.Gitignore:.gitignore模板集合GitHub星数:97,100GitHub地址:https://github.com/github/gitignore这个库做它所说的:有用的.gitignore模板集合。每次在GitHub上创建新的项目存储库时,都必须有一个.gitignore文件来过滤上传。.gitignore文件内容因项目和语言而异。该库包括几乎所有语言和框架的模板,例如Rails、Python、Perl、Laravel、Java等。它甚至还有Fortran的模板!6.SystemDesignPrimerGitHubstars:86,200GitHub地址:https://github.com/donnemartin/system-design-primer这个库非常适合软件工程师,可以帮助他们学习如何设计大型系统并变得更好工程师。图书馆提供了有关这一广泛主题的大量资源,并进行了系统地组织。由于系统设计往往是许多企业技术面试的必经之路,因此图书馆也帮助工程师准备技术面试。包含学习指南、面试技巧、面试题及解答、互动学习Anki卡片合集、互动编码挑战。7.PublicAPIGitHubstars:73,100GitHub地址:https://github.com/public-apis/public-apis这个库包含了一个免费的API列表,可以用于项目和应用,涵盖了各种主题,比如业务、动画、动物、新闻、财经、游戏等等。catsAPI和dogsAPI提供猫和狗的图像。还有更多有用的API,例如GmailAPI或GoogleAnalyticsAPI。本库收集了大量的API,读者可以自行查阅。8.TheArtofCommandLineGitHubstars:70,100GitHub地址:https://github.com/jlevy/the-art-of-command-line开发者经常忽略如何处理命令行,但是对于工程师来说使用命令行有助于提高生产力和灵活性。此库包含有关在Linux环境中使用命令行的有用建议,还包含适用于Windows或macOS系统的内容。一般建议适用于其他基于UNIX的操作系统。该库适合初学者和有经验的开发人员。尽管该库似乎没有得到积极维护,但它仍然为使用命令行的开发人员提供了非常好的建议。读者可以fork这个库,自己维护。9.JavaScript算法和数据结构GitHubStars:64,700GitHub地址:https://github.com/trekhleb/javascript-algorithms这个库包含多个常见的JavaScript算法和数据结构的例子。每个示例都标有“初学者”或“高级”标签以表示难度。此外,该库还包含哈希表、堆、队列、堆栈、数学、字符串、集合等示例。10.DeveloperRoadmapGitHubstars:98,600GitHub地址:https://github.com/kamranahmedse/developer-roadmap这个库包含大量图表展示了成为前端、后端需要走的不同学习路径-端或研发工程师和学什么技术。乍一看,这个库提供了一个有用的趋势指南和工程师在这个瞬息万变的行业中所需的技能。该库每年更新一次,以反映生态系统的变化。【本文为栏目组织《机器之心》微信公众号《机器之心(id:almosthuman2014)》原文翻译】点击此处查看作者更多好文
