2022年に試す初心者向けのトップ8オープンソースプロジェクト
公開: 2021-01-02目次
序章
新進の開発者は、コーディングの基盤を構築するためにオンラインチュートリアルとリファレンスに依存することがよくあります。 あらゆる形態の学習と同様に、これは単に学習者に知識を与えるだけです。 それは、実践的な経験と実践的なアプリケーションスキルの源ではありません。
これが、すべての初心者開発者が、スキルを適用し、その過程でより多くを学ぶのに役立つプロジェクトに取り組む必要がある理由です。 これらのプロジェクトは、世界中の開発者と一緒に、スキルをテストするための単独の取り組み、またはチームとしての取り組みになる可能性があります。
オープンソースプロジェクトは、コーダーや開発者が自分の気概をテストし、より高度な方法を学ぶための優れた方法です。 オープンソースプロジェクトでは、さまざまなスキルレベルと専門知識の多くの貢献者がいます。
各貢献者はそれぞれの能力に応じてプロジェクトに追加し、共同の努力が目標の達成につながります。 したがって、これは、個人が学び、実践的な経験を積み、仲間のチームと協力することがどのようなものかを理解するための最良の方法です。
世界のトップ大学(修士、エグゼクティブ大学院プログラム、ML&AIの高度な証明書プログラム)からオンラインでMLコースに参加して、キャリアを早急に進めましょう。
オープンソースプロジェクトの選択
オープンソースプロジェクトは、インターネット上の多くのソースで利用できます。 各ソースは、コンテンツのタイプ、言語、専用プラットフォーム、および提供する難易度によって異なります。

プロジェクトの最も人気のあるリポジトリはGitHubであり、すべての言語、プラットフォーム、および難易度のプロジェクトがリストに含まれています。 プロジェクトを保存し、仲間のコーダーとネットワークを構築しようとしている3,100万人を超える開発者がおり、学ぶのに最適な場所です。
オープンソースプロジェクトは、サイズ、範囲、および難易度が異なる場合があります。 したがって、進捗の適切な段階で適切なプロジェクトを選択することが重要です。 初心者レベルのコーダーは、そのレベルの難易度のプロジェクトを選択する必要があります。 これは、GitHubで、「初心者」または「良い創刊号」のラベルが付いたプロジェクトを探すことで見つけることができます。
ここでは、知識と実践的な経験を積みたいと考えている初心者向けの優れたプロジェクトとリポジトリをいくつか紹介します。 これらのプロジェクトは広く人気があり、初心者から専門家までさまざまな程度の習熟度の貢献者がいます。 これらのプロジェクトの多くはGitHubでホストされており、さまざまなレベルの問題が含まれていることに注意してください。 適切なタグを確認することで、他の初心者レベルのエントリを検索できます。
1.30秒のコード
これは、30秒以内に学習および理解できるJavaScript(JS)スニペットの非常に便利なコレクションです。 このプロジェクトは、JSの初心者から上級者まで、質の高いリソースのコレクションを作成することを目的としています。 駆け出しの開発者は、このプロジェクトを利用してJSの概念をすばやく簡単に理解できます。 また、フォーマットを順守している限り、新しいエントリを歓迎します。 コードを30秒以内に把握できること。
要するに、これは簡単に消化できるデータのリポジトリであり、同時に学習して初心者に貢献するために使用できます。 これは初心者が貢献できるプロジェクトではないかもしれませんが、それでも概念を理解しようとしている人々にとっては素晴らしいスタートです。
2.最初の貢献
このプロジェクトは、明らかに、GitHubに最初に貢献しようとしているGitHubユーザーを対象としています。 オープンソースプロジェクトに貢献するために必要な手順を説明します。 完了すると、独自のWebページから取り組むことができるプロジェクトのリストにもリダイレクトされます。 GitHubには13,200を超える星と、ほぼ33,000のフォークがあります。
読む: Pythonオープンソースプロジェクトのアイデア
3.TensorFlowモデル
TensorFlowプロジェクトは、機械学習とディープラーニングに関心のある新しい開発者向けです。 初心者は、理想的には、プロジェクトに貢献する前に、いくつかのTensorFlowチュートリアルから学び、公式モデルを観察する必要があります。
現在、GitHub TensorFlowモデルガーデンには、自然言語処理とコンピュータービジョンのプロジェクトが含まれています。 これらの公式モデルは、TensorFlowの高レベルAPIを使用するコレクションであり、最新のビルドに対応するために適切にキュレーション、テスト、更新される必要があります。 これらのモデルは、新しいビルドごとに同じかそれ以上の速度で実行されるように、適切に最適化することも目的としています。
高レベルのプロジェクト
初心者を対象としたGitHubや他の同様のソースに関する多くのプロジェクトがあります。 これらの中には、学習資料を提供することによって教育することを目的としたものもあれば、ウォークスルーや練習問題のようなものもあります。 いずれにせよ、これらは初心者向けのプロジェクトであり、多くの場合、開始する場所です。 ただし、これは「良い最初の問題」としてマークされたすべてのプロジェクトに当てはまるわけではありません。
一部の高レベルのアプリ、Webサイト、プラットフォーム、およびプロジェクトは、初心者に適した作業も提供します。 これは主に、必要な資格を持った人が高レベルの作業を行っているためですが、プロジェクトはまだオープンソースであり、あらゆるレベルの難易度で実行する必要のある多くのタスクが含まれています。 ここに、ロープを学びながら実際の問題に取り組むための新参者のための場所を提供するいくつかの複雑なプロジェクトがあります。

