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