BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ 設計/アーキテクチャ に関するすべてのコンテンツ

  • JavaScriptとWeb開発 InfoQ トレンドレポート 2020

    Web開発は私たちにとって常に興味深いものであり、新しいJavaScriptプロジェクトがほぼ毎日開始されています。どれに焦点を当て、どれを無視するかを決定することは、特に困難です。開発者は、日々の開発作業で現在使用していない場合でも、興味深いアプローチから学び、インスピレーションを得ることができます。

  • Java 注目の機能:Sealed クラス

    2020年9月にリリースされるJava SE 15では、プレビュー機能として「Sealedクラス」(JEP 360)が導入される。Sealedクラスとは、他のクラスやインターフェイスがそれを拡張することができるクラスやインターフェイスを制限するものだ。Sealedクラスは、列挙型のように、ドメインモデルの中の選択肢を捕捉し、プログラマーやコンパイラが網羅性を推論できるようにする。

  • ”分かりやすさ” - 追跡されていない最も重要な指標

    ”分かりやすさ(Understandability)”とは、システムはエンジニアが容易に把握できるように表現されるべきである、という概念です。システムの理解が容易であれば、エンジニアが予測性と安全性を持ってシステムを変更することも容易になります。完全性、簡潔性、明快性、組織性という基準に従うことで、システムは”分かりやすい”ものになるのです。

  • DDDアプローチを用いたビジネスルールの検証

    ソフトウェアアプリケーション開発の目標が、その分野の専門家の振る舞いをエミュレートすることであるならば、ビジネスルールを捕捉し、実装することが課題となります。これは単にコーディング能力よりも、優れた知識管理に関わるものです。ドメイン駆動設計のテクニックに従うことで、ビジネスルールを効果的に検証、実行する構造の実現が可能になります。

  • TornadoVM: GPUとFPGAでJavaを高速化する

    近年の異種ハードウェアの急増は、CPUをターゲットとするJavaのような言語にとって問題となっています。TornadoVMはGraal JITコンパイラを拡張することでGPUやFPGAのメリットを活用し、フレキシブルでハイレベルなモデルを提供すると同時に、ハイパフォーマンスとライブタスクマイグレーションなどの機能を実現しています。

  • APIゲートウェイの過去、現在、そして未来

    エッジは単純なハードウェアロードバランサとして始まり、APIゲートウェイやコンテンツ配信ネットワーク、ロードバランサを構成する、ハードウェアとソフトウェアプロキシのフルスタックへと進化しました。今回の記事では、アプリケーションアーキテクチャとワークフローの進化をもとに、データセンタエッジの進化の軌跡を追ってみたいと思います。

  • Javaに欠けている機能:5年後

    Ben Evans氏は、2015年のJavaの欠落した機能についての見解を再訪し、当時の見解と比較して言語がどのように進化してきたかを比較している。

  • ソフトウェアアーキテクチャと設計 - InfoQトレンドレポート、2020年4月

    InfoQのエディタたちが、2020年のソフトウェアのアーキテクチャと設計の分野におけるトピックをどう見たのか、基本的なアーキテクチャパターン、フレームワークの利用、設計スキルを中心に、その概要をお伝えします。

  • Amazon Deep Javaライブラリを使ってマシンラーニングをJavaで実装する

    この記事では、JSR-381 VisRec APIを使うことで、DJLのトレーニング済モデルによる画像分類あるいはオブジェクト検出を10行未満のコードで実装可能であることを示します。

  • 古典的Javaガベージコレクションを理解する

    Javaのガベージコレクションは、25年経った今も大きな関心を集めるトピックです。多くの開発者たちがこの話題について、最も広く使われている実装(Java 8のパラレル)に関してさえ、いまだ困惑しているのが現状です。

  • マルチランタイム・マイクロサービスアーキテクチャ

    ”マイクロサービス”アーキテクチャと”12-factorアプリ”設計に関するベストプラクティスが現れました。クラウド、コンテナ、コンテナオーケストレータ(Kubernetesなど)の普及により、共通的な統合原則に対処する新たなソリューションが現れたのです。この記事では、”メカ”コンポーネントを使用してマイクロサービス用のエンタープライズ統合パターンを提供するアプローチについて論じます。

  • サービスメッシュ必読ガイド - マイクロサービス時代のサービス間通信管理

    このオンラインガイドは、ソフトウェアアーキテクトや技術リーダが当然持つであろう、"サービスメッシュとは何か?"、"サービスメッシュは必要か?"、"さまざまなサービスメッシュのプロダクトをどのように評価すればよいのか?"、といった疑問に答えるためのものです。ソフトウェアアーキテクチャにおけるサービスメッシュは、マイクロサービス間通信の促進を目的とした特別なインフラストラクチャレイヤで、一般的にはサイドカープロキシとして実装されます。

BT