備忘録

備忘録

C#

C#でlibvipsを利用して画像を変換する方法

Ⅰ. はじめに タイトルの通り「C#でlibvipsを利用して画像を変換する方法」です。 Ⅱ. 手順 1. 必要なパッケージをインストールする dotnet add package NetVips --version 2.4.1 dotnet add package NetVips.Native.win-x64 --version 8.15.22. サンプルプロ…

ASP.NET Coreでレスポンスを圧縮する方法

Ⅰ. はじめに タイトルの通り「ASP.NET Coreでレスポンスを圧縮する方法」です。 Ⅱ. 手順 1. サンプルプログラムを書く Program.cs using Microsoft.AspNetCore.ResponseCompression; using System.IO.Compression; var builder = WebApplication.CreateBuild…

C#のシリアライズ、デシリアライズ方法まとめ

C#

Ⅰ. はじめに Ⅱ. まとめ Newtonsoft.Json System.Text.Json System.Text.Json (UTF-8 Bytes) MessagePack MemoryPack 参考 Ⅰ. はじめに タイトルの通り「C#のシリアライズ、デシリアライズ方法まとめ」です。例として以下クラスを利用します public class Us…

C#でMySQLのジオメトリ記憶形式を読み取る方法

Ⅰ. はじめに タイトルの通り「C#でMySQLのジオメトリ記憶形式を読み取る方法」です。本記事では便宜上「ジオメトリ記憶形式」という単語を利用しますが正しい単語ではありません。 英語では「Internal Geometry Storage Format」と書かれています。 Ⅱ. 手順 …

SerilogでSeqを利用する方法

Ⅰ. はじめに タイトルの通り「SerilogでSeqを利用する方法」です。 Ⅱ. サンプルプログラム Program.cs // dotnet add package Serilog // dotnet add package Serilog.Sinks.Console // dotnet add package Serilog.Sinks.Seq using Serilog; Log.Logger = n…

ASP.NET で CORSを有効にする方法

Ⅰ. はじめに タイトルの通り「ASP.NET で CORSを有効にする方法」です。 Ⅱ. サンプルプログラム Program.cs var builder = WebApplication.CreateBuilder(args); builder.Services.AddCors(x => { x.AddDefaultPolicy(policy => { policy.AllowAnyHeader(); …

ASP.NET 7 以降でAPI呼出回数制限を実装する方法

Ⅰ. はじめに タイトルの通り「ASP.NET 7 以降でAPI呼出回数制限を実装する方法」です。 Ⅱ. 手順 1. サンプルプログラムを書く Program.cs using Microsoft.AspNetCore.RateLimiting; using System.Threading.RateLimiting; var builder = WebApplication.Cre…

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

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

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

C#

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

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 // HttpClientHandler 設定に必要 // dotnet add package AngleSharp.Io 2. サンプルプログラムを書く using Angl…

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 -…