本文转载自公众号《读书芯》(ID:AI_Discovery)GitHub是最大的各种技术、框架、库和各种合集的分享平台。但是,有这么多资源,您如何找到最有用的资源呢?茫茫大海中寻宝,笔者整理了这十个超高分库。它们的相关性、普及性和实用性都在线,对所有软件工程师都有很大的价值。无论您是想学习新知识还是想构建很棒的软件,他们都可以为您提供帮助。1.构建您自己的XGitHub星星:61,300这个奇妙的存储库基本上是关于如何构建您自己的技术的教程的集合,它包含如何构建命令行工具、操作系统、搜索引擎、3D渲染器等的示例。想创建自己的编程语言吗?或者您自己的Docker或Git?这个库非常适合。2.免费编程书籍GitHubstars:139,000虽然图书馆的名字是免费编程书籍,但它能提供的远不止于此。它提供多种语言版本,包含免费在线课程、交互式编程资源、问题集和竞争性编程、播客和编程场所。不过,它主要是编程书籍,而且是一个非常棒的合集。3.SystemDesignPrimerGitHubstars:86,200这是一个非常适合软件工程师的库,有助于学习如何设计大型系统。这将通过提供有组织的资源集合来帮助您成为更好的工程师。系统设计通常是许多公司技术面试过程中必不可少的部分,因此通过学习指南、面试方法建议、面试问题和解决方案、交互式学习的抽认卡集和交互式编码挑战,该库还有助于准备面试。4.OhMyZshGitHub星数:106,000这是一个社区驱动的开源框架,用于管理Zsh配置。Zsh既是交互式shell,也是许多开发人员使用的强大脚本语言。OhMyZsh拥有强大的插件和漂亮的主题供用户Zsh定制。启动和运行它可能很棘手,但有大量在线教程和示例可帮助您找到正确的设置。5.CodingInterviewUniversityGitHubstars:104,000来源:unsplash这是一份针对想成为亚马逊、谷歌、Facebook等大公司软件工程师的软件工程师的月度学习计划。它是为那些刚接触软件工程(需要计算机科学知识)的人设计的,它还提供了如何学习成为一名可靠性工程师或操作工程师的建议。这个库的作者建立它的目的是将它用作待办事项列表来记录他的学习过程。经过数月的每天8-12小时的学习,他终于在亚马逊找到了他梦寐以求的软件开发工程师工作。如果你也在准备谷歌、微软、Facebook等公司的技术面试,选择它也无可厚非。6.Gitignore:.gitignore模板集合GitHubstars:97,000顾名思义,这是一个有用的.gitignore模板集合。对于每个设置为GitHub存储库的新项目,必须有一个.gitignore文件来过滤上传。该文件的内容因项目和语言而异,它包含几乎所有语言和框架的模板,例如Rails、Python、Perl、Laravel、Java等。甚至还有Fortran模板!7.JavaScript算法和数据结构GitHub星数:64,700这个库包含许多流行的JavaScript算法和数据结构的示例。每个示例都标有Beginner或Advanced以表示难度。有哈希表(hashtables)、堆、队列、栈、数学、字符串、集合等等的例子。8.PublicAPIsGitHubstars:73,100PublicAPIs包括一系列优秀的免费APIs,可用于项目和应用程序。涵盖了商业、动漫、动物、新闻、财经、游戏等各种主题。还有一些小巧可爱的API,这些API的主题更有趣,娱乐性更高。但也有更实用的,如GmailAPI或GoogleAnalyticsAPI。它真的拥有一切,一定要亲眼看看。9.TheArtofCommandLineGitHubStars:70,100如何使用命令行这个问题经常被开发者忽略,但作为工程师来说,它确实有助于提高工作效率和灵活性。此存储库包含有关在Linux上使用命令行的有用说明和提示,还有专门针对Windows或macOS的部分,以及针对其他基于UNIX的操作系统的一般提示。这不仅适合初学者,也适合有经验的人。虽然这个库不再频繁更新,但它仍然提供了很好的提示,有助于命令行的使用。用户也可以自费维护图书馆。资料来源:unsplash10。DeveloperRoadmapGitHubStars:98,600这个存储库包含一组图表,显示了一个人在2020年成为前端、后端或DevOps工程师需要采取的不同路径和技术。虽然乍一看似乎让人不知所措,但本指南解释了在这个瞬息万变的行业中,什么是可能的,什么是必须做的。该库每年更新一次,以反映行业系统的变化。优秀的资源已经在这里,如何发挥它们的价值取决于你。好好利用它们,成为更好的软件工程师!
