InfoQ ホームページ デベロップメント に関するすべてのコンテンツ
-
C#のsealedメソッドをオーバーライドする
今回の記事では、C#のsealedメソッドの動作を変更する方法を紹介しています。オペレーティングシステムのメカニズムと、.NETプラットフォームによるコード生成とコンパイル処理の方法を理解すれば、これが可能になります。筆者はこれらのテクニックを、WinAPIラッパの変更など現実的なシナリオで使用する方法を使って概説しています。
-
ローコードソフトウェアによって職を失わないためには
ローコードの普及の勢いは極めて強力です。いずれあなたの会社にも浸透するであろうことは間違いないでしょう。しかしながら、大部分のソフトウェアエンジニアは、これを心配する必要はありません。ローコードソフトウェアがまだ得意でない部分において優位であるからです。この変革を生き延びて成功を続ける上で重要なのは、ローコードにはまだできない責務を自分の役割に含めておくことです。
-
AIはDevOpsに取って代わるのか?
AIツールは開発者の役割をゆっくりと - DevOpsがかって行ったように - 置き換えています。そして最終的には、DevOpsに完全に取って代わるでしょう。この予測の正しさを評価するのは難しいのですが、この記事では、AIが開発プロセスにもたらすものは何かを確認した上で、それが人間である開発者の作業を本当に引き継ぐことができるのか、数十年後のDevOpsがどのようなものになっているのかを見ていきます。
-
サービスメッシュ必読ガイド - 第2版: 次世代のマイクロサービス開発
この第2版のサービスメッシュ必読ガイドの記事では、マルチクラウド、マルチクラスタ、マルチテナントモデル、サービスメッシュ拡張、およびサービスメッシュのプロダクションでの運用面などのサービスメッシュテクノロジーの最新の開発について説明します。
-
多様性を活用したサイバーセキュリティの強化
サイバーセキュリティに多様な考え方を適用するには、どうすればよいでしょうか? 非技術系の人たち、非伝統的なバックグラウンドを持つ人たちが参加して、意図的に群衆心理を回避することが必要です。私たちの業界がベストプラクティスとしてセキュリティの徹底を推奨するならば、それはとりもなおさず、多様性を徹底的に確保することで、あらゆるリスクを最も効果的に軽減する必要がある、ということでもあるのです。
-
Java 16またはJava 17にアップグレードする理由と方法
次の長期サポート (LTS) リリースであるJava 17は、2021年9月14日にリリースされます。残念ながら、多くのアプリケーションは最新のLTSであるJava 11より前のバージョンのJavaで実行されています。この記事では、アプリケーションをアップグレードしなければならいない理由と、比較的素早くアップグレードする方法について説明します。アプリケーションが何によって壊れるかと、それを解決する方法についての実用的な例が提供されています。
-
クラウドネイティブアーキテクチャの導入 パート3: サービスオーケストレーションとサービスメッシュ
クラウドネイティブアーキテクチャの導入シリーズのこのパート3の記事では、マイクロサービスベースのアーキテクチャでのサービスの相互作用、適切なガバナンスのない分散システムで発生する一般的な課題、およびサービスオーケストレーションやサービスメッシュなどのパターンがこれらの課題に対処するのにどのように役立つかについて説明します。
-
Java 16の最新情報
Java 16は、プロダクションで使用することを目的としたGAビルドとして2021年3月にリリースされました。そして、次のLTSビルドであるJava 17は、今年の9月にリリースされる予定です。Java 17には、多くの改善と言語の強化が詰め込まれています。そのほとんどはJava 11以降に提供されたすべての新機能と変更の集大成です。
-
マイクロサービスの内と外を裏返しにする
マイクロサービスを裏返しにするということは、単一の要求/応答APIを超えて、クエリとコマンドのインバウンドAPI、イベントを発行するアウトバウンドAPI、およびそれらの両方を記述するメタAPIを備えたマイクロサービスの設計に移行することを意味します。 データベースは、Debeziumなどの結合剤を介してApache Kafkaで補完できます。
-
Excelの数式言語がチューリング完全に
Excel開発チームがLAMBDAを発表しました。ユーザが数式関数を定義し、名前を付けられる新機能です。LAMBDA関数ではパラメータの取得、他のLAMBDA関数の呼び出し、自身の再帰的呼び出しが可能です。 LAMBDAを加えることで、Excelの数式言語はチューリング完全になります - 命令型言語(VBAやJavaScript)に頼ることなく、ユーザ定義関数を使って、任意の計算を行うことができます。
-
マインドマップ駆動テストでテスト戦略を強化する
マインドマップ駆動テストにより、テスタはテストアイデアの生成に集中でき、思考をあきらかにし、アイデアを効果的にブレインストーミングして整理することができます。この記事では、マインドマップに関するアイデアと知識を共有し、テストの計画、整理、記録、提示、およびレポートを行うためのリーンドキュメントとしてそれらを使用する方法を示します。
-
継続的ドキュメンテーション - コード知識共有への新たなアプローチ
ドキュメントは開発の重要な部分です。しかし、コードが変更されれば、ドキュメントはすぐに陳腐化してしまいます。継続的ドキュメンテーションでは、継続的に検証する、最も必要な時に作成する、コードに結合する、という3つの原則を重視します。