備忘録

備忘録

C#

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

C#

Ⅰ. はじめに タイトルの通り「C#で文字列の類似度を求める方法」です。 Ⅱ. やり方 1. 必要なパッケージをNuGetからインストールする Install-Package Fastenshtein 2. サンプルプログラムを書く static double GetStringDiffRate(string str1, string str2) …

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からインストールする Install-Package Tesseract -Version 4.1.1 2. 学習済みデータを任意のディレクトリに保存する 例. C:\Tesseract\eng_fast.tra…

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

C#

Ⅰ. はじめに タイトルの通り「C#で非同期かつ優先度考慮可能なQueueを利用する方法」です。 Ⅱ. やり方 1. 必要なパッケージをNuGetからインストールする Install-Package ConcurrentDataStructures 2. サンプルプログラムを書く ※簡単の為非同期らしい動きは…

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. サンプルプログラムを書く var pattern = "[a-z0-9]{6}"; var xeger = new Xeger(patt…

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…

C# + AWS Lambda + API Gateway

注意 この記事の内容は2017年3月10日時点の物です。 内容が古くなっている場合があります。 Ⅰ. はじめに タイトルの通りですが、 AWS LambdaでC#を動かし、エンドポイントにAmazon API Gatewayを使う方法です。 Ⅱ. ゴール 身長と体重を受け取り、BMIと理想体…

C# Rfc2898DeriveBytesでSHA1以外を利用して任意のバイト配列を取得する方法

C#

Ⅰ. はじめに Rfc2898DeriveBytes のデフォルトは HMACSHA1(HashAlgorithmName.SHA1)です。任意のハッシュアルゴリズムとして以下が指定可能です。 HashAlgorithmName.MD5 HashAlgorithmName.SHA1 HashAlgorithmName.SHA256 HashAlgorithmName.SHA384 HashAlg…

C#でxxHashを計算する方法

C#

Ⅰ. はじめに タイトルの通り「C#でxxHashを計算する方法」です。 Ⅱ. やり方 1. 必要なパッケージをインストールする Install-Package System.Data.HashFunction.xxHash 2. プログラムを書く // using System.Data.HashFunction; // using System.Data.HashFu…

ASP.NETでBASIC認証を実装する方法

Ⅰ. はじめに タイトルの通り「ASP.NETでBASIC認証する方法」です。 Ⅱ. やり方 1. 必要なパッケージをインストールする Install-Package idunno.Authentication.Basic 2. プログラムを書く Startup.cs public void ConfigureServices(IServiceCollection serv…

C#でWebSocketサーバを建てる方法

Ⅰ. はじめに タイトルの通り「C#でWebSocketサーバを建てる方法」です。 Ⅱ. やり方 1. 必要なパッケージをNuGetからインストールする Install-Package Fleck 2. サンプルプログラムを書く using Fleck; using System; using System.Net.WebSockets; using Sy…

C#でドメインからTLDを取得する方法

C#

Ⅰ. はじめに タイトルの通り「C#でドメインからTLDを取得する方法」です。 Ⅱ. やり方 1. 必要なパッケージをNuGetからインストールする Install-Package Nager.PublicSuffix 2. サンプルプログラムを書く var domainParser = new DomainParser(new WebTldRul…

C# で CA1063 が出ないように IDisposable を実装する方法

C#

Ⅰ. はじめに タイトルの通り「C# で CA1063 が出ないように IDisposable を実装する方法」です。 Ⅱ. サンプルプログラム public class MyClass : IDisposable { #region Dispose public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } prote…

C# で Blowfish で暗号化、複合する方法

C#

Ⅰ. はじめに タイトルの通り「C# で Blowfish で暗号化、複合する方法」です。 Ⅱ. やり方 1. 必要なパッケージをNuGetからインストールする Install-Package Portable.BouncyCastle 2. サンプルプログラムを書く using Org.BouncyCastle.Crypto.Engines; usi…

C#でFCMを利用してPUSH通知を送信する方法

Ⅰ. はじめに タイトルの通り「C#でFCMを利用してPUSH通知を送信する方法」です。 ※FCM = Firebase Cloud Messaging Ⅱ. やり方 1. 必要なパッケージをNuGetからインストールする Install-Package FirebaseAdmin 2. Firebase サービスアカウントの秘密鍵(serv…

C#でDLLをInjectする方法

Ⅰ. はじめに タイトルの通り「C#でDLLをInjectする方法」です。2019/05/12時点で以下3つのインジェクト方法に対応してます。 CreateRemoteThread ManualMap ThreadHijack Ⅱ. やり方 1. NuGetから Bleak をインストールする Install-Package Bleak 2. サンプ…

C#でActiveMQを利用する方法

Ⅰ. はじめに タイトルの通り「C#でActiveMQを利用する方法」です。※CentOSにActiveMQをインストールする方法 https://kagasu.hatenablog.com/entry/2019/04/08/195932 Ⅱ. やり方 1. NuGet からライブラリをインストールする Install-Package Apache.NMS.Acti…

C#でPowerPoint(ppt, pptx)ファイルから文字列を抽出する方法

C#

Ⅰ. はじめに タイトルの通り「C#でPowerPoint(ppt, pptx)ファイルから文字列を抽出する方法」です。 Ⅱ. やり方 1. サンプルファイルを用意する http://www.mediafire.com/file/b66k4kxskc2agl1/sample.pptx/file 2. 参照を追加する 画像の2つのCOM参照を追加…

.NET CoreコンソールアプリケーションをDockerで動かす方法

Ⅰ. はじめに タイトルの通り「.NET CoreコンソールアプリケーションをDockerで動かす方法」です。 Ⅱ. 環境 Docker 18.09.1 .NET Core 2.2 Ⅱ. やり方 1. 適当なコンソールアプリケーションを作成する Program.cs static void Main(string[] args) { Console.W…

C#スクリプトを実行する方法

C#

Ⅰ. はじめに Ⅱ. 必要なもの Ⅲ. やり方 1. dotnet-script をインストールする 2. サンプルプログラムを書く 3. 実行する 実行結果 その他 URLから実行する REPL Scaffolding IPアドレスを表示するサンプルプログラム 参考 Ⅰ. はじめに タイトルの通り「C#スク…

C#でコマンドライン引数を扱う方法

C#

Ⅰ. はじめに Ⅱ. CommandLineParserを利用する方法 1. NuGetから CommandLineParser をインストールする 2. サンプルプログラムを書く 3. 実行結果 Ⅲ. System.CommandLine.DragonFruit を使う方法 1. パッケージソースを追加する 2. System.CommandLine.Drago…

C#でcronの書き方でスケジュール実行する方法

C#

Ⅰ. はじめに cronは以下の書き方でスケジュール実行できます。 この記事ではC#でも以下の書き方でcronのようにスケジュール実行する方法(ライブラリ)を紹介します。 # 1分ごと * * * * * command # 1時間ごと 0 * * * * command Ⅱ. やり方 1. CronSTD をイ…

HerokuでASP.NET Coreを動かす方法

Ⅰ. はじめに Ⅱ. 必要なもの Ⅲ. やり方(Windows) 1. VisualStudio で ASP.NET Core Web アプリケーションを作成する 2. Dockerfile を追加する 3. 実行ファイルを生成する 4. Heroku でアプリを作成する 5. Heroku にデプロイする 6. 実行結果 Ⅲ. やり方(L…

C#でTitanium-Web-Proxyを利用してProxyサーバを構築する方法

C#

Ⅰ. はじめに タイトルの通り「C#でTitanium-Web-Proxyを利用してProxyサーバを構築する方法」です。 Titanium-Web-Proxyはクロスプラットフォーム対応しています。 Websocketには対応しておらずデータをリレーするだけです。WebSocketのプロキシサーバが必要…