建築家または建築家を目指す人が知っておくべき事柄を毎月まとめた概要です。

プロフェッショナルソフトウェア開発における知識とイノベーションの普及を促進

Git は、ソフトウェア開発におけるバージョン管理によく使われるツールです。複数の Git アカウントを使用することは珍しくありません。Git アカウントを正しく構成して切り替えることは困難です。この記事では、Git が提供するアカウント構成とその制限、およびプロジェクトの親ディレクトリの場所に基づいてアカウントを自動的に切り替えるソリューションについて説明します。
最小限の実行可能なアーキテクチャ (MVA) アプローチでは、システムのアーキテクチャが 1 つのステップで作成されないのと同様に、MVA アプローチの採用にも一連の段階的なステップが必要です。これらの組織変更は、1 つの開発チームから始まり、より多くのチームが参加するにつれて、フィードバックを使用してプロセスを進化させます。
Shreya Rajpal は、リスクを軽減し、LLM の安全性と効率性を高めるために設計されたオープンソース プラットフォームである Guardrails AI を紹介します。
このポッドキャストでは、Culture & Methods の主任編集者である Shane Hastie が、開発者関係の役割とオープンソース コミュニティへの貢献について Craig Box に話を聞きました。
Ranjith Kumar は、グローバルな容量を持つサービス所有者に提示される抽象化と保証、数十の地域にわたるワークロードを管理するための設計と実装、さまざまな需要の分類とモデル化、さまざまな地域間で需要をシフトすることによるグローバルな容量管理の実現について説明します。
ソフトウェア開発の意思決定をレベルアップするための変革的な洞察を発見してください。限定オファーにはコード LIMITEDOFFERIDSBOSTON24 を使用してください。
上級開発者から実践的なアドバイスを得て、現在の開発課題を解決しましょう。限定オファーにはコード LIMITEDOFFERIDSMUNICH24 を使用してください。
注目すべき新たなトレンドを発見して、ソフトウェア スキルをレベルアップしましょう。今すぐ登録してください。
すべてのプロフェッショナルが知っておくべきすべてのトピック、テクノロジー、テクニックに関する月刊ガイド。無料で購読できます。

InfoQ ホームページ ニュース Java ニュース総括: OpenJDK JEP、Spring プロジェクト、Quarkus、Hibernate、JHipster、JReleaser

2024年5月6日 8分読了

