BEACHSIDE BLOG

MicrosoftとかC#を好むレンジャーの個人メモ

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 pipeline Yaml をテンプレート化する ( Web Apps / ASP.NET Core )

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

Multi-stage YAML pipelines で WebApps の Pipeline を構築する ( Azure DevOps )

Azure DevOps の Azure Pipeline が今までの作り方から生まれ変わり Multi-stage YAML 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 でテキスト化して表示するコンソールアプリを作ります。 開発環境はこんな構成です。 Visual St…

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 でのバージョン管理…

Visual Studio で表示される削除済みのリモートブランチの表示を消す(git の prune する)

Visual Studio からリモートブランチを見たときに削除済みのブランチが見えちゃってるので、 git fetch --prune とか git remote prune origin 的なことするのにどうするんだ?と思い、設定方法をメモしておきます(すごく今更感...)。 個人的には Visual S…

Azure Functions V2 ドキュメントリンク(入門者 向け)

Azure Functions (C#) を仕事で使いたいなーと思っている入門者方向けに、(私個人的に最低限ここは把握しておいてほしいと思っている)公式ドキュメントのリンク集です。 慣れないと公式ドキュメントを見ても量も多くて迷子になるので、(個人的に)最初に…

Azure Functions V2 の Startup.cs で appsettings.json を読み込む(2019年5月バージョン)

前回書いた Azure Functions の DI の方法だと、ASP.NET Core ではよく使う appsettings.json の読み込みがデフォルトで設定されていません。 local.setting.json ローカルデバッグ用の環境変数の設定はできるけど、 で困るのは Array とか object に対応し…

Azure Functions V2 での DI ( Dependency Injection ) : 2019年5月編

気づけば Azure Functions V2 のC#で DI ( Dependency Injection )が正式にサポートされましたね。依存性の注入とか依存関係の注入とか、MSのドキュメントだと依存関係の挿入とかってやつです。 実装のざっくりな要点は以下だと思ってます。 Startup.cs で D…

ノーコーディング で QnA Maker のチャットボットを作る: 2019/04編 (Bot Framework v4 Template for QnA Maker)

2019年4月に Bot Framework v4 Template for QnA Maker が更新され、QnA Maker と Bot Service を使ったチャットボットをサクッと作れるようになりました。試してみます。 リリースされたばかりで多少の罠とか縄とかありますが、そのうち改善されるでしょう…

Azure Bot Service で作成した Echo Bot (SDK V4.3.2)のソースをローカルでデバッグしたら 500 エラー

最近(2019/4ごろ) Azure Bot Service でチャットボットを作成してソースをダウンロードし、デバッグしても動かないということがあったのでちょっと調べてみました。 このエラーの対処もまた色々な変更ですぐに対処方法が変わるでしょうけど、メモしておきま…

Visual Studio 2019 で入れてる基本的な 拡張機能

Visual Studio に私個人的にいつも入れてる拡張機能のメモです。 エッジの効いた拡張機能ってものは特になく、最低限入れるてるよーってだけのやつです。 VS2019になってから新しいものを入れたってことは今のところないので、以前のバージョンでも使ってい…

渡航メモ(シアトル)

アメリカに行く回数は年に一度くらいしかなく慣れないので、入力やら出国の流れをメモしてみました。 ただの自分用メモです。 行き NRT: 荷物預ける NRT: イミグレ NRT: イミグレ通過後 ポートランド国際空港(PDX)で入国 バス: SeaTac to ベルビュー 帰り バ…

アメリカで MOST SIM (T-MobileプリペイドSIM)を使ってみた

T-MobileプリペイドSIM「MOST SIM」 は、契約期間中は4G LTE使い放題なので良いです。 購入準備からUSでの利用まで、MOST SIM の使い勝手のメモを残しておきます。 なお、使ってるスマホは SIMフリーの iPhone Xです。 昨年は ZIP SIM を使って特に不便した…

Bot Channel のコールドスタート対策( Azure Bot Service )

Azure Bot Service では、WebChat とか外からの接続は Bot Channel 経由でなります。 WebChatとかだとここが Cold Start するので、たまーにアクセスすると初回のみ遅くて残念(一昔前よりはだいぶ早くなったけど!)。 ならば定期的にヘルスチェックして Co…

Google Domains をはてなブログの独自ドメインに設定

dev ドメインが発売したことがきっかけで、Google Domains から ドメイン を購入してみました。 はてなブログに独自ドメインを設定するまで修羅みがあったのでメモを書きました。 Google Domains でドメイン購入 はてなブログのPro化 Google Domains で CNAM…

Azure Cosmos DB の一意キー制約(Unique Key Constraints)

Cosmos DB の一意キー制約(Unique Key Constraints)について、実装方法やエラー時の挙動を調べたメモです。 いきなり余談ですが、 一昔前に Cosmos DB で Collection と呼ばれていたものは、Azure の Portal だとまだ "Collection" と表現されていますが、…

Azure Cosmos DB Emulator を使ってみた(2019年2月編)

ローカル環境だけで開発が進めれるよう Azure Cosmos DB Emulator があります。 接続文字列は固定なので、ASP.NET Core で使うなら appsettings.Development.json とかに直接接続文字列書いたりも許容範囲化と思いますし、便利に使えそうだと思っています。 …

Azure DevOps の Wiki で使える 絵文字 チートシートとマークダウンのシンタックスガイド

いつも探すのに数秒手間取るのがイラっとするので、リンクのメモです。 (手間取るならブックマークでもつけておけよ感ありますが....)

Azure DevOps : master ブランチだけは削除できないように権限設定

Azure DevOps の Repos で、 master は削除できない master ブランチ以外は削除できる(Pull Request の Complete の時とか) という権限設定をするときのメモです。 PR を merge するときにブランチ消したいので削除権限は必要だけど master だけは削除でき…

Azure Functions プロキシ のレスポンスのオーバーライド( responseOverrides )で Json を返す

Azure Functions Proxies の機能のひとつに、リクエストを backend の url に送信せず、定義しておいたレスポンスを直接返すことができます。backend が用意できてないけどクライアント側の都合でどうしても通信したいときにサクッと使えます。 公式ドキュメ…

Release Pipeline 作成時 Azure Subscription の 認証 エラー 時の解決方法 ( Azure DevOps )

Azure DevOps で Release のパイプラインを作成する際、サブスクリプションを選択して Authorize する必要がありますが、認証できないトラブルに遭遇している方をちょいちょい見かけます。 「error insufficient privileges to complete the operation」とい…

Azure DevOps の Tips : Overview に Readme.md または Wiki を表示させる

Azure DevOps の Overview の Summary に「About this project」という部分があります。「About this project」では Description を書くことができるほか、以下のどちらかを表示することができます。 指定したリポジトリーの直下にある Readme.md Wiki のト…