InfoQ ホームページ 言語 に関するすべてのコンテンツ
-
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.
-
Rustが再評価される:エコシステムの現状と落とし穴
In this article, we share findings and insights about the Rust community and ecosystem and elaborate on the peculiarities and pitfalls of starting new projects with Rust or migrating to Rust from other languages.
-
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制御フロー文に代わる短い形式の制御フロー文として設計された。
-
オープンソーステスト: バグ報奨金プログラムを恐れるのではなく、受け入れるべき理由
The growing importance of the Web3 ecosystem based on blockchains shows how important community test programs are. Some within the testing community see this trend as a threat. However, it is actually an opportunity. Bug bounties and open-source test contributions are a great tool for test teams, and there is every reason for testers to embrace this new trend rather than to fear it.
-
データ転送オブジェクトを超えて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をサポートしている場合にのみ機能します。