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

IdentityServer4 の概要と実装ガイド

IdentityServer4 の機能とアーキテクチャ IdentityServer4 は ASP.NET Core 向けのオープンソース認証・認可フレームワークで、OpenID Connect と OAuth 2.0 プロトコルをサポートします。主な機能は以下の通りです: 統合認証サービス:Web/Mobile/API クライアント向けの集中管理型認証 シングルサインオン(SSO):複数アプリケーション間の統一ログイン API セキュリ ...

6月26日 23:52 投稿

Anno.Core フレームワークの実践的活用ガイド

フレームワーク概要 Anno.Core は .NET Core に基づくマイクロサービス開発フレームワークで、gRPC および Thrift を通信プロトコルとして利用可能です。サービスディスカバリ、トレーシング、Cron スケジューリング、リクエスト制限、イベントバス、CQRS、DDD を標準機能として搭載し、プラグインアーキテクチャで拡張性を実現しています。開発プロセスを簡素化し、高パ ...

6月17日 21:20 投稿