InfoQ ホームページ デベロップメント に関するすべてのコンテンツ
-
Java 注目の機能:Sealed クラス
2020年9月にリリースされるJava SE 15では、プレビュー機能として「Sealedクラス」(JEP 360)が導入される。Sealedクラスとは、他のクラスやインターフェイスがそれを拡張することができるクラスやインターフェイスを制限するものだ。Sealedクラスは、列挙型のように、ドメインモデルの中の選択肢を捕捉し、プログラマーやコンパイラが網羅性を推論できるようにする。
-
”分かりやすさ” - 追跡されていない最も重要な指標
”分かりやすさ(Understandability)”とは、システムはエンジニアが容易に把握できるように表現されるべきである、という概念です。システムの理解が容易であれば、エンジニアが予測性と安全性を持ってシステムを変更することも容易になります。完全性、簡潔性、明快性、組織性という基準に従うことで、システムは”分かりやすい”ものになるのです。
-
TornadoVM: GPUとFPGAでJavaを高速化する
近年の異種ハードウェアの急増は、CPUをターゲットとするJavaのような言語にとって問題となっています。TornadoVMはGraal JITコンパイラを拡張することでGPUやFPGAのメリットを活用し、フレキシブルでハイレベルなモデルを提供すると同時に、ハイパフォーマンスとライブタスクマイグレーションなどの機能を実現しています。
-
APIゲートウェイの過去、現在、そして未来
エッジは単純なハードウェアロードバランサとして始まり、APIゲートウェイやコンテンツ配信ネットワーク、ロードバランサを構成する、ハードウェアとソフトウェアプロキシのフルスタックへと進化しました。今回の記事では、アプリケーションアーキテクチャとワークフローの進化をもとに、データセンタエッジの進化の軌跡を追ってみたいと思います。
-
Amazon Deep Javaライブラリを使ってマシンラーニングをJavaで実装する
この記事では、JSR-381 VisRec APIを使うことで、DJLのトレーニング済モデルによる画像分類あるいはオブジェクト検出を10行未満のコードで実装可能であることを示します。
-
古典的Javaガベージコレクションを理解する
Javaのガベージコレクションは、25年経った今も大きな関心を集めるトピックです。多くの開発者たちがこの話題について、最も広く使われている実装(Java 8のパラレル)に関してさえ、いまだ困惑しているのが現状です。
-
マルチランタイム・マイクロサービスアーキテクチャ
”マイクロサービス”アーキテクチャと”12-factorアプリ”設計に関するベストプラクティスが現れました。クラウド、コンテナ、コンテナオーケストレータ(Kubernetesなど)の普及により、共通的な統合原則に対処する新たなソリューションが現れたのです。この記事では、”メカ”コンポーネントを使用してマイクロサービス用のエンタープライズ統合パターンを提供するアプローチについて論じます。
-
2020年第一四半期のソフトウェアチームとチームワークのトレンドレポート
Culture & Methods編集部では、テクノロジーの導入曲線の最前線にあるトピックについてレポートします。例えば、対面でもリモートでも、チームやチームワークをより効果的にする方法にいても紹介しています。新しいツールや技法があり、アイディアの一部は以前からあります。また、勢いを得ているアイディアもあります。プロフェッショナリズム、倫理的な振る舞い、社会や環境に対する配慮です。
-
ソフトウェア開発チームのメンタルヘルスを維持する
ソフトウェア開発チームで働くということは、しばしばストレスや不安、タイトな締め切りに対処することを意味します。研究によると、開発者は、機械的な作業を行う開発者よりも精神衛生上の問題を経験する可能性がかなり高いことがわかっています。開発者のメンタルヘルスを安定させるための知恵を、Beetroot社の人事心理学者が教えてくれました。
-
Java 14の新機能 - Record
Java SE 14(2020年3月)では、プレビュ���機能としてRecord(jep359)が導入されます。。Recordの目的は、"プレーンデータ"の集合を、より少ないセレモニーでモデル化できるようにすることです。今回の記事では、Java言語アーキテクトのBrian Goetz氏が、この機能を詳しく説明してくれます。
-
Kotlinのコルーチンを実装面から検証する
JVMにおいて最近、リアクティブプログラミングの代替手段としてコルーチンが注目されています。リアクティブストリーム用にコードを再構成するためのコストがメリットを上回ることが多いことから、最初はAndroidにおいて、それに代わるソリューションとしてコルーチンが現れました。この記事では、そのKotlinでの実装がどのように動作するのか、詳しく検証します。