2022 年最适合初学者尝试的 8 个开源项目

已发表: 2021-01-02

目录

介绍

崭露头角的开发人员通常依靠在线教程和参考资料来构建他们的编码基础。 与任何形式的学习一样,这只是将知识传授给学习者。 它几乎不是实践经验和实际应用技能的来源。

这就是为什么所有初学者开发人员都应该致力于帮助他们应用技能并在此过程中学习更多的项目。 这些项目可以是他们单独的努力来测试他们的技能,或者作为一个团队与来自世界各地的开发人员一起努力。

开源项目是编码人员和开发人员测试他们的勇气和学习更高级方法的绝佳方式。 在一个开源项目中,会有许多不同技能水平和专业知识的贡献者。

每个贡献者根据他们的能力添加到项目中,并且共同努力导致目标的实现。 因此,这是任何个人学习、获得实践经验并了解与同行团队合作的最佳方式。

加入来自世界顶级大学的在线ML 课程- 硕士、高管研究生课程和 ML 和 AI 高级证书课程,以加快您的职业生涯。

选择开源项目

互联网上的许多来源都提供开源项目。 每个来源都是不同的,具体取决于它们提供的内容类型、语言、专用平台和难度级别。

最受欢迎的项目存储库是 GitHub,其列表中包含所有语言、平台和难度级别的项目。 它有超过 3100 万开发人员希望存储他们的项目并与其他编码人员建立联系,是一个学习的好地方。

开源项目的规模、范围和难度可能会有所不同。 因此,在您的进度的正确阶段选择正确的项目非常重要。 初级编码人员应该选择该难度级别的项目。 您可以在 GitHub 上通过查找标有“初学者”或“良好的第一个问题”标签的项目来找到它。

这里有一些很棒的项目和存储库,供希望获得知识和实践经验的初学者使用。 这些项目广受欢迎,从初学者到专家的不同程度的贡献者。 值得注意的是,其中许多项目都托管在 GitHub 上,并且包含许多级别的问题。 您可以通过查看正确的标签来搜索其他初学者级别的条目。

1. 30 秒的代码

这是一个非常有用的 JavaScript (JS) 片段集合,您可以在 30 秒或更短的时间内学习和理解。 该项目旨在为 JS 初学者和高级开发人员创建一系列优质资源。 初出茅庐的开发者可以利用这个项目快速轻松地理解 JS 概念。 他们也欢迎新的条目,只要他们遵守格式; 可以在 30 秒或更短的时间内掌握代码。

简而言之,这是一个易于理解的数据存储库,可以同时用于学习和为初学者做出贡献。 这可能不是初学者可以参与的项目,但对于希望掌握概念的人来说,它仍然是一个很好的开始。

2. 首次贡献

很明显,这个项目是为那些希望为 GitHub 做出第一次贡献的 GitHub 用户准备的。 它会引导您完成为开源项目做出贡献所必须采取的程序步骤。 完成后,它还会将您重定向到您可以通过他们自己的网页处理的项目列表。 它在 GitHub 上有超过 13,200 颗星和近 33,000 个分叉。

阅读: Python 开源项目理念

3. TensorFlow 模型

TensorFlow 项目适用于那些对机器学习和深度学习感兴趣的新开发人员。 理想情况下,初学者应该从一些 TensorFlow 教程中学习并观察官方模型,然后再为任何项目做出贡献。

目前,GitHub TensorFlow 模型园包含自然语言处理和计算机视觉项目。 这些官方模型是使用 TensorFlow 的高级 API 的集合,需要经过适当的管理、测试和更新,以跟上最新的构建。 这些模型还旨在进行适当优化,以便它们在每次新构建时运行相同或更快。

高水平项目

GitHub 和其他类似资源上有许多针对初学者的项目。 其中一些旨在通过为您提供学习材料来进行教育,而另一些则更像是演练或练习。 不管是什么情况,这些都是对初学者友好的项目,通常是开始的地方。 然而,在所有标记为“良好的第一期”的项目中,情况并非如此。

一些高级应用程序、网站、平台和项目也提供适合初学者的工作。 这主要是因为高水平的工作是由具有必要资格的人完成的,但该项目仍然是开源的,并且包含许多不同难度级别的任务。 这里有一些错综复杂的项目,也为新手提供了一个在学习绳索的同时解决实际问题的地方。

4. 祖利普

Zulip 是互联网上发展最快的开源项目之一,是一个开源群聊应用程序。 它将即时实时消息传递与线程对话的实用程序相结合,并在开源平台上运行。 该应用程序的团队提供了许多初学者级别的程序员可以执行的任务来学习并添加到他们的投资组合中。

