プロジェクト開発に参加したい学生の多くは、先導する人がいないため、自分に適したタスクがわからず、プロジェクトへの参加方法も迷っています。今日は開発への参加方法を紹介しますが、この記事の主な目的は、コミュニティへの参加を支援することです。
テキストは1512語で、推定読み上げ時間は4分です。
今日の内容は主に含まれています:メーリングリストへの登録、問題の発見、ソースコードのコンパイル、サーバーコードのデバッグ。
メーリングリストを購読する
Apacheプロジェクトの主な通信方法はメーリングリストです。プロジェクト開発者のメーリングリストは[email protected]です。このメーリングリストに登録している限り、他の人からこのメールボックスにメールを受信できます。同様に、 WeChatグループと同様に、少し遅れてここに送信された電子メールを受信する人もいます。
購読方法は、任意の件名の内容を含む電子メールを[email protected]に送信することです。購読を作成できます。次に、確認メールにリンクが記載された確認メールが届きます。この確認リンクに返信すると、サブスクリプションが成功します。
会員登録後、まず自己紹介を投稿し、氏名、地域、会社、おなじみの言語、テクノロジースタックなどを紹介してください。
メーリングリストを重要な場所として取り上げる必要はありません。実際には、ここでプロジェクトに関連するあらゆることについて話し合うことができます。たとえば、交流会の開催、バグの報告、デザインのアイデアの共有、または始めたばかりで、他の人がいくつかの紹介タスクを紹介してくれることを期待しています。の。
私が最初にメーリングリストに来たときの態度は、間違いをすることを恐れず、間違いをすることを恐れず、熱心に話します。
適切な問題を見つける
私は通常jiraを使用します。
https://issues.apache.org/jira/projects/IOTDB/issues
また、githubの発行もございます。
どの機能が適しているかわからない場合は、メーリングリストで質問するか、私に質問してください。
ソースコードをコンパイルする
git clone https://github.com/apache/incubator-iotdb.git
cd incubator-iotdb
mvn clean package -DskipTests
次に、thrift / target / generated-sources / thriftおよびantlr / target / generated-sources / antlr4ディレクトリを、IDEが認識できるプロジェクトソースコードとしてマークする必要があります。
例として、IDEAがantlrディレクトリをマークしているとしましょう。
これまでのところ、コードに赤字はありません。
サーバーコードをデバッグする
IoTDBを初めてデバッグするには、サーバー(サーバー)とコマンドラインツール(cli)の2つのモジュールから始めることができます。
まず、メインクラスIoTDBであるサーバーを起動し、デバッグモードを開始します。
次に、TSServiceImplクラスのexecuteStatementにブレークポイントを設定します。Cliで記述されたすべてのステートメントがサーバーに送信され、サーバーのスレッドがこのrpc関数を介してステートメントを処理します。
次に、コマンドラインツールを起動します。主なクラスはCli(mac、linux)またはWinCli(windows)です。起動後に欠落しているパラメーターを報告します。現時点では、矢印で[Cli]を選択してから、[構成の編集]
クラスjavadocのいくつかのパラメーターをProgram argumentsに設定し、「適用」、「OK」をクリックします。
次に、実行してCliを開始できます(クライアントをデバッグする場合は、デバッグモードで開始できます)。起動後、実行コンソールでコマンドを入力できます。ここでは、例としてストレージグループの作成を取り上げます。入力してEnterキーを押すと、クライアントプロセスはサーバーが結果を返すのを待ち始めます。
このとき、サーバープロセスのデバッガーに自動的にジャンプし、正式にデバッグできます。
コードの学習に適した別のタイプのコードは、テストケースを実行することです。各モジュールには、対応するテストケースがあります。共通のUT名は(テストクラス名+テスト)に対応し、統合テストのサフィックスはITです。
総括する
最初のステップを実行した後、設計ドキュメントhttp://iotdb.apache.org/zh/SystemDesign/Architecture/Architecture.htmlに対してコードを確認できます。次に、IoTDBの設計原理とソースコード分析を紹介します。フォローへようこそ!