かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

C#

全てサーバーレス + 全て C# で SPA

DB に Cosmos DB を使って Azure Functions を使って少ないコードで読み書きする API を作って API Management で CORS の設定と Open API の定義を作って Blazor で AutoRest で生成したクライアントを使って API を呼ぶ SPA を作ってストレージアカウント…

C# で完全サーバーレスで SPA とバックエンドを作れるようになりますね

Azure API Management の従量課金プランが GA しました。 azure.microsoft.com つまり… Azure Storage Account の静的 Web サイトホスト機能で SPA をホスト Azure Functions の HttpTrigger で処理を作成 Azure API Management で Azure Functions を SPA …

Bot Framework SDK 4.4.3 時点でのボット作成の最小手順からダイアログまで

Bot Framework SDK (Bot Builder SDK?) v4 で v3 から大きく実装方法が変わったわけですが、結構 v4.1, 4.2, 4.3, 4.4... と進んでいくうちに、意外と v4 当初の作り方が非推奨になったりしてしょんぼりすることがあったので v4.4.3 時点での Bot Framework …

C++ 製の Windows ランタイム コンポーネントを .NET Framework のアプリから呼ぶ方法

ここではないブログに書きました!下のリンクからたどってください。 techcommunity.microsoft.com

Visual Studio で一番費用対効果の高いショートカット「Ctrl + .」

今日は、Visual Studio 2019 Launch Event in Tokyo で登壇してきました。 資料はこちらです。 Visual Studio 2019 の個人的なお勧め機能(発表時点) from 一希 大田 www.slideshare.net とりあえず個人的に便利だと思ってる機能とかを中心に色々話したので…

Azure Bot Services の Web App Bot で作成したボットのソースをダウンロードしてビルドしていると「**」というフォルダーが出来る

こんなやつです。 ちなみにビルドを重ねていくとパスの長さに関するエラーが出ます。 原因 何のためなのか調べてないのですが、EchoBot の csproj ファイルには 以下のような定義が含まれています。 <Import Project="PostDeployScripts\IncludeSources.targets" Condition="Exists('PostDeployScripts\IncludeSources.targets')" /> </import>

Azure Bot Services の SDK が v4.3.x にアップデートして色々変わってる件について

噂には聞いてたんですが、ダウンロードしてびっくりしました。 気づいた点をさくっと書いておこうと思います。 因みにリリースノートはこちら。 github.com Controller クラス復活 今まで api/messages エンドポイントを定義するのは Azure Bot Services の …

Visual Studio でコードを .editorconfig に従って一括フォーマット

Visual Studio 2019 のリリースノートにしれっと入ってる dotnet-format コマンド。 github.com このコマンド一発でインストールできるのが素敵です。 dotnet tool install -g dotnet-format パッケージマネージャーコンソールか立ち上げて dotnet-format っ…

Azure Bot Service で Microsoft Teams のボットにボタンで選択肢を出したい

これでハマったのでメモ。 もし、もっと楽な方法があったら教えてください。 やりたかったこと 以下のようなメッセージを生成したかった。 xxxxですか? [ はい ] [ いいえ ] 質問に対して「はい」か「いいえ」をボタンで出したかった。 最初にやったこと Co…

Azure Bot Service の LINE Connector でスタンプみたいな LINE 固有機能を使おう

先日書いた Azure Bot Service の LINE 対応ですが、スタンプみたいな LINE 固有機能使いたいんだけどどうするの?という疑問がわいてくるような気がします。 こういう複数のプラットフォームに対応するときは、機能が最大公約数になってしまうのですが、ち…

Azure Bot Services でボットを公開するための最小のコードと手順

Azure Bot Services にボットを公開する最小のコードと手順をやってみようと思います。 というのも、必要最低限を把握してないとその他の応用の部分がどのコードなのかっていうのが把握しにくいと思うので自分は最低限のコードを組むのは一回流行ってる気が…

Azure Bot Services の LINE のチャンネルを試してみた

