BEACHSIDE BLOG

Azure とか C# 好きなエンジニアの個人メモ ( ・ㅂ・)و ̑̑

Jupyter Notebook で C# や PowerShell を実行する

.NET Interactive で C# が Jupyter Notebook 上で動くのは結構前からありましたが、PowerShell も使えるようになったらしいので試してみました。 (ちなみに普段 PowerShell は滅多に使いまてん...) 準備 conda update .NET Core 3.1 SDK のインストール d…

Slack 通知用の Azure Functions の Custom Bindings を作る (2)

前回 Slack 側の準備と送信したいメッセージの json フォーマットを作りました。 blog.beachside.dev 今回は本題の Azure Functions の Custom Bindings を実装します。 作った順にコードを解説していきますが、コード全部は下の方にリンク張ってます。 Azur…

System.Text.Json で Json を操作するときに気になったポイント( C#, .NET Core 3 ~)

.NET Core 3系以降、遂に Json のシリアライザーとして Sytem.Text.Json が生まれました。 長らくお世話になった Json.NET - Newtonsoft とのお別れです。 多少お作法が異なるので、個人的に気になった点を整理してみました。 TL;DR 基本的な使い方 準備 シ…

Chrome 起動時に「 デフォルトのブラウザとして設定されていません 」を表示させない

最近 Microsoft の Chromium 版の Edge をデフォルトのブラウザーに設定したんですが、そうすると Google Chrome 起動時に「 デフォルトのブラウザとして設定されていません 」とメッセージがでてうざいです。 余談ですが、 Edge のDev Channel は出たときか…

Slack 通知用の Azure Functions の Custom Bindings を作る (1)

自分のアプリから Slack への通知を、Azure Functions の Custom Bindings を使って作ります。 Slack の Incoming Webhook を使うことで簡単に Slack へ送信できるため、Logic Apps ...いやそれより Functions で HTTP Request 投げた方が早いですが、時間を…

Oculus Quest 初期トラブル(コントローラーが認識しない)の解決 Tips

前回、購入から設定の話をしましたが、今回は私が実際に遭遇したコントローラーが認識しない問題の解決方法をメモしておきます。 TL;DR 初期のトラブル その1: 初期アップデート後、Touch Controller が認識しない その2: Touch Controller を強く振るとコン…

Oculus Quest の 初期設定 • 基本操作 とゲームの所感

Oculus Quest の購入から初期設定と最初に知っておきたい基本操作についてメモしておきます。 購入 事前に買っておいた方がよいもの 光漏れのためにマスクパット 充電できる電池 初期設定 基本的な操作 正面の再設定 左コントローラーのメニューボタン ゲー…

Azure Database for PostgreSQL の基礎と Data Studio を使って接続

Azure Database for PostgreSQL を作って Azure Data Studio でアクセスしてみようってお話です。 SQL Database と Cosmos DB ばかり触っているので、PostgreSQL をいじったり参考ドキュメントの整理にメモしてみました。 Azure Database for PostgreSQL (Si…

Azure アイコン 集の公式サイト ( svg )

資料作成時に利用する Azure の svg のアイコンの一覧記載のサイトってどこだっけ?ってなるのがめんどくさいのでメモしておきます。 https://azure.microsoft.com/en-us/patterns/styles/glyphs-icons/ 以前のように一括でファイルをダウンロードするじゃな…

Azure Machine Learning の Workspace アクセス時に認証エラー

Azure Machine Learning ( ml.azure.com ) では、Workspace で NotebookVM を作りそのVM上で Jupyter Notebook を起動できます。 ちなみに Azure AI Advent Calendar 初日の投稿です!まだ空きがありますよ! qiita.com 一応説明しておくと、Azure Machine L…

Web Apps の環境変数の管理の基本 ( Key Vault と User Secrets )

ASP.NET Core で Azure の Web Apps といった App Service にホストするアプリを作る際の接続族文字列の管理について整理しておきましょう。今回は SQL Database の接続文字列というソースコード管理上におきたくない情報を管理することを例にして進めます。…

Easy Auth の App Service Token Store

前回 App Service の Authentication / Authorization feature (a.k.a. Easy Auth ) のアーキテクチャーに関する Chris さんのブログの意訳をしましたが、その続編の Chris さんのブログを今回も意訳します。2016年の記事ですが、参考になります。 オリジナ…

Easy Auth のアーキテクチャ ( Azure App Service Authentication / Authorization )

App Service には、ポチポチーしただけでコードを変更することなく認証ができてしまう Easy Auth という素晴らしい機能があります。 公式ドキュメントはこちら。 docs.microsoft.com 公式ドキュメントの内容は十分に充実してますが、作ったChris Gillum さん…

Azure Storage の 冗長性 のまとめ

Azure の Storage の冗長化をする際のレプリケーションの構成や、余談で Blob のアクセス層に関して簡単にまとめます。Data Lake storage Gen2 には触れません。 冗長化の構成 冗長化のオプションのキーワード L: Local Z: Zone G: Geo RA: Read Access 冗長…

GitHub のコードを Azure Pipelines 使って Azure Artifacts へ公開 (NuGet パッケージ, Azure DevOps )

前回は NuGet パッケージの作る際の注意点と手作業での Azure Artifacts への発行をメモしましたが、 今回は Azure Pipelines で CICD します。 公式ドキュメントの左側のメニューで "classic" と記載のある古い時代の Release pipelines ではなく、Multi st…

NuGet パッケージ 作成と Azure Artifacts へ公開 ( Azure DevOps )

今回は .NET Standard のライブラリを NuGet パッケージ化して手作業で AzureDevOps の Artifacts への発行をします。次回 Azure DevOps の Pipelines を使って発行を自動化します。 また NuGet Package を作成するの備忘録として、バージョン管理とかライセ…

MS Teams 通知用の Azure Functions の Custom Bindings を作る

Azure Functions には、バインディング ( bindings ) という仕組みがあります。これを使うことでいちいち細かいコードを書かなくても設定と少量のコードで、Queue トリガーを指定したり、Cosmos DB からデータを取得したり登録したりできます。 bindings の…

Durable Functions の状態管理と起動の基本 ( Azure Functions / C# )

Durable Functions を使うと、基本的に Azure の Storage で状態が管理されますが、久ぶりに使ったときに基本的な内容が改めて全く記憶がなかったのでメモしました。 状態管理 Table Queue 起動 Durable Functions の基本構成 starter の起動 Orchestrator …

Durable Functions: Human interaction pattern ( 人による操作 pattern )

Azure Functions の拡張機能である Durable Functions にはいくつかの実装パターンがありますが、ここでは Human interaction pattern を取り上げます。 今年の1月頃に書きかけてから、書くほどのことでもないなーと放置してたブログを更新しました...あの頃…

Azure のコストが一定額に達したら Slack とか Teams に通知する

Azure ではいくつかのコスト管理と通知に関する設定があります。 制限の手段として、何らかの特典でクレジットカードを登録したけど無料の範囲でしか使わない場合は、Azure Portal ではなく、アカウントポータル: https://account.azure.com/Subscriptions/…

Azure Pipelines で Multi-stage pipelines の Yaml をテンプレート化する ( Web Apps / ASP.NET Core )

前回はシンプルに1ファイルで ASP.NET Core の Web アプリを Azure の Web Apps にデプロイする Multi-stage pipeline を作りましたが、今回は再利用できるようにテンプレートするという、自分用メモです。 それにしても、このブログ書きかけてから2週間ほっ…

Multi-stage pipelines で Azure Pipelines を構築する ( Web Apps 編 / Azure DevOps )

Azure DevOps の Azure Pipelines は、今までの作り方から新しくなり Multi-stage pipelines と呼ばれるものになりました(2019年5月の話ですが..)。 Release pipeline も Yaml できっちりかけるようになりました。以前の Builds と Releases のメニューが…

QnA Maker の Web API を Ptyhon + Azure Functions でアクセス

前回は ヨガのポーズとその説明のデータを準備しました。続編の今回は、QnA Maker を使ってヨガのポーズを質問したらポーズの特性を答えてくれる Knowledge Base (KB、質問投げたら回答してくれるFAQチャットみたいなもの) をノーコーディングで作成します。…

QnA Maker でヨガのポーズからその特徴を調べる( Python でスクレイピングしてデータ準備編 )

もし、ヨガのレクチャーを受けたとき、そのポーズがなんの効果があるか知りたいと思うだろうと妄想したので QnA Maker などを使って解決しようと思いました。 (ヨガのレクチャー受けてるときはポーズになんの効果あるかとか説明ありそうですけどね、まだ受…

Speech Service の Speech To Text で音声をコンソールに表示する ( Azure Cognitive Services )

Microsoft Inspire で HoloLends 使った翻訳デモがあったりして盛り上がりを感じたので久々に触ってみようと思いました。 今回は、話した音声を Speech to Text でテキスト化して表示するコンソールアプリを作ります。 プロジェクト作成と Nuget のインスト…

Azure DevOps と Teams でプルリクとかの通知の連携を設定する

Slack から Teams に移行しようとずーっと思って一年以上がたってしまい、会社のチームでようやく使い始めました。超今更感ですが Azure DevOps の通知を Teams で受けれるよう連携の設定をやります。 Azure DevOps の Dashboard または Kanban board の追加…

TensowFlow の学習モデルを C# で読み込む( ASP.NET Core 編)

犬種の画像分類の学習モデルを ASP.NET Core に組み込みんで画像分類できるようにします。 Azure の Custom Vision で画像の分類器を秒殺で作成することで(盛りました、作成に数分くらいです)、TensorFlow の画像分類のモデル作成のターンでは、機械学習の…

TensowFlow の学習モデルを C# で読み込む(コンソールアプリ編)

犬種の画像分類の学習モデルを C# のコンソールアプリに組み込みんで画像分類できるようにします。 Azure の Custom Vision で画像の分類器を秒殺で作成することで(盛りました、作成に数分くらいです)、TensorFlow の画像分類のモデル作成のターンでは、機…

ASP.NET Core の インメモリー キャッシュ 機能を使う

ASP.NET Core 2.2 で In-Memory にデータをキャッシュしておくための専用の機能のひとつ、System.Runtime.Caching/MemoryCache の使い方について軽く整理してみました。 In-Memory キャッシュの利用ガイドライン コーディング Nuget Package のインストール …

csproj のバージョン 管理 について

.NET Core のプロジェクトでなんか作っててもバージョン情報は、csproj でちょいちょいーっとしか管理してなかったので多少なりとも知っておきたいなーと感じました。 とゆーことで最近(NuGet 4.0 以降、MSBuild 15.1 以降)の.NET Core でのバージョン管理…