GNU/Linux >> Linux の 問題 >  >> Linux

Quarkus2.0がLinuxでの開発者の生産性を向上させる3つの理由

アプリケーション開発者としてどれだけ長く働いていても、使用しているプログラミング言語に関係なく、開発の生産性を上げるのに苦労している可能性があります。さらに、クラウドコンピューティング、DevOps、テスト駆動開発などの新しいパラダイムにより、個々の開発者や多機能チームの開発ライフサイクルが大幅に加速されました。

オープンソースツールがこの問題の解決に役立つと思うかもしれませんが、コーディング、構築、テストのための多くのオープンソース開発フレームワークとツールがこれらの課題を悪化させていると思います。また、システムの依存関係とサポートの制限により、Linuxディストリビューションにインストールする適切なKubernetes開発ツールを見つけるのは簡単ではありません。

幸い、KubernetesネイティブのJavaスタックであるQuarkusを使用すると、Linuxでの開発の生産性を向上させることができます。 Quarkus 2.0が最近リリースされ、開発者コンソールでテストするための便利な新機能が追加されました。

インタラクティブな開発者UX/UI

その他のLinuxリソース

  • Linuxコマンドのチートシート
  • 高度なLinuxコマンドのチートシート
  • 無料のオンラインコース:RHELの技術概要
  • Linuxネットワーキングのチートシート
  • SELinuxチートシート
  • Linuxの一般的なコマンドのチートシート
  • Linuxコンテナとは何ですか?
  • 最新のLinux記事

Java Mavenプロジェクトに10を超える依存関係(データベース接続、オブジェクトリレーショナルマッピング、JSONフォーマット、REST API仕様など)を追加する必要がある場合は、1つ以上の<コードにキーと値を使用して60を超える構成を定義する必要があります。> application.properties ファイル。構成が増えると、個々の開発者の読みやすさが低下し、開発者チームが管理するのが難しくなります。

Quarkusには、追加されたすべての依存関係を表示するためのインタラクティブなインターフェイスがあります。 localhost:8080 / q / devで入手できます。 mvn quarkus:devを使用してQuarkus開発モードを開始した後のエンドポイント 指図。図1に示すように、DEVユーザーインターフェイス(UI)で構成を更新することもでき、変更は application.propertiesと自動的に同期されます。 ファイル。

(注:この記事のQuarkusアプリケーションコード全体は、私のGitHubリポジトリにあります。)

継続的テストの改善

モノリスからマイクロサービスまで、アプリケーションを開発するときは、コードをテストする必要があります。多くの場合、外部の継続的インテグレーション(CI)ツールを使用する専任の品質保証(QA)チームが、単体テストの検証を担当します。これは何年にもわたって機能し、今でも機能していますが、Quarkusを使用すると、プログラマーは、コードが開発されているときにコードが実行されているランタイム環境でテストを実行できます。 Quarkus 2.0は、図2に示すように、コマンドラインインターフェイス(CLI)とDEVUIを介してこの継続的テスト機能を提供します。

Quarkusアプリケーションの起動時に、継続的テストが実行されていません。開始するには、DEVUIの右下にある[テストが実行されていません]をクリックします。 DEVUIの左側にある[開く]をクリックしてWeb端末を開くこともできます。これらのオプションの両方が図2で強調表示されており、テスト結果の例が図3に示されています。

コードを変更した場合(例: hello()の「Hello」を「Hi」に変更した場合 メソッド)が、テストコードではなく(機能が機能するかどうかに関係なく)、図4に示すように、テストは失敗します。これを修正するには、ロジックコードとともにテストコードを更新します。

src / test / java /に実装されているテストケースを再実行できます ディレクトリ。この機能により、外部CIツールと統合する必要がなくなり、ビジネスロジックを継続的に開発しながら機能を確保できます。

開発サービスを使用したゼロ構成

特定のターゲット向けに開発する場合、開発環境が実行対象の環境を正確に反映していることが重要です。そのため、ローカル環境などの場所にデータベースをインストールするのが少し難しくなる可能性があります。 Linuxで開発している場合は、必要なデータベースをコンテナーで実行できますが、使用可能なリソースに基づいて実行方法が異なる傾向があり、ローカル環境にはターゲットの本番環境と同じリソースがない可能性があります。

Quarkus 2.0は、Testcontainers上に構築された開発サービスを提供することにより、この問題の解決に役立ちます。たとえば、次の構成のH2インメモリデータストアではなく、本番データベースであるPostgreSQLでアプリケーションが機能するかどうかをテストできます。

quarkus.datasource.db-kind = postgresql (1)
quarkus.hibernate-orm.log.sql = true

quarkus.datasource.username=person (2)
quarkus.datasource.password=password (3)
quarkus.hibernate-orm.database.generation=drop-and-create

%prod.quarkus.datasource.db-kind = postgresql (4)
%prod.quarkus.datasource.jdbc.url = jdbc:postgresql://db:5432/person (5)
%prod.quarkus.datasource.jdbc.driver=postgresql

quarkus.datasource.devservices.image-name=postgres:latest (6)

上記のコードの場合:

(1)開発とテストのために接続するデータベースの種類

(2)データソースのユーザー名

(3)データソースのパスワード

(4 )本番用に接続するデータベースの種類

(5)データソースURL

(6)DevServicesプロバイダーに使用するコンテナイメージ名。プロバイダーがコンテナーベースでない場合(H2データベースなど)、これは効果がありません

Quarkusが新しい構成で再起動すると、図5に示すように、Postgresコンテナーイメージが作成され、自動的に実行が開始されます。

この機能を使用すると、本番データストア統合テストを削除できます。また、開発ループでの環境格差を回避できるため、開発の生産性も向上します。

結論

Quarkus 2.0は、組み込みの継続的テスト、インタラクティブなDEV UI、および開発サービスにより、開発者の生産性を向上させます。さらに、ライブコーディング、Kubernetesでのリモート開発モード、開発ループを加速する統合構成など、開発者エクスペリエンスを向上させるための追加機能を提供します。 Quarkus 2.0も例外ではありません!ここで試してみてください!


Linux
  1. 2021年にLinuxを愛する10の理由

  2. 生産性のための3つの重要なLinuxチートシート

  3. Linuxパッケージマネージャーを使用する5つの理由

  1. Linuxでのコーディングが好きな5つの理由

  2. KDEの生産性スイートであるKontactの使用方法

  3. 2020年にLinuxを使用する5つの理由

  1. 休日にLinuxを提供する5つの理由

  2. WINDOWS10をLINUXに変更する10の理由

  3. Linux –ファイルが読み取り専用である理由がわかりませんか?