JavaRush /Java Blog /Random-JA /時間を節約するための Java ライブラリ トップ 10

時間を節約するための Java ライブラリ トップ 10

Random-JA グループに公開済み
この記事の対象者: Java 構文の探究を学習している初心者にとって興味深い内容もいくつかありますが、基本的に、ここで紹介されている内容は、すでにコースの赤道を越えている人 (Java コレクションと Java マルチスレッドを理解している人) に適しています。クエスト)、Java Core フレームワークを超えるテクノロジーに興味を持ち始めています。Java はその存在を通じて、かなりの量のライブラリを取得してきました。しかし、どれが使用する価値があり、どれがそうでないかをどうやって判断するのでしょうか? 常に忙しい開発者にとって、もみ殻から小麦を分離することは非常に困難です。この記事では、Dreamix のフルスタック開発者である Martin Patsov が、オープン ソース ライブラリへの愛について語り、特に便利だと思うライブラリを提案しています。時間を節約する Java ライブラリ トップ 10 - 1そうなるか、ならないか、それが問題だ。それは救いになるのか、失敗になるのか。同じ Java ライブラリです...勇気を出してください! 「SigniOrs」はすでにそこにいますので、私は彼らの経験をあなたに伝えます。 私の詩的な脱線に惑わされないでください。Java には本当にたくさんのライブラリがあり、それらを理解するのはとても難しいです。でも、私は彼らをとても愛しています。私は「図書館伝道者」と呼ばれることもあります(IT 分野での「伝道者」とは、正典の福音書の編纂者ではなく、専門的にあれこれのテクノロジーを推進する人を意味します。これを一般の広報担当者と混同しないでください。ほとんどの場合、 、IT エバンジェリストは、自分が宣伝しているテクノロジーを完全に理解しています - 編集者注)。ライブラリは、オープンソース エコシステムの非常に重要な部分です。彼らの周囲には、彼らを発展させ支援する大規模なコミュニティが成長します。それは素晴らしいことです。ライブラリの主な利点は、コードを記述するたびに車輪の再発明を回避できることです。ライブラリ (特定のタスク用にすでに記述されたコード) をできるだけ頻繁に使用してください。時間を節約できます。真剣に言うと、家族や友達と遊んで過ごす方が良いです。

トップ10

このメモでは、私が仕事で使用することを好む Java ライブラリについて言及しました。それらはすべてオープンソース ソフトウェアです。有用性、優れたドキュメントとサポート、そして定期的なアップデートに基づいてこれを選択しました。これは私の個人的な選択であり、あなたの選択とは大きく異なる可能性があることをもう一度強調したいと思います。

1. Java標準ライブラリ

はい、はい、そうは思いませんでした!多くの人は過小評価しており、さらに、Java 標準ライブラリの膨大な機能を知らず、プログラミングの可能性を解き放つ方法を知りません。あるいは、Java 標準ライブラリをまったく使用しないことさえあります。そのうちのいくつかについて簡単に説明します。
  • java.lang。このライブラリには、基本的にプログラミングできないもの ( String Double Enum Mathなど) がすべて含まれているため、常に Java アプリケーションにインポートされます。

  • java.utilでは、Java で使用できるすべてのコレクションとデータ構造を見つけることができます。

  • 次に、ファイルの読み取り、ストリームの実行、Pipe クラス オブジェクトなどのためのjava.ioがあります。

  • 最初の 3 つについては、おそらくすでに聞いたことがあるでしょう。しかし、誰もがjava.ioの代替であるjava.nioについて知っているわけではありません。このライブラリはノンブロッキング I/O を担当し、ご想像のとおり、I/O 集中型の使用を可能にします。

  • java.netは、ソケットの操作、接続または短いネットワーク アプリケーションの作成に使用されます。

  • Java には、GUI を操作するためのライブラリーjavax.swing (さらに古いjava.awtのかなり時代遅れの拡張機能)もあります。

  • java.soundを使用して音楽を再生したり、MIDI ファイルを作成したりすることもできます。

