備忘録

備忘録

C#

ASP.NETでJWTを利用して認証認可する方法

Ⅰ. はじめに タイトルの通り「ASP.NETでJWTを利用して認証認可する方法」です。 Ⅱ. 環境 .NET 7 Ⅲ. 手順 1. 必要なパッケージをインストールする dotnet add package Microsoft.AspNetCore.Authentication.JwtBearer --version 7.0.10 2. 新規Web APIプロジ…

.NETでランダムに抽出、ランダムに並び替えする方法

C#

Ⅰ. はじめに タイトルの通り「.NETでランダムに抽出、ランダムに並び替えする方法」です。 Ⅱ. 環境 .NET 8以上 Ⅲ. サンプルプログラム var values = new uint[] { 1, 2, 3, 4 }; // ランダムに3個抽出する。重複有。 var randomValues = Random.Shared.GetIt…

C#でワンタイムパスワードを生成する方法

C#

Ⅰ. はじめに タイトルの通り「C#でワンタイムパスワードを生成する方法」です。 Ⅱ. サンプルプログラム // dotnet add package Otp.NET --version 1.3.0 var totp = new Totp(Base32Encoding.ToBytes("JDDK4U6G3BJLEZ7Y")); Console.WriteLine(totp.ComputeT…

C#でTwitchAPIを利用してチャンネルを検索する方法

C#

Ⅰ. はじめに タイトルの通り「C#でTwitchAPIを利用してチャンネルを検索する方法」です。 Ⅱ. 手順 1. 以下URLにアクセスして新規アプリケーションを作成する https://dev.twitch.tv/console/apps/create 2. (1)で作成したアプリケーションのClientID, Client…

Push APIを利用してPush通知をする方法

Ⅰ. はじめに Ⅱ. 環境 Ⅲ. 手順 1. VAPIDを生成する 2. クライアント側サンプルプログラムを書く 3. Push通知を送信する為のサンプルプログラムを書く 実行結果 FAQ Q1. 通知されない Q2. C#でVAPIDを生成したい 参考 Ⅰ. はじめに タイトルの通り「Push APIを…

Playwright(C#)でファイルをアップロードする方法

Ⅰ. はじめに タイトルの通り「Playwright(C#)でファイルをアップロードする方法」です。 Ⅱ. 手順 1. Webサーバー側サンプルプログラムを書く # pip install flask==2.2.3 from flask import Flask, request, Response app = Flask(__name__) @app.route('/',…

ASP.NETでnullが明示的に指定されたかを取得する方法

Ⅰ. はじめに タイトルの通り「ASP.NETでnullが明示的に指定されたかを取得する方法」です。 Ⅱ. 前提条件 .NET 7.0以上 Ⅲ. 手順 1. プログラムを書く OptionalConverter.cs // https://stackoverflow.com/questions/71024060 using System.Reflection; using …

C#でセレクターを利用する方法

C#

Ⅰ. はじめに タイトルの通り「C#でセレクタを利用する方法」です。 Ⅱ. 手順 1. AngleSharpをインストールする dotnet add package AngleSharp --version 0.17.1 2. サンプルプログラムを書く using AngleSharp; var config = Configuration.Default .WithDef…

C#でCloudflare R2を利用する方法

C#

Ⅰ. はじめに Ⅱ. 手順 1. Cloudflare R2のWebページでバケットを新規作成する 2. 必要なパッケージをインストールする 3. サンプルプログラムを書く(ファイルアップロード) 実行結果 参考 Ⅰ. はじめに タイトルの通り「C#でCloudflare R2を利用する方法」で…

C#でマウスとキーボードを操作する方法

Ⅰ. はじめに タイトルの通り「C#でマウスとキーボードを操作する方法」です。 Ⅱ. 手順 1. 必要なパッケージをインストールする dotnet add package InputSimulatorPlus --version 1.0.7 2. サンプルプログラムを書く using WindowsInput; using WindowsInput…

.NET 6 Minimal APIでSwaggerのsummaryとdescriptionを設定する方法

C#

Ⅰ. はじめに タイトルの通り「.NET 6 Minimal APIでSwaggerのsummaryとdescriptionを設定する方法」です。 Ⅱ. 手順 1. 必要なパッケージをインストールする dotnet add package Swashbuckle.AspNetCore.Annotations 2. サンプルプログラムを書く Program.cs …

C#でMailKitを利用してSMTPでメールを送信する方法

C#

Ⅰ. はじめに Ⅱ. 手順 1. 必要なパッケージをインストールする 2. サンプルプログラムを書く 実行結果 FAQ Q. Linuxで以下メッセージが表示されてメールが送信できません 参考 Ⅰ. はじめに タイトルの通り「C#でMailKitを利用してSMTPでメールを送信する方法…

C#で動画の任意タイミングのサムネイル(画像)を生成する方法

C#

Ⅰ. はじめに タイトルの通り「C#で動画の任意タイミングのサムネイル(画像)を生成する方法」です。 前提条件 システムにffmpegのパスを設定する Ⅱ. 手順 1. 必要なパッケージをインストールする Install-Package Xabe.FFmpeg 2. サンプルプログラムを書く …

C#でLZ4を利用して圧縮展開する方法

C#

Ⅰ. はじめに タイトルの通り「C#でLZ4を利用して圧縮展開する方法」です。 Ⅱ. 手順 1. 必要なパッケージをNuGetからインストールする dotnet add package K4os.Compression.LZ4 --version 1.3.5 2. サンプルプログラムを書く Program.cs using K4os.Compress…

.NET に関する記事まとめ

.NET 6 20 New APIs in .NET 6 .NET 6 Minimal API Migration to ASP.NET Core in .NET 6 .NET 6でHTTP/3を有効にする方法 // https://docs.microsoft.com/ja-jp/aspnet/core/fundamentals/minimal-apis?view=aspnetcore-6.0 var builder = WebApplication.C…

C#でJavaScriptを実行する方法

C#

Ⅰ. はじめに タイトルの通り「C#でJavaScriptを実行する方法」です。 Ⅱ. 手順 1. 必要なパッケージをインストールする Install-Package Microsoft.ClearScript 2. サンプルプログラムを書く using Microsoft.ClearScript.V8; using var engine = new V8Scrip…

漢字をひらがな、漢字をカタカナに変換する方法

C#

Ⅰ. はじめに タイトルの通り「漢字をひらがな、漢字をカタカナに変換する方法」です。 Ⅱ. やり方 1. 必要なパッケージをインストールする MeCab dotnet add package MeCab.DotNet --version 0.0.40 Kanaxs.cs https://archive.md/YyDNR 2. サンプルプログラ…

C#で共有メモリを利用する方法

C#

Ⅰ. はじめに タイトルの通り「C#で共有メモリを利用する方法」です。以下記事の方法でC++でも同じメモリ空間を利用できます。 https://kagasu.hatenablog.com/entry/2017/05/03/003922 Ⅱ. やり方 1. サンプルプログラムを書く using System.IO.MemoryMappedF…

C#で文字列の類似度を求める方法

C#

Ⅰ. はじめに タイトルの通り「C#で文字列の類似度を求める方法」です。 Ⅱ. やり方 1. 必要なパッケージをNuGetからインストールする dotnet add package Fastenshtein --version 1.0.0.8 2. サンプルプログラムを書く using Fastenshtein; static double Get…

C#で文字列のレーベンシュタイン距離求める方法

C#

Ⅰ. はじめに タイトルの通り「C#で文字列のレーベンシュタイン距離を求める方法」です。 Ⅱ. やり方 1. 必要なパッケージをNuGetからインストールする Install-Package Fastenshtein 2. サンプルプログラムを書く var levenshteinDistance = Fastenshtein.Lev…

C#でWindows 10のOCRを利用する方法

Ⅰ. はじめに タイトルの通り「C#でWindows 10のOCRを利用する方法」です。 Ⅱ. 環境 Windows 10 20H2 .NET 5.0 Ⅱ. やり方 1. csprojを編集してTargetFrameworkを変更する <TargetFramework>net5.0-windows10.0.18362.0</TargetFramework> 2. サンプルプログラムを書く 123.png Program.cs using S…

C#でTesseractを利用する方法

C#

Ⅰ. はじめに タイトルの通り「C#でTesseractを利用する方法」です。 Ⅱ. やり方 1. 必要なパッケージをNuGetからインストールする dotnet add package Tesseract --version 5.2.0 2. 学習済みデータを任意のディレクトリに保存する 例. C:\Tesseract\eng_fast…

C#で非同期かつ優先度考慮可能なQueueを利用する方法

C#

Ⅰ. はじめに タイトルの通り「C#で非同期かつ優先度考慮可能なQueueを利用する方法」です。 非同期ではないPriorityQueueは.NET6で実装されました Ⅱ. やり方 1. 必要なパッケージをNuGetからインストールする dotnet add package ConcurrentDataStructures -…

C#でWin32APIを呼び出す方法(CsWin32利用)

C#

Ⅰ. はじめに タイトルの通り「C#でWin32APIを呼び出す方法」です。この記事ではMicrosoftが作成しているCsWin32を利用する方法を紹介します。 Ⅱ. 必須環境 .NET 5 以上 C# 9 以上 Visual Studio 16.8 以上 Ⅲ. やり方 1. 必要なパッケージをインストールする …

HttpClientFactoryとPollyをコンソールアプリケーションで使用する方法

C#

Ⅱ. やり方 1. 必要なパッケージをインストールする Install-Package Microsoft.Extensions.Http.Polly 2. サンプルプログラムを書く using Microsoft.Extensions.DependencyInjection; using Polly; using Polly.Extensions.Http; using Polly.Timeout; usin…

C#で正規表現を利用してランダム文字列を生成する方法

C#

Ⅰ. はじめに タイトルの通り「C#で正規表現を利用してランダム文字列を生成する方法」です。 Ⅱ. やり方 1. 必要なパッケージをインストールする Install-Package Fare 2. サンプルプログラムを書く using Fare; var pattern = "[a-z0-9]{6}"; var xeger = ne…

ConfigurationBuilderを利用して設定ファイルを読み込む方法

C#

Ⅰ. はじめに タイトルの通り「ConfigurationBuilderを利用して設定ファイルを読み込む方法」です。 Ⅱ. やり方 1. 必要なパッケージをインストールする Install-Package Microsoft.Extensions.Hosting Install-Package Microsoft.Extensions.Configuration 2.…

コンソールアプリケーションでGeneric Hostを利用する方法

C#

Ⅰ. はじめに タイトルの通り「コンソールアプリケーションでGeneric Hostを利用する方法」です。 Ⅱ. やり方 1. 必要なパッケージをインストールする Install-Package Microsoft.Extensions.Hosting 2. サンプルプログラムを書く using System; using Microso…

C#でシングルトンパターンを実装する方法

C#

Ⅰ. はじめに タイトルの通り「C#でシングルトンパターンを実装する方法」です。 GoFによるデザインパターンのシングルトンパターン(Singleton Pattern)です。 Ⅱ. サンプルプログラム Config.cs public class Config { public static Config Instance { get; …

ホストを利用したアプリケーション終了時に任意の処理を実行する方法

Ⅰ. はじめに タイトルの通り「ホストを利用したアプリケーション終了時に任意の処理を実行する方法」です。 Ⅱ. やり方 プログラムを修正する Program.cs public static void Main(string[] args) { var host = CreateHostBuilder(args).Build(); var lifetim…