yotiky Tech Blog

とあるエンジニアの備忘録

2021-01-01から1年間の記事一覧

Unity - 設計・実装のコツ

アーキテクチャや設計パターンを始める前に。 リーダビリティを確保して保守性を高める。 想定読者 元スライド スライド一覧 おまけ ReactivePorperty AsyncLazy 補足 SerializeField でどこまで参照関係を明確にするか アプリの機能をどこで実装するか エン…

Win + Shift + S を使ったキャプチャのファイルの保存場所

以前記事を書いたが、いつの間にかファイルの保存場所が変わっていたので再調査。 yotiky.hatenablog.com 現在の保存先は以下の通り。 C:\Users\{UserName}\AppData\Local\Packages\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\TempState\ScreenClip コピー…

Azure SendGrid のアカウント

目次 目次 Username と Password ログイン Azure Portal から sendgrid.com から パスワードのリセット パスワードの変更 Billing と Products アカウントの削除? Username と Password Azure から SendGrid のアカウントを作成すると、Username は自動採番…

ASP.NET Core と Azure App Service のアップロードのサイズ制限

目次 目次 検証環境 ASP.NET Core App Service ホスト リクエスト本文のサイズ制限 IIS Kestrel マルチパート本文のサイズ制限 おまけ (Azure Functions) 参考 検証環境 APS.NET Core 5.0 Web アプリ(MVC) Azure App Service ASP.NET Core APS.NET Core で…

C# - Path を操作する

目次 目次 検証環境 Path を操作する エスケープと逐語的文字列リテラル セパレーター ディレクトリとファイル 連結と結合 使用できない文字 ファイル名の自動生成 絶対パスと相対パス Path クラス Uri クラス Uri クラス 絶対パス 相対パスを使って対象の絶…

Application Insights に出力された例外を検知する

目次 目次 検証環境 概要 設定 通知 参考 検証環境 Azure Functions v3 Application Insights 概要 Azure Monitor はクラウドおよびオンプレミス環境のアプリケーションとサービスのテレメトリを収集、分析し、問題に対応するための包括的なソリューションで…

Azure Functions で FunctionExceptionFilter を使って例外を処理する

目次 目次 検証環境 概要 実装 FunctionExceptionFilter IFunctionExceptionFilter FunctionExceptionFilterAttribute FunctionInvocationFilter IFunctionInvocationFilter FunctionInvocationFilterAttribute 実行結果 参考 検証環境 Azure Functions v3 …

Azure SendGrid を使ってメールを送信する

目次 目次 アカウントの作成 SendGrid のセットアップ API Key の作成 実装 参考 アカウントの作成 無料枠を使いたい場合は、SendGridのサイトからアカウントを作成する必要がある。 2021年1月時点*1で、Azure Marketplace から作ろうとした場合に無料プラン…

SendGrid を使ってメールを送信する (Not Azure)

目次 目次 アカウントの作成 SendGrid のセットアップ API Key の作成 実装 参考 アカウントの作成 無料枠を使いたい場合は、SendGridのサイトからアカウントを作成する必要がある。 2021年1月時点*1で、Azure Marketplace から作ろうとした場合に無料プラン…

C# - ZIP を操作する

目次 目次 検証環境 ZIP を操作する 圧縮する 展開する ZIP 内のファイルを列挙する 一部だけ展開する ファイルを削除する ファイルを追加する 展開せずにテキストファイルの内容を取得する サンプルコード全文 ZipArchive 参考 検証環境 .NET Core 3.1 LINQ…

.NET Core で Shift-JIS エンコードを扱う