2. ジェイヒップスター

JHipster は、Spring、Spring-MicroServices、Netflix、Docker、Kubernetes、AngularJs、Liquibase、MongoDB、Cassandra、ElasticSearch などの最新かつファッショナブルなテクノロジーを使用して、高負荷のスケーラブルな Web サーバーを迅速にデプロイ、開発、作成するためのプラットフォームです。
時間を節約するための Java ライブラリ トップ 10 - 2
正直に言って、この「Java ヒップスター」は間違いなく私の人生の何か月を救ってくれました。JHipster はリストの中で私の個人的なお気に入りであり、私の心の中で特別な場所を占めていると間違いなく言えます。このツールは、分散 Web サーバー プロジェクトのスケッチを生成するためにほぼ不可欠です。依存関係を含む pom ファイルを生成し、Elastic Search と接続を構成できます。必要なのは、アーキテクチャのビジネス ロジックを追加することだけです。生成されたプロジェクトに含まれる主要かつ最も重要なライブラリは次のとおりです。
  • Spring Boot はアプリケーション開発のスピードアップと簡素化に役立ちます
  • Angular /AngularJS - JavaScript フレームワーク
JHipsterの詳細については、こちらをご覧ください。

3. メイブン

Maven は、Java プロジェクトを構築するための 3 つの最も人気のあるツールの 1 つです。彼は、コンパイル、jar ファイル (Java アーカイブ) の作成、プログラム配布の作成、およびドキュメントの生成を担当しています。
時間を節約する Java ライブラリ トップ 10 - 3
最新のプロジェクトはそれぞれ、異なるファイル、モジュール、テクノロジーで構成されています。非常に簡単に言うと、プロジェクトの構築とは、その「作業用」バージョン、つまり実行のために起動できるプログラムを準備することです。これはコマンドラインで手動で実行することも、特別なスクリプトを作成することもできます。ただし、特別なアプリケーションを使用すると、これを行う方がはるかに簡単です。これらは「自動組立システム」と呼ばれます。Maven はそのような 3 つのプログラムのうちの 1 つで、他の 2 つは Gradle と Ant です。このようなシステムは、プロジェクトのソース コードを入力として受け取り、実行可能なプログラムを出力として生成します。
プロジェクトの構造 (依存関係、構成、ドキュメント) は、プロジェクトのルート フォルダーにある pom.xml ファイル (POM - プロジェクト オブジェクト モデル) に記述されています。正直に言うと、たとえ最初はよく分からなかったとしても、Maven は素晴らしいものです。これまでに Maven を使用したことがない場合は、チャンスを逃してしまいます。率直に言って、Maven より前にエンタープライズ アプリケーションがどのように作成されたのかさえ理解できません。ここでMaven についてロシア語で読むことができます。

4. Apache コモンズ

Apache Commons は実際には、Java ライブラリの作成に焦点を当てたプロジェクト全体です。または、さまざまな目的のための「小さな Java ユーティリティの大規模なセット」。ちなみに、Apache Commons ユーティリティは、Tomcat、Hibernate など、いくつかの非常によく知られたプロジェクトの基礎になっています。以下に、最も一般的に使用される Apache Commons ライブラリのいくつかの短いリストを示します。
時間を節約する Java ライブラリ トップ 10 - 4
  • コモンズ数学。Apache Commons Math Library は、その名前がす​​べてを物語っています。これには、複雑な数学的および統計的な演算と計算のためのコンポーネントが含まれています。

  • コモンズ CLI。コマンドライン引数を解析するための API を提供します。パラメーターを渡して動作を制御する機能がなければ、アプリケーションを作成することを考える価値すらありません。

  • コモンズ CSV。何を開発する場合でも、ある時点で csv ファイルを使用する必要が生じることがあります。つまり、ファイルを開いて、読み取り、編集し、保存し、作成する必要があります。ファイルの保存/作成時には、CSVFormat クラスの RFC 4180 形式と UTF-8 エンコーディングを使用することをお勧めします。

  • コモンズI.O. I/O 操作を簡素化するために使用されます。少なくとも ReversedLinesFileReader を見てみる価値はあります。
