CATEGORY

実装技術

Visual Studio 2022のメモリ使用量診断ツールの使い方

はじめに Visual Studio 2022にはアプリケーションの問題を診断するためのプロファイリングツールが付属しています。ここでは、プロファイリングツールに含まれるメモリ使用量を調査するためのツールを紹介します。 使用環境は次の通りです。 OS Windows 10(64ビット) IDE Microsoft Visual Studio Community 2022(17.6.0) 言語 C# […]

Excel VBAでJSONを自動生成(フラット定義版)

はじめに シートに定義したフィールド名・型や値に基づいてJSONを生成するExcel VBAマクロを紹介します。 フィールド名は、”field1:field1-1:field1-1-1″等のように単一値でフラットに定義する想定です。(階層の区切り文字は既定で”:”としています。) 動作確認した環境は次の通りです。 OS Windows 10(64ビッ […]

ExcelをCSV, SQL文, JSONに簡単変換(VBA)

はじめに 業務作業の中で、リストやCSV、Excelのデータを要件に基づいて大量に変換したい場合があります。ここでは、可能な限り簡単にデータの変換を行うためのExcel VBAのサンプルを紹介します。 ここで紹介するサンプルは、ちょっとした業務作業の効率化のために簡単に変更して使えることを目標にしており、可能な限り短く分かりやすいコードにしています。業務要件で求められるようなエラーハンドリング等の […]

C#でのUTF-8 BOMの処理仕様

UTF8/UTF-16/UTF-32等のUnicode系の符号化でBOMを使用することができますが、ここでは主にUTF-8を前提としたBOM処理について説明します。 ダイジェスト UTF-8ファイル(BOMあり/なし)に対して正常に処理できるクラス・メソッドの例を次に示します。 処理 処理対象のUTF-8ファイル BOMなし BOMあり ファイル読取り File.ReadAllText()Stre […]

テスト用のSQL(INSERT文)を自動生成する方法

概要 DB情報に基づいて自動的にダミーのSQLインサート文を生成するスクリプトです。 単体テストなどで、とりあえずDBに登録出来るインサート文を作るのが主要な目的です。 テーブルを操作するアプリをテストする場合、テストデータとして事前にレコードの登録が必要になる場合があります。 業務システムのテーブルはカラム数が数十になることもあり、カラムの毎にnull許容・非許容や型に応じて値を指定するのは大変 […]

C#: パスワードハッシュ生成サンプル(PBKDF2)

概要 鍵導出関数であるPBKDF2を使って、「パスワードからAES-256等で使用可能なキー(256ビット)」(パスワードハッシュとしても使用可)を生成するサンプルを紹介します。 完全なサンプルコードはgithubで公開しています。 次の実行環境を使用しています。 OS Windows 10(64ビット) IDE Microsoft Visual Studio Community 2022(17. […]

C#: AES-256を使った暗号化・復号化サンプル

概要 次の実行環境を使用しています。 OS Windows 10(64ビット) IDE Microsoft Visual Studio Community 2022(17.1.3) 言語 C#(10.0) + .NET6 次のリファレンスを参考にしています。 .NET 暗号化モデル | Microsoft Docs 暗号化と復号化のためのキーの生成 | Microsoft Docs データの暗号化 […]

C#: Azure KeyVaultシークレットの操作サンプル(一覧取得・作成・更新・削除・ 履歴取得)

C#でAzure KeyVaultのシークレットを操作するサンプルを紹介します。 概要 Azure KeyVaultで、シークレット、キー、証明書の管理が可能ですが、ここではシークレットの一覧取得・作成・更新・削除・履歴取得のサンプルを紹介します。 次の環境で動作確認しています。 OS Windows 10(64ビット) IDE Microsoft Visual Studio Community […]

Visual Studio 2022とIIS構成ファイル(applicationhost.config)

Windows環境で、クライアント証明書を使った認証を行うASP.NETアプリを開発するために、IIS設定ファイルであるapplicationhost.configを変更しようと考えました。 事象 Visual Studio 2022で、ASP.NETアプリをデバッグ実行してもIIS設定ファイル(applicationhost.config)が生成されない。 Visual Studio 2019( […]

C#: EventWaitHandle概要とAutoResetEvent, ManualResetEventの使い方

はじめに 次の環境を使用して動作確認しています。 OS Windows 10(64ビット) IDE Microsoft Visual Studio Community 2022(17.1.3) + C#(10.0) 参考 こちらのスレッド間の同期を参考にしています。 リファレンスだと「シグナル」という言葉がでてきますが、スレッドに「通知する」という意味の用語(プロセス・スレッド関連の用語)です。「 […]