目次 目次 検証環境 実装 補足 Encoding.Default UTF-8 参考 検証環境 .NET Core 3.1 System.Text.Encoding.CodePages 5.0.0 実装 NuGet で System.Text.Encoding.CodePages をインストールする。 Encoding.RegisterProvider(CodePagesEncodingProvider.Inst…

Azure Functions で アップロードした ZIP ファイルの中身を列挙する

目次 目次 検証環境 実装 エンコード 参考 検証環境 Azure Functions v3 実装 using System.IO.Compression; foreach (var file in form.Files) { using (var stream = file.OpenReadStream()) using (var zip = new ZipArchive(stream, ZipArchiveMode.Read…

Azure Functions INDEX

Visual Studio で Azure Functions に HttpTrigger のAPIを作成する Visual Studio で Azure Functions に QueueTrigger のAPIを作成する Azure Functions を Visual Studio で発行する際に発生したエラーの解決方法 HttpRequest のQueryとBodyから値を取得…

Azure Functions 備忘録

目次 目次 AuthorizationLevel リクエストのサイズ制限 AuthorizationLevel 値 説明 Anonymous API キーは必要ありません。 User *EasyAuth で使われる予定らしいが未だサポートされていないらしい Function 関数固有の API キーが必要です。 何も指定されな…

Azure Functions で 複数ファイルをアップロードする

目次 目次 検証環境 サーバーサイド クライアントサイド webkitdirectory 属性 Postman 検証環境 Azure Functions v3 Postman Chrome Edge (Chromium) サーバーサイド クライアントからは、multipart/form-data 形式で POST してもらう想定。 [FunctionName(…

Azure Functions で Swagger UI

NSwag は NSwag.SwaggerGeneration.AzureFunctionsV2 が更新されておらず、V3ではエラーが出て動かなかったため、Swashbuckle を使用する。 目次 目次 検証環境 実装 参考 検証環境 Azure Functions v3 AzureExtensions.Swashbuckle v3.2.2 古いライブラリに…

Azure API Management

API Management (APIM) は、既存のバックエンドのサービスに対して一貫性のある最新の API ゲートウェイを迅速に作成する手段です。 API Management が組織にもたらす利点は、外部のパートナーや社内の開発者に API を公開することによって、社内に眠ってい…

Azure Functions で Azure Cosmos DB (Table) を操作する

目次 目次 検証環境 実装 テーブル作成 挿入 取得 削除 補足 参考 関連記事 検証環境 Azure Functions v3 Microsoft.Azure.Cosmos.Table v1.0.8 古いライブラリに注意 WindowsAzure.Storage は非推奨 Microsoft.Azure.CosmosDB.Table はまもなく非推奨 実装 …

Azure Functions で Azure Queue Storage を操作する

目次 目次 検証環境 実装 キューの作成 メッセージの追加 メッセージの表示 メッセージの更新 メッセージの受信 メッセージの削除 キューの削除 その他 メッセージのエンコード 関連記事 検証環境 Azure Functions v3 Azure.Storage.Queues v12.6.0 実装 NuG…

Azure Functions で Azure Table Storage を操作する

目次 目次 検証環境 実装 挿入 取得 削除 参考 関連記事 検証環境 Azure Functions v3 Microsoft.Azure.Cosmos.Table v1.0.8 古いライブラリに注意 WindowsAzure.Storage は非推奨 Microsoft.Azure.CosmosDB.Table はまもなく非推奨 実装 NuGet でライブラリ…

Azure Functions で Azure Blob Storage にファイルを保存する

目次 目次 検証環境 実装 関連記事 検証環境 Azure Functions v3 Azure.Storage.Blobs v12.8.0 実装 Azure Functions のプロジェクトに NuGet で「Azure.Storage.Blobs」をインストールする。 using Azure.Storage.Blobs; using Azure.Storage.Blobs.Models;…

Azure Functions で Shared Access Signatures (SAS) を発行する

目次 目次 検証環境 概要 実装 コンテナの SAS トークン Blob の SAS トークン 参考 関連記事 検証環境 Azure Functions v3 Azure Storage Blobs v12.8.0 概要 Shared Access Signatures (SAS) は、リソースへのアクセス権に制限を付けてトークンを生成し、S…

Unity - Addressable Assets System

目次 目次 検証環境 概要 インストール アセットを読み込む AssetDatabase を使って UnityEditor で読み込む Play Mode Script AssetBundle をローカルから読み込む AssetBundle をリモート(ローカルサーバー)から読み込む AssetBundle をリモート(Azure …

MRTK v2 - チートシート

目次 目次 検証環境 機能 Profiles Spatial Awareness ハンドメッシュを表示する Mixed Reality Capture (MRC) でハンドメッシュがズレる RiggedHandVisualizer (Experimental) Object Manipulator Bounds Control Constraint Manager Interactable (TODO) B…

Azure Managed ID を利用する

目次 目次 概要 Azure Functions にアクセスを割り当てる場合 関連記事 参考 概要 Managed ID は、 Azure Active Directory (Azure AD) で提供されるリソースに割り当てられた ID 。 Managed ID を有効にすることで Azure AD による管理と資格情報を使わない…

Azure Functions で Azure App Configuration から設定を読み込む

Azure App Configuration は複数のアプリケーションで、アプリケーション設定と機能フラグを一元に管理し共有するサービス。 目次 目次 App Configuration を設定する App Configuration ストアに接続する 接続文字列 実装 エンドポイント Azure Functions …

Azure Functions で Startup クラスを定義して DI を利用する

Azure Functions は、v2 で DI を正式にサポート。 Startup クラスを(自分で)定義し、 DI を設定することで Azure Functions にインジェクションすることができるようになる。 目次 目次 検証環境 インストール 使い方 基本的な使い方 環境変数を設定する …

Azure Functions で Azure Key Valut から設定を読み込む

Azure Key Valut は、トークン、パスワード、証明書、API キー、接続文字列、その他のシークレットを安全に格納し、それらへのアクセスを厳密に制御できるサービス。(参考) 目次 目次 Azure Functions に Managed Id を設定 Azure Key Vault を設定 アプリ…

Azure Functions で Azure Storage への接続情報

目次 目次 検証環境 直書き 設定情報から取得 設定 実装 参考 関連記事 検証環境 Azure Functions v3 Azure Blob Storage Azure.Storage.Blobs v12.8.0 (ライブラリ) 直書き サンプルコード向けなら直書き。 var blobServiceClient = new BlobServiceClient(…

GPL v2 / LGPL v2.1 のデュアルライセンスについて

これは、GPLv2 もしくは LGPLv2.1 のデュアルライセンス についての覚書です。 ライセンスについては素人なので間違っている可能性があります。 GPLv2 もしくは LGPLv2.1 のデュアルライセンスは、利用者がどちらかを選択できる *1 コピーレフト GPLはOSS自…