Apache Commons (英語) については、こちらをご覧ください。

5.グアバ

Guava は、Java 用の Google コア ライブラリのセットです。新しいコレクション タイプ (マルチマップやマルチセットなど)、不変コレクション、グラフ ライブラリ、関数タイプが含まれていますか? 同時実行、I/O、ハッシュ、文字列処理などのためのユーティリティ。これらのツールはすべて Google スペシャリストによって業務で使用されており、これはすでに良い推奨事項です。
時間を節約する Java ライブラリ トップ 10 - 5
Guava は、ある程度、Apache Commons の代替手段となります。実際、Guava については長く話すことができます (必ず注目してください!) が、ここではこのライブラリーから役立つことを 1 つだけ言及します。おそらく、コレクションを整理したり、コレクション内の内容を比較したりするという課題にすでに直面しているのではないでしょうか? 複数の条件を使用した複数の列にわたる高度な並べ替えと比較についてはどうですか? ComparisonChainコンポーネントは、コレクションの高度で複雑な並べ替えを実装するために使用されます。Guava についてはこちら(英語) をご覧ください。

6. グーグルグソン

google-gsonライブラリは、Java オブジェクトを JSON に、またはその逆に変換するのに役立ちます。これは、モバイル アプリの開発時や REST API の作成/使用時、または Java オブジェクトを JSON 表現に、またはその逆に変換する必要がある場合に特に便利です。
時間を節約する Java ライブラリ トップ 10 - 6
Java Collectionsクエスト では、JSON (JavaScript Object Notation)、Guava、Apache Commons、その他の興味深い事柄について学びます。
google-gson についてはこちら(英語) をご覧ください。

7. Hibernate-ORM

Hibernate は、オブジェクト リレーショナル マッピング (ORM) の問題を解決するために設計されたライブラリです。Hibernate ORM は、リレーショナル データベースにデータを保存するために使用されます。これは、開発者がこれを行うためのよりシンプルで抽象的な方法を提供します。実装には JDBC を使用します。Hibernate は JPA 仕様の実装でもあります。
時間を節約する Java ライブラリ トップ 10 - 7
Hibernate ORM については、こちら(英語) をご覧ください。

8.モッキト

Mockito という名前に騙されないでください。これはカクテルに関するものではなく、モック オブジェクトのライブラリに関するものです。モック オブジェクトは、特定のスキームに従って実際のオブジェクトの動作を模倣するオブジェクトです。たとえば、単体テストの場合、そのような「偽」オブジェクトはビジネス オブジェクトの動作をシミュレートできます。Mockito モック ライブラリは、モック オブジェクトの作成と使用の利便性を高めます。
時間を節約する Java ライブラリ トップ 10 - 8
Mockito に関する情報はここで見つけることができます。

9.JUnit

JUnit は、単体テスト (別名単体テスト) を作成するための無料の Java フレームワークです。このライブラリは最も人気のあるライブラリの 1 つで、ほとんどの人がそれを使用しています。多くの場合、新しい Java 開発者や Java 研修生は「コードをテストでカバーする」ことを余儀なくされるため、できるだけ早くこれを理解することをお勧めします。そして、これはキャリアにとって最悪のスタートではない、と言わざるを得ません。
時間を節約する Java ライブラリ トップ 10 - 9
Junit の詳細については、こちらをご覧ください

10.Log4j と Slf4j

これら 2 つのフレームワークは、Java アプリケーションの実行中に発生する特定のイベントをログに記録するためのルーチン操作の実装を隠すように設計されています。Slf4j は、他のロギング フレームワーク (同じ Log4j) の抽象化です。
時間を節約する Java ライブラリ トップ 10 - 10
Log4jSlf4jの詳細。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION