BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ Java に関するすべてのコンテンツ

  • Java Persistenceを使ったアーキテクチュア:パターンと戦略

    進化し続けるソフトウェア・アーキテクチャの世界で、シニア・エンジニア、アーキテクト、CTOは、Javaアプリケーションの強固で効率的な永続化レイヤの設計という永遠の課題に直面している。よく練られた永続化レイヤは、単なる技術的なディテールではなく、アプリケーションの機能性、スケーラビリティ、および長期的な持続可能性を支えるバックボーンである。この記事では、Javaの永続化レイヤに関連する複雑なデザイン・パターンの領域に深く潜り込み、オブジェクト指向とデータ指向のアプローチを明確に区別することに焦点を当てる。

  • RMIベースのレガシー・アプリケーションをWebSocketに移行する

    Technical debt, especially in enterprise software, is a relevant problem that developers recurrently have to face. This article provides a use case related to removing technical debt in a large enterprise application based on an old fashioned Remote Method Invocation (RMI) protocol, and migrating it toward modern cloud-aware communication technologies.

  • InfoQ Javaトレンドレポート - 2023年11月

    本レポートは、InfoQ Java編集部が現在Javaの領域でどのような技術が採用され、どのようなトレンドが生まれているかをまとめたものである。言語であるJavaだけでなく、KotlinやScalaなどの関連言語、Java仮想マシン(JVM)、Javaベースのフレームワークやユーティリティに焦点を当てている。Javaの新バージョンの採用といったコアJavaのトレンドや、Spring Framework、Jakarta EE、Quarkus、Micronaut、Helidon、MicroProfile、MicroStreamといったフレームワークの進化についても解説する。

  • Javaの新機能総合ガイド: スイッチのパターンマッチング

    switch文は制御フロー文の1つで、もともとは、ある式がどのように評価されるかに基づいて複数の実行経路が考えられるような特定の使用例に対して、if-else if-else制御フロー文に代わる短い形式の制御フロー文として設計された。

  • データ転送オブジェクトを超えてJavaレコードを探る

    Records are a concise and easy-to-use syntax for creating immutable classes. By using Records, you can ensure that your APIs are bulletproof and less prone to errors. Additionally, Records can be applied with Domain-Driven Design (DDD) principles to create more robust and maintainable code. Learning to use Records and apply them with DDD can help you make more resilient and scalable applications.

  • NetflixにおけるFederated GraphQLプラットフォームの進化

    This article describes the journey of the migration towards a Federated GraphQL architecture. Specifically, it shows the GraphQL platform Netflix has built consisting of the Domain Graph Services framework for implementing GraphQL services in Java using Spring Boot and graphql-java, and tools for schema development. It also describes how the ecosystem has evolved at various stages of adoption.

  • GatlingとJMeterの比較 - パフォーマンステストに何を使うか?

    JMeterとGatlingは、もっとも人気のあるパフォーマンステストツールの1つだ。この2つのツールを比較するコンテンツはすでにたくさんある。では、なぜまた記事を書くのか?私は、少し違った角度からこの2つのツールを比較してみようと思う。私は両方をかなり長い間使っているので、そろそろ私の経験をまとめる時期だと思う。

  • Micronautフレームワークを使ったクラウドネイティブJava

    Micronautフレームワークは、クラウドネイティブJavaマイクロサービスを構築するための強固な基盤を提供します。これにより、Javaリフレクション、ランタイムプロキシ生成、動的クラスローディングの使用が削減されます。GraalVM Ahead-of-Timeコンパイル(AOT)との緊密な統合により、Micronautフレームワークの使用が拡大しています。アクティブなコンパイル時チェックにより、型の安全性が向上し、開発者の生産性が向上します。

  • Apache Kafkaを使ったQuarkusリアクティブメッセージング入門

    今日のデータの処理/消費方法は、これまでの方法とは異なります。以前は、データはデータベースに保存され、分析のためにバッチ処理されていました。Apache Kafkaは、データストリームをリアルタイムで保存、消費、処理するための分散イベントストアおよびストリーム処理プラットフォームです。この記事では、Apache KafkaとQuarkusを使用してデータを生成と消費する方法を学習します。

  • ネイティブJavaの実情

    KubernetesのマイクロサービスはネイティブJavaスイートスポットです。最も重要なフレームワークを備えており、Javaランタイムオーバーヘッドが最小限となります。ネイティブJavaでは、ビルド、デバッグ、テスト、デプロイ、プロファイルをするためにに多くの労力がかかります。アプリケーションフレームワークは、本番環境でネイティブJavaを完全にサポートする必要があります。ネイティブJavaの採用は段階的に行うことができます。ただし、ネイティブJavaアプリケーションは、すべてのライブラリがネイティブJavaをサポートしている場合にのみ機能します。

  • QuarkusによるKubernetes Native Java

    Quarkusは、ネイティブとJVMベースの両方のJavaアプリケーションにおける起動時間とメモリ使用率に関して、業界のリーダーです。これにより、クラウドのコストが削減されます。Kubernetesは、Quarkusにとって第一級のデプロイプラットフォームであり、そのプリミティブと機能をサポートします。開発者は、Jakarta EE、MicroProfile、SpringなどのAPIに関するJavaの知識を使うことができます。アプリケーションは、命令型あるいはリアクティブ、あるいはその両方にとることができます。

  • Javaに革命を起こすGraalVM Native Image

    GraalVM Native Imageは、ネイティブなJava実行ファイルを生成するAOT(ahead-of-time)コンパイラです。生成される実行ファイルは非常に速く起動し、CPUやメモリの使用量が少なくなることで、クラウドにおけるJavaの実行コストを低減すると同時に、JVMに比肩するピークスループットをも実現しています。Spring Boot、Micronaut、Quarkus、Gluonなど数多くのJavaフレームワークが、すでにGraalVMをサポートしています。

BT