4.Zulip
Zulipは、インターネット上で最も急速に成長しているオープンソースプロジェクトの1つであり、オープンソースのグループチャットアプリケーションです。 インスタントリアルタイムメッセージングとスレッド化された会話のユーティリティを組み合わせて、オープンソースプラットフォームで実行します。 アプリのチームは、初心者レベルのプログラマーが学習したりポートフォリオに追加したりするために実行できる多くのタスクを提供します。
Zulipでは、コードを提供するだけでなく、問題の報告、翻訳、アプリを改善するためのフィードバックの提供など、コード以外の貢献を行うことで、プラットフォームへの多くの貢献者の1人になることができます。 また、Ubuntu 18.04 Bionic、Ubuntu 16.04 Xenial、Debian9Stretchなどの多くのプラットフォームで実行されるZulipサーバーをホストして実行することもできます。
また読む: Python AI&MLオープンソースプロジェクト
5. Neovim
Neovimは、GitHubで「良い最初の問題」とタグ付けされています。これは、GitHubで最初のオープンソースプロジェクトを探している人に適していることを示しています。 Vimは20年以上前の強力なテキストエディタであり、それを取り巻く豊かな育成コミュニティがあります。 30万行を超えるC89コードが蓄積されており、理解できる人はごくわずかであり、あえて触れる人はさらに少なくなっています。
Neovimは、ソースコードをリファクタリングすることで、Vimを育成するという頭痛の種に対する解決策を提案します。 これは、バグ修正と新機能の追加を加速し、ソースコードに影響を与えずに最新のUIを追加し、作業を複数の開発者に分割し、拡張性を向上させる新しいプラグインアーキテクチャを追加することで、メンテナンスを容易にすることを目的としています。
このプロジェクトはVimを書き直すことではなく、現代に合うように変更することを使命としています。 変更によるソースコードへの影響は最小限に抑えられます。 GitHubには約40,000の星があり、これはコミュニティで非常に人気のあるプロジェクトです。
6. iGraph
iGraphは、C、R、Python、Mathematicaから使用できるライブラリです。 このプロジェクトは、グラフを作成、操作、および分析するためのものです。 これはネットワーク分析ツールのライブラリであり、効率、移植性、および使いやすさを強調しています。 GitHubのIgraphリポジトリには、1,000を超える星があり、初心者レベルの開発者が解決するのに適した問題がたくさんあります。
7. Scrapy
Scrapyは、Pythonフレームワーク上に構築された、高レベルで高速かつ正確なデータスクレイピングツールです。 これは、ユーザーの要件に応じて、サイバースペースを精査し、多くのオンラインソースから必要なデータを収集するために使用されます。
これは、データマイニング、監視目的、さらにはテストにも使用されます。 この高レベルのWebクローラーには、初心者レベルの参加者が試すのに適した場所として役立つ豊富なGitHubリポジトリもあります。 このプロジェクトは、データマイニング担当者や科学者にとっても興味深いものになるはずです。
8.ジーナ
Jinaは、クロスモーダル検索の実装機能を備えた検索フレームワークです。 ディープラーニングを利用しており、クラウドでのテキスト、画像、音声の検索を可能にするために使用できます。 Pythonicインターフェースを使用して拡張でき、プラグアンドプレイでクラウド対応であり、他の機能の中でも優れたAIモーダルが含まれています。