今週の 2024 年 4 月 29 日の Java ラウンドアップでは、注目のニュースとして、JEP 476 (モジュール インポート宣言 (プレビュー))、JEP 474 (ZGC: デフォルトでの世代別モード、JDK 23 をターゲット)、新しい JEP 候補、Spring プロジェクト、Quarkus、Hibernate ORM、Hibernate Reactor、JHipster、JHipster Lite、JReleaser の更新が取り上げられています。
レビューが終了した後、JEP 476「モジュール インポート宣言 (プレビュー)」は、JDK 23 で提案からターゲットに昇格されました。このプレビュー機能は、モジュール自体にコードをインポートする必要なく、モジュール ライブラリの再利用を簡素化することを目的として、モジュールによってエクスポートされたすべてのパッケージを簡潔にインポートする機能によって Java プログラミング言語を強化することを提案しています。
同様に、JEP 474 (ZGC: デフォルトで世代別モード) は、JDK 23 で提案からターゲット、ターゲットに昇格されました。この JEP は、Z ガベージ コレクター (ZGC) を非世代別モードから世代別モードにデフォルトで変更することを提案しています。非世代別モードは将来の JDK リリースで非推奨となり、削除されます。これにより、最終的には 2 つのモードを維持するコストが削減され、将来の開発は主に JEP 439 (世代別 ZGC) に集中できるようになります。詳細については、この InfoQ ニュース記事を参照してください。
JEP 472 (JNI の使用制限の準備) が、JEP ドラフト 8307341 から候補ステータスに昇格しました。この JEP では、JDK 23 の最終機能となる予定の Foreign Function & Memory (FFM) API の制限されたメソッドの使用と併せて、本質的に安全でない Java Native Interface (JNI) の使用を制限することを提案しています。JDK 23 以降の調整戦略では、FFM ユーザーがコマンド ラインで安全でないネイティブ アクセスを有効にしない限り、Java ランタイムは JNI の使用に関する警告を表示します。JDK 23 以降のリリースでは、JNI を使用すると警告ではなく例外がスローされることが予想されます。
JEP 471 (sun.misc.Unsafe のメモリ アクセス メソッドを非推奨にして削除) も、JEP ドラフト 8323072 から候補ステータスに昇格されました。この JEP では、Unsafe クラスのメモリ アクセス メソッドを将来のリリースで削除するために非推奨にすることを提案しています。これらのサポートされていないメソッドは、標準 API に置き換えられました。つまり、JDK 9 で提供される JEP 193 (変数ハンドル) と、JDK 22 で提供される JEP 454 (外部関数とメモリ API) です。
JDK の回帰テスト ハーネスである jtreg のバージョン 7.4.0 がリリースされ、JDK に統合できるようになりました。注目すべき変更点としては、ProblemList.txt ファイルで処理されるファイルの検証により、内容が想定される形式に準拠していることの確認、テスト プロセスが "STATUS: " 行でステータスを報告するときに VM 終了コードを無視する jtreg の解決、および JUnit 5.10.2 への依存関係のアップグレードなどがあります。このリリースの詳細については、リリース ノートを参照してください。
Project Panama とも呼ばれる Project Jextract のビルド 22-jextract+4-30 の早期アクセス ビルドが Java コミュニティに提供されており、JDK 22 のリリースに基づいています。
JDK 23 早期アクセス ビルドのビルド 21 が先週公開されました。ビルド 20 からの更新が含まれており、さまざまな問題の修正が含まれています。このリリースの詳細については、リリース ノートを参照してください。
Eclipse Foundation の Jakarta EE 開発者アドボケートである Ivar Grimstad 氏は、毎週の Hashtag Jakarta EE ブログで、近々リリースされる Jakarta EE 11 の GA リリースに関する最新情報を提供しました。Jakarta EE 11 では、Jakarta Annotations 3.0、Jakarta Contexts and Dependency Injection 4.1、Jakarta Expression Language 6.0、Jakarta Interceptors 2.2、Jakarta RESTful Web Services 4.0、Jakarta Validation 3.1 の 6 つの仕様が完成しました。残りの 10 の更新された仕様は、さまざまな段階でレビューされています。
Oracle Labs は、クラウド アプリケーション開発を簡素化する Micronaut Framework モジュールの厳選セットである Graal Cloud Native の名前が、Graal Development Kit for Micronaut に変更されたことを発表しました。この変更は、Micronaut Framework との整合性を向上させるために行われました。Micronaut Framework 4.3.7 に基づくバージョン 4.3.7 は、この新しい名前での最初のリリースです。
Spring Moduliti のバージョン 1.1.4 および 1.0.7 がリリースされ、依存関係のアップグレードと改善が行われました。Spring Boot の再パッケージ化された JAR にスターターが含まれないようにし、適切なリスナーが見つからない場合は、不完全なパブリケーションの再送信時に PersistentApplicationEventMulticaster クラスのエラー ログに書き込むと、暗黙的に失敗します。これらのリリースの詳細については、バージョン 1.1.4 およびバージョン 1.0.7 のリリース ノートを参照してください。
Spring Functions Catalog 5.0.0 の最初のリリース候補は、Stream Applications プロジェクトの関数サブモジュールのブランド変更と次世代であり、Spring Boot 3.2.5、Spring Integration Extension for AWS 3.0.7、および Debezium 2.6.1 への依存関係のアップグレードを提供します。2024 年 3 月に導入されたこのカタログは、エンドユーザー アプリケーションでそのまま使用できるスタンドアロン Java 関数のセットを提供します。Stream Applications プロジェクトの機能との整合性を維持するために、この新しいカタログではバージョン 5.0.0 が選択されました。このリリースの詳細については、リリース ノートを参照してください。
同様に、Spring Cloud Stream Applications 2024.0.0 の最初のリリース候補は、主に前述の Spring Functions Catalog 5.0.0-RC1 への依存関係のアップグレードを提供します。このリリースの詳細については、リリース ノートを参照してください。
Spring Tools のバージョン 4.22.1 がリリースされました。バグ修正と注目すべき変更点として、Java ソースと Named Query プロパティ ファイルでの Jakarta Persistence Query Language 構文のサポート、実行中の Spring Boot アプリケーション用のライブ データを表示/非表示/更新するための VSCode の新しい UI、Eclipse と VSCode で .properties から .yml ファイルへの変換が新しく可能になったことなどが挙げられます。このリリースの詳細については、リリース ノートを参照してください。
Quarkus 3.10 のリリースでは、新しい拡張機能である Hibernate Search Standalone + Elasticsearch、Flyway 10.10.0 への依存関係のアップグレード、および次のような注目すべき変更が提供されます: 非推奨のプロパティ quarkus.package.type=uber-jar を使用して Uber-JAR をビルドするときに発生する 2 つの競合する警告の解決、実験的な WebSockets Next 拡張機能での ExecutionModelAnnotationsAllowedBuildItem クラスの使用 (コールバック メソッドに SmallRye @Blocking、@NonBlocking、および @RunOnVirtualThread の注釈を付けることができる)。このリリースの詳細については、変更ログを参照してください。
同様に、4 番目のメンテナンス リリースである Quarkus 3.9.5 (3.9.0 はスキップされました) では、CaffeineCache インターフェイスのメトリックの getIfPresent() メソッドによる追加増分 (メトリック カウントが誤って 2 倍になった問題) の解決、このクラスで UNAVAILABLE という名前の EagerInstanceHandle クラスのインスタンスが閉じられたときに NullPointerException が発生しないようにするなどの注目すべき変更が提供されています。このリリースの詳細については、変更ログを参照してください。
Micronaut Foundation は、Micronaut Core 4.4.8、バグ修正、ドキュメントの改善、およびモジュール (Micronaut Views および Micronaut Tracing) の更新を特徴とする Micronaut Framework バージョン 4.4.2 をリリースしました。このリリースの詳細については、リリース ノートを参照してください。
Hibernate ORM 6.6.0 の最初のアルファ リリースでは、Jakarta Data 1.0.0-RC1 仕様の実装と、非推奨の @Proxy および @LazyToOne アノテーションの改良された代替として意図された新しい @ConcreteProxy アノテーションが提供されます。
同様に、Hibernate ORM 7.0.0 の 2 番目のアルファ リリースでは、Jakarta EE 11 で提供される最新バージョンである Jakarta Persistence 3.2 仕様への移行、JDK 17 のベースライン、Hibernate 固有のマッピング機能を組み込んだ Jakarta Persistence orm.xsd ファイルの拡張を表す新しい XSD ファイル、およびアプリケーション ドメイン モデルの低レベル処理のための Hibernate Commons Annotations (HCANN) から新しい Hibernate Models プロジェクトへの移行に関して継続的な改善が提供されます。
Hibernate Reactive 2.3.0.Final のリリースには、Hibernate ORM 6.5.0.Final との互換性、および Hibernate ORM 6.4.0.Final で初めて導入された @SoftDelete アノテーションによるソフト削除のサポートが含まれています。このリリースの詳細については、リリース ノートを参照してください。
Apache Camel Quarkus 3.10.0 のリリースは、Apache Camel 4.5.0 と Quarkus 3.10.0 で構成されており、次のような注目すべき問題の解決策が提供されています: Java Simplified Encryption (jasypt) パスワードが適切に設定されていないために JasyptDevUITest のインスタンスが失敗する、gRPC と FindBugs を使用するときに開発モードのコンパイル エラーが発生する、予期しないモデルが原因で CamelCatalog インターフェイスの実装から IllegalArgumentException が発生する。このリリースの詳細については、リリース ノートを参照してください。
4 回目のメンテナンス リリースである TornadoVM 1.0.4 には、新しい Tensor API バージョン 1.0、さまざまなデータ タイプのテンソルを操作するための包括的なクラスとユーティリティのセット、ONNX ランタイムとの相互運用性、コンストラクター レベルからの TornadoVM 配列連結のサポート、自動メモリ管理のための自動クローズ可能な実行プランなどのバグ修正と機能強化が含まれています。
JHipster 8.4.0 のリリースでは、Spring Boot 3.2.5 への依存関係のアップグレードと、Redis の障害の原因となる Hibernate LazyInitializationException を解決するための Redis SerializationCodec クラスへの切り替え、BREACH 攻撃を防ぐために CSRF トークンを処理するカスタマイズされた SpaCsrfTokenRequestHandler クラスの使用などの注目すべき変更が提供されます。このリリースの詳細については、リリース ノートを参照してください。
JHipster Lite 1.8.0 もリリースされ、バグ修正、ドキュメントの改善、依存関係のアップグレード、および次のような機能強化が行われています: Maven と Gradle でビルドされたプロジェクトのファイル処理を分離するための FileSystemProjectJavaBuildToolRepository クラスの改善、および Mustache テンプレートのレンダリングに ArgumentsReplacer クラスではなく Mustache インターフェイスを使用する。このリリースの詳細については、リリース ノートを参照してください。
プロジェクト リリースの作成を効率化する Java ユーティリティである JReleaser のバージョン 1.12.0 がリリースされました。このリリースでは、バグ修正、ドキュメントの改善、依存関係のアップグレード、および次のような新機能が提供されています: MavenCentral 経由でデプロイするための Sonatype の Portal Publisher API のサポート、OpenFeign 経由で HTTP ネットワーク呼び出しをログに記録する新しいオプション、GitLab に公開するときに Homebrew リポジトリの識別子を指定するための新しいプロパティ projectIdentifier。このリリースの詳細については、リリース ノートを参照してください。

InfoQ の先週のコンテンツのまとめが毎週火曜日に配信されます。250,000 人以上のシニア開発者のコミュニティに参加してください。例を見る

InfoQ の先週のコンテンツのまとめが毎週火曜日に配信されます。250,000 人以上のシニア開発者のコミュニティに参加してください。例を見る

2024 年 6 月 24 日 – 25 日 | ボストン、マサチューセッツ州今日の重要な開発優先事項を明確にする実用的な洞察。InfoQ Dev Summit Boston は、InfoQ が主催する 2 日間のカンファレンスで、シニア ソフトウェア開発者が現在直面している最も重要な技術的決定に焦点を当てています。20 以上の技術講演を詳しく聞き、ジェネレーティブ AI、セキュリティ、最新の Web アプリケーションなどを扱うシニア ソフトウェア開発者から革新的な学びを得ましょう。今すぐ登録

InfoQ.com およびすべてのコンテンツの著作権は © 2006-2024 C4Media Inc. に帰属します。プライバシー通知、利用規約、Cookie ポリシー

元記事: https://www.infoq.com/news/2024/05/java-news-roundup-apr29-2024/