在 Zulip,您可以通过贡献代码以及执行非代码贡献(例如报告问题、翻译或提供反馈以改进应用程序)成为平台的众多贡献者之一。 您还可以托管和运行 Zulip 服务器,该服务器在许多平台上运行,包括 Ubuntu 18.04 Bionic、Ubuntu 16.04 Xenial 和 Debian 9 Stretch。

另请阅读: Python AI 和 ML 开源项目

5. 新维姆

Neovim 在 GitHub 上被标记为“good first issue”,这表明它适合在 GitHub 上寻找他们的第一个开源项目的人。 Vim 是一个功能强大的文本编辑器,已有 20 多年的历史,并且围绕它拥有丰富的、培养性的社区。 它积累了超过30万行C89代码,很少有人能看懂,更不敢碰。

Neovim 提出了一个解决方案,通过重构其源代码来解决培育 Vim 的难题。 这旨在通过加速错误修复和添加新功能、在不影响源代码的情况下添加现代 UI、在多个开发人员之间拆分工作以及添加新的插件架构以提高其可扩展性来简化维护。

这个项目的使命不是重写 Vim,而是改变它以适应现代。 这些更改将对源代码的影响尽可能小。 在 GitHub 上有近 40,000 颗星,这是社区中非常受欢迎的项目。

6.iGraph

iGraph 是一个可用于 C、R、Python 和 Mathematica 的库。 该项目用于创建、操作和分析图表。 它是一个网络分析工具库,强调效率、可移植性和易用性。 GitHub 上的 Igraph 存储库有超过一千颗星和许多适合初学者级开发人员解决的问题。

7.刮擦

Scrapy 是基于 Python 框架构建的高级、快速、准确的数据抓取工具。 它用于搜索网络空间并根据用户的要求从许多在线资源中收集所需的数据。

它用于数据挖掘、监控甚至测试。 这个高级网络爬虫还有一个丰富的 GitHub 存储库,可以作为初学者尝试的好地方。 这个项目对数据挖掘者和科学家来说也应该很有趣。

8. 吉娜

Jina 是一个具有跨模态搜索实现能力的搜索框架。 它由深度学习提供支持,可用于在云中启用文本、图像和音频搜索。 它可以使用 Pythonic 接口进行扩展,即插即用,支持云,并包含出色的 AI 模式以及其他功能。

它可以使用 Python 安装在 Linux 或 macOS 上。 这是一个高级深度学习项目,对于初学者来说任务也相对容易。 任何对人工智能、云计算和搜索引擎感兴趣的人都应该参与这个项目。

热门阅读: Github 中的热门开源存储库

结论

开源软件在许多方面彻底改变了计算机科学。 现在,它是一个由充满活力的开发人员社区提供支持的领域,他们致力于自己的激情项目,同时以自己的技能谋生。 开源项目推动许多人从初学者到专家级别的知识和技能。 这些对于任何有抱负的程序员的成长都至关重要。

仅 GitHub 就是一个宝库,可供有希望的编程人员开始他们的职业生涯。 对于初学者来说,这是与同龄人一起工作并在您贡献时学习的最佳平台。 有专门为初学者准备的项目,也有大量的高级想法库,允许新手加入。 明智地利用这些机会随着您的成长而学习,并磨练您作为开发人员的技能。

如果您对掌握机器学习和 AI 感到好奇,请通过我们的 IIIT-B 和利物浦约翰摩尔斯大学的机器学习和 AI 理学硕士来提升您的职业生涯。

如何选择开源项目?

开源项目可以在互联网上的各个地方找到。 根据他们提供的内容类型、语言、特定平台和难度级别,每个来源都是独一无二的。 GitHub 是最受欢迎的项目存储库,包含所有语言、平台和难度级别的项目。 这是一个很棒的学习平台,超过 3100 万开发人员希望存储他们的项目并与其他编码人员建立联系。 开源计划的规模、范围和难度都会有所不同。

作为初学者,我如何为开源项目做出贡献?

寻找你想贡献的项目或组织。 访问他们的 GitHub 存储库,阅读说明,然后搜索初学者问题。 跨项目或针对单个项目尽可能多地解决问题是一个好主意。 加入他们的 IRC 频道(Gitter、Discord、Slack 和其他类似服务)。 当您遇到困难时,请自我介绍并寻求帮助。 这些频道的链接可以在他们的 GitHub 页面上找到。 在您为开源做出贡献后开始参与开源项目。

我为什么要为开源做贡献?

软件中不会有那么多的功能和升级。 这就是开源社区可以提供帮助的地方。 来自世界各地的贡献者协助为我们所有使用它的人开发和改进软件。 作为贡献者,您将拥有成为对许多人的生活产生巨大影响的事物的一部分的超能力。 除了您可能产生的影响外,它还可以帮助您成长为一名开发人员,并随着时间的推移成为一名优秀的导师、领导者和团队成员。