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 投稿