每个人都应该看看的顶级GitHub仓库!
GitHub托管着无数对开发者、学生、研究人员和技术爱好者来说都非常宝贵的仓库。遗憾的是,尽管作者付出了巨大努力,许多这样的仓库仍然不为人所知。本仓库旨在通过精选一份关键且有影响力的GitHub仓库列表来弥合这一差距。
无论你是学生、程序员、研究人员,还是刚刚踏入科技领域的爱好者,这些仓库都可能成为你的项目和学习之旅的改变者。浏览我们的列表,发现可以提升你的技能和知识的工具和资源。
目录
- 路线图
- Awesome
- 编程面试大学
- 系统设计入门
- 免费代码营
- Gitignore
- 开发者免费资源
- 每个程序员都应该知道的
- Tensorflow
- 公共API
- JavaScript问题
- 程序员应该访问的最佳网站
- React Native应用
- 构建你自己的X
- 技术面试手册
- JavaScript算法和数据结构
- 面向开发者的设计资源
- 基于项目的学习
- 提供搬迁的技术工作
- 算法
- 你不知道的JavaScript
- DevOps工具精选列表
- 面试
- 当...发生时
- 30秒代码
- 系统设计
- DevOps练习
- 系统设计资源
- 数据结构算法与高低层设计
- 工程博客
- 系统设计101
- 成为优秀工程领导者的资源
- DevOps路线图
- 优秀系统设计资源
路线图
许多程序员经常说他们对自己想成为什么样的人没有确切的路线图。 我经常被问到关于全栈开发、数据科学、机器学习等的路线图问题...对于所有这些,看这里伙计!
该仓库包含一套结构良好的路线图,概述了在软件开发的每个路径中需要学习的必要技能和技术。每个路线图分为不同的级别,如初级、中级和高级,并包括在每个级别需要学习的工具、技术和资源列表。
仓库中的路线图旨在帮助开发者在软件开发世界中应对overwhelming的信息和资源。通过遵循路线图,开发者可以清楚地知道接下来要学习什么,以及如何在职业或个人项目中进步。
仓库链接: https://github.com/kamranahmedse/developer-roadmap
网站: https://roadmap.sh/
Awesome
这个仓库看起来就像是一个包含大量内容的维基百科页面。
这个仓库包含了各种有趣主题的awesome列表。特别提供了各个软件开发领域的高质量资源的精选列表。
该仓库包括编程语言、框架、库、工具、设计模式等主题的资源列表。
该仓库分为多个类别,每个类别都包含与该类别相关的资源列表。例如,"JavaScript"类别包括与JavaScript编程相关的资源列表,如库、框架和文章。
看到这个仓库只会让你说...真棒!
仓库链接: https://github.com/sindresorhus/awesome
编程面试大学
世界各地有许多学生对成为软件开发人员感兴趣,但不知道该学习什么以及如何通过面试!
砰!! 这里是一个福音。
这个仓库提供了一份全面的主题和资源列表,用于准备编程面试。该仓库涵盖了各种主题,如数据结构、算法、系统设计、数据库等。
该仓库以结构良好的课程组织,采用循序渐进的方法来准备编程面试。每个主题都包括一系列资源,包括书籍、文章、视频和练习题,以帮助学习者掌握概念。
仓库链接: https://github.com/jwasham/coding-interview-university
系统设计入门
这是一个开源资源集合,旨在帮助软件工程师准备与系统设计相关的技术面试。该仓库包括:
一套全面的学习材料,涵盖系统设计主题,如可扩展性、可靠性、可用性、性能和安全性。
逐步指南,用于设计不同类型的系统,如URL缩短服务、网络爬虫、社交网络、聊天应用等。
一份常见面试问题和答案列表,涉及系统设计,并附有详细解释。
来自Netflix、亚马逊、Uber和Facebook等公司的真实世界系统设计案例研究。
推荐的书籍、文章和视频,用于进一步学习。
仓库链接: https://github.com/donnemartin/system-design-primer
## Freecodecamp Freecodecamp是一个开源项目,旨在帮助人们免费学习编程。该项目包含一套全面的编码挑战和项目课程,涵盖了广泛的主题,包括HTML、CSS、JavaScript、React、Node.js、数据库等。该存储库包括: - freeCodeCamp课程的代码库,按不同的认证系列组织,涵盖了网络开发的各个方面。 - 一个基于网络的平台,用户可以在此访问课程并完成编码挑战和项目。 - 一个由学习者和志愿者组成的社区,他们帮助维护课程,为学习者提供支持,并以各种方式为项目做出贡献。freeCodeCamp课程设计适合各个水平的学习者,从初学者到高级程序员。它是自定进度、互动式和基于项目的,这意味着学习者可以通过实践来学习,并获得构建真实项目的实际经验。
这个项目完全免费和开源,这意味着任何人都可以为项目做出贡献,并使用课程来学习编程。该项目已帮助全球数百万人学习编程,成为最受欢迎的网络开发学习资源之一。
存储库链接:https://github.com/freeCodeCamp/freeCodeCamp
Gitignore
该存储库提供了各种编程语言、框架和工具的.gitignore模板集合。.gitignore文件是一个配置文件,用于告诉Git在跟踪项目变更时应忽略哪些文件和目录。
该存储库包含一套全面的.gitignore模板,可用于不同的项目。这些模板按编程语言或框架组织,包括了那些项目中应该被忽略的常见文件和目录。
使用.gitignore文件对于维护一个整洁有序的存储库至关重要。通过忽略不必要的文件,开发者可以保持存储库的精简,避免意外提交敏感信息,并防止由不同文件版本引起的合并冲突。
存储库链接:https://github.com/github/gitignore
Free For Dev
该存储库提供了一个精选的免费服务、软件和开发者资源列表。 它还包括开发者可以免费使用的各种工具和服务列表,如云托管、域名注册、数据库、电子邮件服务等。
该存储库分为多个类别,每个类别包含与之相关的资源列表。例如,"托管"类别包括免费云托管服务列表,而"分析"类别包括免费分析和跟踪工具列表。
存储库链接:https://github.com/ripienaar/free-for-dev 网站链接:https://free-for.dev/
每个程序员都应该知道的
这个存储库列出了每个程序员都应该了解的资源。该存储库涵盖了与软件开发相关的广泛主题,包括编程语言、算法、数据库、安全等。
该存储库分为多个类别,每个类别包含与之相关的资源列表。例如,"分布式系统"类别包括与分布式系统相关的资源,如文章、书籍和视频。
存储库链接:https://github.com/mtdvio/every-programmer-should-know
Tensorflow
Tensorflow提供了一个全面的平台,用于开发和部署机器学习模型。
TensorFlow是世界上最受欢迎的机器学习库之一,拥有庞大的用户社区和广泛的应用范围。
该存储库包含TensorFlow的完整源代码,包括其核心库、工具和示例。
TensorFlow支持广泛的机器学习算法,包括深度神经网络、卷积神经网络、循环神经网络等。
它还支持分布式计算,使开发者能够跨多个设备和机器扩展他们的机器学习模型。
TensorFlow平台提供了一个高级API,允许开发者快速轻松地构建和训练机器学习模型。
该平台支持多种编程语言,包括Python、C++、Java和Go,使其对广大开发者accessible。
存储库链接:https://github.com/tensorflow/tensorflow
公共API
这个存储库包含了一个来自各个领域(包括体育、新闻和娱乐)的优秀API列表,供开发者使用。
该存储库分为多个类别,每个类别包含与之相关的API列表。例如,"天气"类别包括与天气相关的API列表,如OpenWeatherMap和Weatherbit。
该存储库还包括如何使用这些API的文档,以及如何将它们集成到各种编程语言(如Python、Java和JavaScript)中的示例。
该存储库被全球的开发者广泛使用,被认为是寻找高质量和免费API以用于其应用程序的首选资源之一。
存储库链接:https://github.com/public-apis/public-apis
JavaScript问题
该存储库旨在帮助开发者准备技术面试,特别是那些侧重于JavaScript的面试。
该存储库包含大量JavaScript问题,从初级到高级水平不等。这些问题涵盖了广泛的主题,包括数据类型、函数、数组、对象、原型、闭包等。
存储库中的每个问题都包括对问题的详细解释,随后是一个或多个带有解释的解决方案。
存储库中提供的解决方案都有良好的文档记录,并遵循最佳实践,这使得它们成为希望提高JavaScript技能的开发者的优秀学习资源。
存储库链接:https://github.com/lydiahallie/javascript-questions
程序员应该访问的最佳网站
这个存储库提供了一个精选的网站列表,程序员可以利用这些网站来提高技能、学习新的编程语言,并了解最新的行业趋势。 这个仓库按多个类别组织,每个类别包含与之相关的网站列表。 例如,"在线学习"类别包括提供在线课程和教程的网站列表,如Codecademy、Coursera和Udacity。
仓库链接:https://github.com/sdmg15/Best-websites-a-programmer-should-visit/
React Native应用
这个仓库包含精选的开源React Native应用列表,开发者可以将其用作示例或自己项目的起点。
该仓库包含各种类型的应用,从简单到复杂,涵盖了多个类别,如生产力、社交网络、电子商务、健康和健身等。仓库中列出的每个应用都包括其特性和功能的简要描述。
这个仓库为开发者提供了一个绝佳的方式来找到高质量的开源React Native应用,并将其作为自己项目的参考。
仓库链接:https://github.com/ReactNativeNews/React-Native-Apps
构建你自己的X
这个仓库帮助你理解并构建许多项目的克隆版,从代码编辑器到自己的数据库。
它提供了一个精选的教程和资源列表,用于构建流行软件工具和应用程序的自己版本。
该仓库按类别组织,每个类别包含与之相关的资源列表。例如,"构建你自己的文本编辑器"类别包括从头开始构建文本编辑器的教程和资源。
该仓库还包括每个资源的简要描述及其对开发者的用处。这使用户更容易找到与其需求相关的资源。
仓库链接:https://github.com/codecrafters-io/build-your-own-x
技术面试手册
这个仓库包含一个全面的指南,适用于准备技术工作面试的人,特别是在软件工程领域。该仓库由新加坡软件工程师Yangshun Tay创建,并免费向公众开放。
该手册分为几个部分,涵盖了与技术面试相关的一系列主题。主要部分包括数据结构和算法、系统设计、行为问题和编码问题。每个部分都包括详细解释、示例问题以及如何处理不同类型问题的技巧。
除了主要内容外,该仓库还包括其他资源,如在线编码挑战的链接、模拟面试平台和推荐的进一步学习书籍。
仓库链接:https://github.com/yangshun/tech-interview-handbook
JavaScript算法和数据结构
GitHub上的"JavaScript算法和数据结构"仓库是用JavaScript编程语言实现的各种计算机科学算法和数据结构的集合。
该仓库包括用JavaScript实现的各种算法和数据结构,包括排序算法、搜索算法、图算法等等。
仓库中每个算法或数据结构都有自己的目录,其中包括该算法或数据结构的JavaScript实现,以及关于其工作原理和使用方法的详细解释。
除了主要内容外,该仓库还包括其他资源,如在线课程、教程和进一步学习的书籍链接。
还有用JavaScript语言实现的各种编码挑战的解决方案,这对想要提高编码技能的人来说很有用。
仓库链接:https://github.com/trekhleb/javascript-algorithms
面向开发者的设计资源
GitHub上的"面向开发者的设计资源"仓库是一个精选的各种对开发者有用的设计相关工具和资源列表。
该仓库由网页开发者和在线讲师Brad Traversy创建,并免费向公众开放。
该仓库包括广泛的设计资源,如调色板、字体、图标、股票照片、设计灵感等等。
仓库中每个资源都有自己的目录,其中包括对其内容和使用方法的简要描述。
除了主要内容外,该仓库还包括各种设计相关的教程、课程和工具的链接,这对想要提高设计技能的开发者很有用。 还有专门针对网页设计的资源,如响应式设计框架、CSS库和网页设计灵感网站。
仓库链接:https://github.com/bradtraversy/design-resources-for-developers
基于项目的学习
这个仓库包含一系列项目创意,旨在帮助个人学习和练习不同的编程和技术技能。
这些项目涵盖了广泛的主题,包括网页开发、数据科学、机器学习、计算机视觉、游戏开发等等。
每个项目都包括所涉及技能的详细描述、所需的工具和技术,以及构建项目的逐步说明。
这个资源对于想要提高编程技能的初学者,以及寻找新挑战和学习机会的有经验的开发者都很有帮助。
这些项目旨在提供实践和吸引力,鼓励学习者进行实验并探索新想法。
仓库链接:https://github.com/practical-tutorials/project-based-learning
提供搬迁福利的科技工作
这个仓库维护着一个优秀的科技工作机会列表,来自世界各地为新员工提供搬迁福利的各种公司。该仓库由乌克兰软件开发者和企业家Andrew Stetsenko创建,并免费向公众开放。
该仓库包括广泛的科技相关职位的工作机会,包括软件开发者、数据科学家、设计师、项目经理等等。每个工作列表都包括公司信息、职位、地点和提供的搬迁福利,使求职者易于找到相关机会。
除了主要的工作列表外,该仓库还包括为寻求工作搬迁的求职者提供的资源和建议,如签证要求信息、面试准备技巧,以及关于在各个国家生活和工作的文章和资源链接。 仓库链接:https://github.com/AndrewStetsenko/tech-jobs-with-relocation/
算法
该仓库旨在提供各种编程语言实现的算法集合。它涵盖了广泛的算法,包括排序算法、搜索算法、图算法、数学算法等。
通过访问该仓库,您可以浏览可用的算法,探索不同编程语言的实现,如果感兴趣,还可以为项目做出贡献。该仓库通常包括代码示例、解释和文档,以帮助用户有效地理解和使用这些算法。
最棒的是,您可以获得许多不同流行语言的算法实现。
仓库链接:https://github.com/TheAlgorithms
你不知道的JavaScript
该仓库包含多本书籍,涵盖JavaScript的各个方面,从基础到更高级的主题。这个系列旨在帮助开发者深入理解JavaScript,克服常见的误解和陷阱。
系列中的每本书在仓库中都有自己的目录,并附有代码示例和练习,以加强所涵盖的概念。这些书籍按逻辑和递进的方式组织,使读者更容易掌握复杂的JavaScript概念。
除了书籍内容,仓库还包括其他资源,如相关文章、视频和在线讨论的链接。这些资源提供补充信息,并进一步探讨书籍系列中涵盖的主题。
仓库链接:https://github.com/getify/You-Dont-Know-JS/
DevOps工具精选列表
这个仓库包含精心策划的DevOps工具集合,包括描述、安装说明、配置、文档、使用示例和社区资源。用户可以探索并为仓库做出贡献,以改进他们的DevOps实践。
可以将这个仓库作为DevOps职业的入门指南和良好的参考书。
仓库链接:https://github.com/techiescamp/devops-tools/
面试
这个仓库是软件工程技术面试准备的综合资源。
它涵盖了数据结构、算法、系统设计和编码挑战等主题。
通过清晰的分节组织,它为学习提供了结构化的方法。
贡献者可以增强其内容,还包括额外的资源和查询的联系信息。
仓库链接:https://github.com/kdn251/interviews
当你...时会发生什么
这个仓库致力于为常见的面试问题提供详细答案:"当你在浏览器的地址栏中输入google.com并按回车键时会发生什么?"
这个项目不是提供简短的概述,而是旨在深入探讨过程的每个方面,不放过任何细节。 它邀请社区参与合作,鼓励贡献者添加缺失的细节并改进解释的全面性。
如果你对了解网页浏览背后的复杂工作感兴趣,这个仓库为你提供了一个机会,可以为这个主题的全面探索做出贡献并从中学习。
仓库链接:https://github.com/alex/what-happens-when
30秒代码
这是一个仓库,收集了精心策划的有用JavaScript代码片段,每个片段都旨在在30秒或更短的时间内执行特定任务。
这些代码片段按类别组织,如字符串操作、数组操作和数学相关函数,旨在为常见的编程挑战提供快速解决方案。
鼓励贡献者通过拉取请求提交自己的代码片段或改进,营造一个分享知识和增强仓库实用性的协作环境。
凭借其简洁性和实用性,"30-seconds-of-code"成为JavaScript开发者寻求简洁而有效的代码解决方案的宝贵资源。
仓库链接:https://github.com/Chalarangelo/30-seconds-of-code
系统设计
该仓库是涵盖系统设计原则和实际应用的综合资源。
它按章节组织,探讨了网络协议、数据库和可扩展性技术等基本概念。
还涉及了微服务架构、安全协议和灾难恢复策略等高级主题。
通过WhatsApp和Netflix等真实世界的例子,该仓库为设计可扩展和可靠的软件系统提供了宝贵的见解和解决方案。
仓库链接:https://github.com/karanpratapsingh/system-design 网站:https://www.karanpratapsingh.com/courses/system-design
DevOps练习
"devops-exercises"仓库是一个丰富的技术问题和练习集合,涵盖了各种主题,重点关注DevOps和SRE(站点可靠性工程)。
目前拥有2600多个练习,它作为面试准备的宝贵资源,尽管许多问题可能不反映实际面试情况。
虽然对有抱负的DevOps工程师有益,但要注意掌握所有主题并非必要,理解关键概念更为重要。
该仓库还包括一个FAQ页面,提供进一步的指导。
仓库链接:https://github.com/bregman-arie/devops-exercises
系统设计资源
这提供了掌握系统设计概念的广泛资源集合。
涵盖了广泛的主题,包括视频处理、集群管理、消息系统、数据库、网络协议、API设计等详细指南、文章和视频。
从实用系统设计到分布式共识和授权等高级主题,这个仓库为旨在提高系统设计技能的工程师提供了全面的指南。
无论你是在准备面试还是寻求深入了解可扩展架构,这些资源都提供了宝贵的见解和知识。
仓库链接:https://github.com/InterviewReady/system-design-resources
## 数据结构算法与低层次和高层次设计"Data-Structure-Algorithms-LLD-HLD"仓库提供了全面的理论、实践问题和资源,用于掌握数据结构、算法和系统设计概念。
它包括理论解释和实践问题,让读者加深理解。
竞争性编程爱好者将在此找到来自Topcoder、CodeForces、HackerEarth和InterviewBit等顶级平台的精选列表,以及在LeetCode上分类的动态编程模式、位操作技巧和二分搜索模式。
此外,该仓库还提供系统设计指南、基于公司的面试问题列表,以及顶级大学课程的汇编。
凭借其丰富的资源,这个仓库成为任何希望在数据结构、算法和系统设计方面表现出色的人的宝贵工具包。
仓库链接:https://github.com/arpit20adlakha/Data-Structure-Algorithms-LLD-HLD
工程博客
这提供了一个精选的工程博客列表,按公司、个人/团体贡献者以及产品/技术进行分类。
通过字母顺序组织,用户可以轻松浏览来自各种来源的广泛博客集合。
无论你是对特定公司的工程实践、个人贡献者的见解,还是产品和技术的更新感兴趣,这个仓库都是了解科技行业最新发展的宝贵资源。
仓库链接:https://github.com/kilimchoi/engineering-blogs
系统设计101
GitHub上的"system-design-101"仓库是一个全面的指南,涵盖了系统设计、软件架构和技术概念的各个方面。
从REST API与GraphQL等通信协议到微服务架构和云服务,它深入探讨了CI/CD流水线、数据库结构、缓存策略和安全机制等主题。
此外,它还提供了来自Netflix、Twitter、Airbnb和Amazon Prime Video等知名公司的真实案例研究,洞察它们的架构演变和技术挑战。
通过实用解释和示例,这个仓库成为初学者和有经验的开发人员增强系统设计原则和行业实践理解的宝贵资源。
仓库链接:https://github.com/ByteByteGoHq/system-design-101
成为优秀工程领导者的资源
这个仓库是为有抱负的工程领导者精心策划的100多种资源列表。
它涵盖了广泛的主题,包括软件工程、系统设计、数据工程、领导力、管理、产品和商业。
通过书籍、时事通讯、有影响力的人等,该仓库为2024年的个人和职业成长提供了宝贵资源。
创建者强调明智投资时间的重要性,建议根据特定需求选择资源,并深入研究所选主题。
此外,他们鼓励个人评估当前技能,以确定优先学习领域,以实现最大影响。
无论你是寻求提高技术专长还是发展领导技能,这个仓库都提供了丰富的资源来帮助你的旅程。
仓库链接:https://github.com/gregorojstersek/resources-to-become-a-great-engineering-leader
DevOps 路线图
GitHub上的"DevOps-Roadmap"仓库为有抱负的DevOps工程师提供了结构化的路线图和学习资源,主要提供免费资源。
路线图涵盖了GIT、编程语言、Linux和脚本编写、网络和安全、服务器管理、容器、容器编排、基础设施即代码、CI/CD、监控和可观察性、云服务提供商以及软件工程实践等基本领域。
此外,该仓库还包括额外资源、工具和推荐书籍,以进一步支持DevOps领域的学习和发展。
凭借其全面的方法,这个仓库成为希望在DevOps实践和技术方面构建专业知识的个人的宝贵指南。
仓库链接:https://github.com/milanm/DevOps-Roadmap
优秀系统设计资源
这个仓库包含了为面试准备最重要设计概念的资源。
它还涵盖了重要的设计权衡,并阐述了诸如心跳、断路器、代理服务器等构建块。
该仓库还解释了一些有用的架构模式,并包含了一系列标记为简单、中等和困难的面试问题。
总的来说,这是一个应被视为准备系统设计面试的重要且有用材料之一的仓库。
仓库链接:https://github.com/ashishps1/awesome-system-design-resources
网站:https://blog.algomaster.io