はじめに とりあえず LINE に繋ぐ手順を試してみました。 本文 昨日みつけた LINE のチャンネルを試してみました。ドキュメントもあるのでそっち見てもOK docs.microsoft.com LINE の Developers Console で適当にプロバイダーを作ります(すでにあるならそ…

Bot Framework のサンプルの QnA Maker の Active Learning をデプロイする方法

最近追加された Active Learning ですが簡単に言うと利用状況を見て、この QA にはこんな質問追加したらいいんじゃないの?っていうのをポータルに出してくれるみたいですね。 docs.microsoft.com 暗黙的フィードバックと明示的フィードバックがあるみたいで…

Visual Studio で名前変更のリファクタリングの一番簡単な方法

C#

個人的な主観が入った小ネタです。 Visual Studio には様々なリファクタリングのための機能がついています。 個人的に、その中で一番お世話になってるのが名前変更です。例えば… あっ、クラス名イケてない… このプロパティ名ちょっと失敗したな この変数名ち…

C# の複数ファイルの一括フォーマットツール

C#

今日、Visual Studio 2019 Preview 3 のリリースノートを読んでたら dotnet-format ツールが紛れてました。 github.com 一括で .editorconfig の適用してくれるとか。ありがたい。 試してみよう ということでインストールしてみます。.NET Core の最新版が入…

Bot Framework SDK v4 を使うときの 2019/02/12 時点で最適だと思う ConfigureServices メソッドの書き方

なんというか Bot Framework SDK v4 は v3 と違って細かくカスタマイズ可能な部品が提供されてて、それを組み合わせて使うという感じになってるので、より挙動のカスタマイズがしやすくなっていたりします。 例えば LUIS や QnA Maker との連携機能の提供の…

Livet 2.2.0 をリリースしました

しました。 www.nuget.org LivetExtensions も更新しました。 www.nuget.org プロジェクトテンプレートも最新版を初期状態で参照しているように Visual Studio の拡張機能も更新しています。 marketplace.visualstudio.com 変更内容 GitHub のリリースページ…

Azure App Service で Azure Key Vault がめちゃ簡単に使えるようになりました(プレビュー)

プレビュー機能ですが、Azure Functions とかで Key Vault が凄く簡単に使えるようになってます。 今までは、少しだけとはいえプログラムに手を入れないといけなかった部分を Azure ポータルのアプリケーション設定に指定するだけでよしなにしてくれるように…

何処でも動くサーバーレスプラットフォーム Azure Functions

この記事は Serverless2 Advent Calendar 2018 の 2 日目の記事です。 qiita.com 本文 最近 Docker でパッケージングしたらどこでも動くが実現してるようなものなので、実質 Docker でパッケージング出来たら run anywhere な感じということです! そして、A…

Azure Functions + Application Insights で POST されたデータのログを残す(C# & JavaScript)

liginc.co.jp なんとなく見かけたので Azure でもやってみましょう。 Azure なら一番簡単に REST API 作るんだったら Azure Functions かなぁ。ログは Application Insights かなぁ。 Azure Functions のドキュメント - チュートリアル | Microsoft Docs Azu…

Microsoft Tech Summit 2018 で Windows 10 対応のデスクトップアプリを作る技術 というタイトルで発表してきました

2018/11/05 - 2018/11/07 で開催された Microsoft Tech Summit 2018 で登壇してきました。 その時のセッション用に準備したコードを以下のリポジトリに公開しました。 github.com 伝えたかったこと AI とか無関係じゃないし、新機能とかもあるし、デスクトッ…

Azure Functions で Alexa, Google Home, LINE Clova 対応のスキル(アプリ?アシスタント?)を作る方法

スマートスピーカーのスキルは、基本的にスマートスピーカーが受け取った音声をテキスト化する部分、テキストから意図(インテント)とキーワード(スロットとかエンテティとかって言われる)を抜き出すところまで、各スマートスピーカーを提供してくれてい…

Prism の v7.1 がリリースされてました

Prism v7.1 が2週間ちょっと前にリリースされてました。 github.com かなり大きな更新に見えます。 個人的にインパクトが大きそうだと思ったのが Autofac と MEF が Prism の将来のサポート対象から外れてしまうことでしょうか。 Autofac はイミュータブルに…

Bot Builder SDK v4 を使って QA ボットを作ってみよう

とりあえず、スタート地点は Bot Builder SDK v4 のテンプレートの中の Echo ボットを使います。 テンプレートを Visual Studio に追加するにはこの拡張機能を入れます。 marketplace.visualstudio.com Echo のテンプレートを使って作成したら、とりあえず E…

REST API から Windows アプリの操作

Project Roma というのが発表されてもうかなりの時間がたちますが、UWP 同士では GA してて Android/iOS/Microsoft Graph API は Preview な感じです。Microsoft Graph API のカテゴリを見ると Cross-device experience という名前になってますね。 早く GA …

Livet v2.0.0 をリリースしました

先日リポジトリを触る権利と nuget のパッケージの更新の権利もらったので pre バージョンを公開してたのですが新たな issue も上がってこないので一旦正式版として公開しました。 marketplace.visualstudio.com プロジェクトテンプレートもありますし。 ア…

Bot Builder SDK v4 で認証をつけてみよう

単純なものなら動くようになってきたので、個人的に興味のあった認証部分をやってみようと思う。 前回はこちら。 blog.okazuki.jp ドキュメントはこちら。 docs.microsoft.com Azure AD にアプリを追加 v1 と v2 があるけど v2 の機能が必要ない限りは v1 で…

Bot Builder SDK v4 勉強ログ

ドキュメント読みながらのメモ Bot Builder SDK v4 の処理の流れ こんな理解 ユーザーからのメッセージ from 各種クライアント(slack, teams, etc...) -> Bot Connector サービス -> Bot Builder SDK v4 製のアプリ Bot Builder SDK v4 製のアプリがメッセー…

LivetCask v2.0.0-pre1とLivetExtensions v2.0.0-pre1 を公開しました

とりあえずプロジェクトの構造を自分好みにしたのとターゲットフレームワークを現在サポートされている最低バージョンの .NET Framework の 4.5.2 まで上げました。 NuGet 以外は今のところメンテナンスするつもりはありませんが、気が向いたら vsix 作って…

LINE Clova のスキルと Windows 10 の連携

LINE Clova にアカウントリンキングの機能があるので、割と簡単に特定サービスと連携したスキルが作れます。 今回は、これを利用して Microsoft Graph API にある Project Rome を叩いて Windows 10 のアプリを起動してみました。 動作してる様子はこちら。 …