LinuxまたはPythonを使用するmacOSにインストールできます。 これは高レベルのディープラーニングプロジェクトであり、初心者にとっても比較的簡単なタスクがあります。 AI、クラウドコンピューティング、検索エンジンに興味のある人は、間違いなくこのプロジェクトに取り組む必要があります。
トップリード: Githubで人気のあるオープンソースリポジトリ
結論
オープンソースソフトウェアは、多くの点でコンピュータサイエンスに革命をもたらしました。 今では、スキルを持って生計を立てながら情熱的なプロジェクトに取り組んでいる開発者の活気に満ちたコミュニティによって支えられている分野です。 オープンソースプロジェクトは、初心者から専門家レベルの知識とスキルまで多くの人々を駆り立てます。 これらは、意欲的なプログラマーの成長に不可欠です。
GitHubだけでも、希望者がキャリアを開始するためのプログラミングの宝庫です。 初心者にとっては、仲間と協力して貢献しながら学ぶのに最適なプラットフォームです。 初心者専用のプロジェクトがあり、初心者が参加できるようにする高レベルのアイデアの膨大なリポジトリもあります。 これらのチャンスを賢く利用して、成長するにつれて学び、開発者としてのスキルを磨いてください。
機械学習とAIをマスターしたい場合は、IIIT-Bとリバプールジョンムーア大学の機械学習とAIの科学のマスターでキャリアを向上させてください。
オープンソースプロジェクトを選択する方法は?
オープンソースプロジェクトは、インターネット上のさまざまな場所で見つけることができます。 コンテンツの種類、言語、特定のプラットフォーム、およびそれらが提供する難易度に応じて、各ソースは一意です。 GitHubは最も人気のあるプロジェクトリポジトリであり、すべての言語、プラットフォーム、および難易度のレベルにわたるプロジェクトがあります。 これは学ぶのに最適なプラットフォームであり、3,100万人を超える開発者がプロジェクトを保存し、他のコーダーとネットワークを構築しようとしています。 オープンソースイニシアチブの規模、範囲、難易度はすべて異なります。
初心者としてオープンソースプロジェクトに貢献するにはどうすればよいですか?
貢献したいプロジェクトや組織を探してください。 GitHubリポジトリにアクセスし、手順を読んで、初めての問題を検索します。 プロジェクト間または単一のプロジェクトで、できるだけ多くの問題に取り組むことをお勧めします。 IRCチャネル(Gitter、Discord、Slack、およびその他の同様のサービス)に参加します。 行き詰まったら、自己紹介をして助けを求めてください。 チャネルへのリンクは、GitHubページにあります。 オープンソースへの貢献に慣れたら、オープンソースプログラムへの参加を開始します。
なぜオープンソースに貢献する必要があるのですか?
ソフトウェアにはそれほど多くの機能やアップグレードはありませんでした。 これは、オープンソースコミュニティが支援できる場所です。 世界中からの貢献者は、それを使用する私たち全員のためにソフトウェアの開発と改善を支援します。 貢献者として、あなたは非常に多くの人々の生活に大きな影響を与える何かの一部であるという超大国を持つことになります。 あなたが持つかもしれない影響とは別に、それはあなたが開発者として、そして時間とともに、良いメンター、リーダー、そしてチームプレーヤーとして成長するのにも役立ちます。