InfoQ ホームページ アーティクル
-
ソフトウェアアーキテクチャと設計 - InfoQトレンドレポート、2020年4月
InfoQのエディタたちが、2020年のソフトウェアのアーキテクチャと設計の分野におけるトピックをどう見たのか、基本的なアーキテクチャパターン、フレームワークの利用、設計スキルを中心に、その概要をお伝えします。
-
Amazon Deep Javaライブラリを使ってマシンラーニングをJavaで実装する
この記事では、JSR-381 VisRec APIを使うことで、DJLのトレーニング済モデルによる画像分類あるいはオブジェクト検出を10行未満のコードで実装可能であることを示します。
-
古典的Javaガベージコレクションを理解する
Javaのガベージコレクションは、25年経った今も大きな関心を集めるトピックです。多くの開発者たちがこの話題について、最も広く使われている実装(Java 8のパラレル)に関してさえ、いまだ困惑しているのが現状です。
-
マルチランタイム・マイクロサービスアーキテクチャ
”マイクロサービス”アーキテクチャと”12-factorアプリ”設計に関するベストプラクティスが現れました。クラウド、コンテナ、コンテナオーケストレータ(Kubernetesなど)の普及により、共通的な統合原則に対処する新たなソリューションが現れたのです。この記事では、”メカ”コンポーネントを使用してマイクロサービス用のエンタープライズ統合パターンを提供するアプローチについて論じます。
-
サービスメッシュ必読ガイド - マイクロサービス時代のサービス間通信管理
このオンラインガイドは、ソフトウェアアーキテクトや技術リーダが当然持つであろう、"サービスメッシュとは何か?"、"サービスメッシュは必要か?"、"さまざまなサービスメッシュのプロダクトをどのように評価すればよいのか?"、といった疑問に答えるためのものです。ソフトウェアアーキテクチャにおけるサービスメッシュは、マイクロサービス間通信の促進を目的とした特別なインフラストラクチャレイヤで、一般的にはサイドカープロキシとして実装されます。
-
デイリースクラムをゲームで学ぶ - スタンドアップミーティングの5つの機能不全
あなたのチームのデイリースクラムに”物語り”や”問題解決”、スプリント目標の喪失といった症状はありませんか? 15分以上の時間を要しているのに、関連情報が何も共有できていない、ということはないでしょうか? この記事で著者らは、デイリースクラムを改善する目的で特にデザインされた”Daily Stand-up Game”による治療を処方します。
-
2020年第一四半期のソフトウェアチームとチームワークのトレンドレポート
Culture & Methods編集部では、テクノロジーの導入曲線の最前線にあるトピックについてレポートします。例えば、対面でもリモートでも、チームやチームワークをより効果的にする方法にいても紹介しています。新しいツールや技法があり、アイディアの一部は以前からあります。また、勢いを得ているアイディアもあります。プロフェッショナリズム、倫理的な振る舞い、社会や環境に対する配慮です。
-
ソフトウェア開発チームのメンタルヘルスを維持する
ソフトウェア開発チームで働くということは、しばしばストレスや不安、タイトな締め切りに対処することを意味します。研究によると、開発者は、機械的な作業を行う開発者よりも精神衛生上の問題を経験する可能性がかなり高いことがわかっています。開発者のメンタルヘルスを安定させるための知恵を、Beetroot社の人事心理学者が教えてくれました。
-
Java 14の新機能 - Record
Java SE 14(2020年3月)では、プレビュー機能としてRecord(jep359)が導入されます。。Recordの目的は、"プレーンデータ"の集合を、より少ないセレモニーでモデル化できるようにすることです。今回の記事では、Java言語アーキテクトのBrian Goetz氏が、この機能を詳しく説明してくれます。
-
Kotlinのコルーチンを実装面から検証する
JVMにおいて最近、リアクティブプログラミングの代替手段としてコルーチンが注目されています。リアクティブストリーム用にコードを再構成するためのコストがメリットを上回ることが多いことから、最初はAndroidにおいて、それに代わるソリューションとしてコルーチンが現れました。この記事では、そのKotlinでの実装がどのように動作するのか、詳しく検証します。
-
Deep Java Library(DJL)の紹介
Amazonは、ディープラーニングモデルをJavaで開発するためのオープンソースライブラリDJLを発表しました。この記事では同ツールキットの導入方法を紹介します。このライブラリは、PythonやRといった新たなテクノロジを導入することなく、Javaによるエンドツーエンドのディープラーニング開発を可能にすることで、ソフトウェア依存性の数を削減することを目的としています。