RabbitMQの基本概念とC#によるメッセージング実装

RabbitMQアーキテクチャとC#クライアントの初期構成 RabbitMQはオープンソースのメッセージブローカーであり、AMQP 0-9-1プロトコルをネイティブに実装しています。システム間の疎結合な非同期通信を担うため、物理的な伝送路ではなく、バイナリ形式のペイロードを中継・蓄積・配信するための堅牢なインフラストラクチャとして機能します。 コア概念的定義 プロデューサ ...

10月5日 01:42 投稿

Azure Data Lake Storage Gen2 の操作:.NET Core コンソールアプリケーションからのアクセス

Azure Data Lake Storage Gen2 は、Azure Blob Storage を基盤としたビッグデータ分析に特化したストレージサービスです。Gen1 および Blob Storage の機能に加え、大量のデータを効率的に管理・分析するための機能が強化されています。本稿では、.NET Core コンソールアプリケーションから Data Lake Storage Gen2 を操作する方法を解説します。 Azure Data Lake Storage ...

8月31日 06:12 投稿

.NET Core で Apache Kafka を利用した信頼性のあるメッセージ処理実装

オフセット管理を活用した重複処理防止の実装 Apache Kafka を .NET Core で利用する際、コンシューマーがメッセージを受信した後、Kafka が停止/再起動した際に重複処理が発生する問題があります。この問題を解決するため、Redis を活用したオフセット管理を実装します。 問題の背景 コンシューマーがメッセージを受信後、StoreOffset() を呼び出してオフセットを確認しま ...

7月31日 01:00 投稿

.NET Core で Kafka トランザクション付きバッチ送信を実装する

Kafka プロデューサーを使用して複数メッセージを一括送信し、トランザクションにより全メッセージの成功または失敗を保証します。トランザクション ID の設定は必須です。 public void SendMessagesInTransaction(List<string> messages) { var config = BuildProducerConfig(); config.EnableIdempotence = true; config.MessageTimeoutMs = 5000; ...

7月24日 17:21 投稿

.NET Core で EPPlus を使用して Excel ファイルを API から出力し、日本語ヘッダーを設定する方法

EPPlus は Microsoft Office の依存なしに Excel ファイルを操作できる強力なライブラリであり、.NET Core 環境でも広く利用されています。 まず、NuGet から EPPlus.Core(例:バージョン 1.5.4)をインストールします。 以下は、任意のデータリストを Excel に変換し、カスタムヘッダー(英語フィールド名 → 日本語表示)を適用して MemoryStream として返す汎用ヘルパ ...

7月19日 03:27 投稿

.NET Core で利用可能な Redis データ型とその使用シナリオの詳細解説

.NET Core 環境において、Redis は多様なコアデータ型をサポートしており、それぞれが独自の応用シナリオとパフォーマンス上の利点を持っています。主なデータ型とその詳細な使用シナリオは以下の通りです: 1. String(文字列型) 説明:最も基本的なデータ型で、テキスト、バイナリデータ(シリアライズされたオブジェクトなど)、または数値を保存できます。最大サイ ...

7月15日 21:37 投稿

.NET エコシステムにおける Siemens S7 プロトコルの実装と制御

S7 プロトコル概要とネットワーク通信基盤 産業用オートメーション分野において、シグマネツ(Siemens)製のプログラム可能論理コントローラ(PLC)は中心的な役割を果たしています。これら装置間でデータを転送するための標準的なプロトコルである S7 コミュニケーションは、TCP/IP やシリアルリンクをサポートする汎用的な仕組みです。 基本アーキテクチャ S7 プロトコ ...

7月14日 21:08 投稿

.NET Coreにおける構成の実践的な使用方法

ここでは、.NET Coreでのさまざまな構成手法について説明します。それぞれの方法を例示し、それらがどのように動作するかを示します。 メモリベースの設定 メモリ上にKey-Value形式でデータを保持する設定です。 static void MemorySetting() { var initialData = new Dictionary<string, string?> { { "user", "alice" } } ...

7月10日 16:50 投稿

.NET Core アプリケーションにおける Docker Compose でのヘルスチェック設定

前回はシンプルなデプロイ方法を紹介しました。今回は、Docker Compose を使用してアプリケーションのヘルスチェックを設定する方法について解説します。 Docker Compose でヘルスチェックを設定するには、主に以下の3つのファイルを修正します。 1. docker-compose.override.yml の設定 このファイルは、docker-compose.yml の設定をオーバーライドするために使用され ...

7月7日 21:21 投稿

Avalonia入門:音楽ストアアプリの構築

このチュートリアルでは、Avalonia公式ドキュメントの音楽ストアサンプルをもとに、MVVMパターンを用いたデスクトップアプリケーションの基本を学びます。 完成イメージは以下の通りです(画像は省略)。 1. プロジェクトテンプレートの作成 「Avalonia .NET Core MVVM App」テンプレートを使用してプロジェクトを作成します。 テンプレートが生成するフォルダとファイ ...

6月29日 19:38 投稿