かずきのBlog@hatena

日本マイクロソフトに勤めています。このブログは個人ブログなので、ここに書いている内容は個人的な意見で会社の公式見解ではない点にご注意ください。好きなものは XAML と C# 。苦手なものは型の無い言語です。

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 対応のスキル(アプリ?アシスタント?)を作る方法

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

Google アシスタントのエージェントを Azure Functions + C# で作る

Dialogflow v2 に対応した C# の SDK が実はこっそりあります。 1.0.0-beta2 (2018/1104 現在) なので正式版ではないですが、きっと近いうちに出ると思う!! 以下のパッケージを入れましょう。 www.nuget.org Visual Studio で追加するときはプレリリースパ…

Bot Builder SDK v4 の OAuthPrompt を使って出したログインボタンが Microsoft Teams で反応しない

Bot

しないんですけど!?下の issue の通りみたい。 github.com まじかぁ… The sign in card's button has an ActionType of signin and teams does not support this ActionType. In order to make this work as present time you need to go in and change th…

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

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

Go プログラミング実践入門を読みながら Go での Web App のハローワールド

Go

先ほど脱線して http のクライアント側の機能に走ってしまったので気を取り直してサーバー側に行きたいと思います。 といってもハローワールドするだけなら凄く簡単。本当に凄く package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/…

Go プログラミング実践入門を読みながら Go での Web App のハローワールドをしようとして脱線した話し

Go

Go には標準で Web アプリを作るための機能が入ってるらしい!? 他の言語でいうところの Web アプリ開発のためのフレームワークというのは、あるんだろうなぁと思って調べてみたら凄く素敵なまとめをみつけました。 github.com いいね。本読み終わったら次…

「Goプログラミング実践入門 標準ライブラリでゼロからWebアプリを作る」を買ってみた

Go

なんか、一番好きな Windows アプリ作りは苦痛そうな雰囲気を多少感じたので、Webアプリ方面に手を出してみようと思っていたところ最適そうな本があったのでアマゾンでぽちりました! ※:アフィリエイトリンクなので嫌な人は気を付けて! 本当はプログラミン…

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 プロジェクトテンプレートもありますし。 ア…

Go 言語勉強ログ その4 panic/recover

Go

blog.okazuki.jp 勉強過程で普通に panic になりますとかって言ってたけど panic とはなんぞや?ということで動きを見てみる。 端的に言うと panic は C# でいうところの例外に近いもの。Java でいうところの RuntimeException や、もっというと Error 系の…

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

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

MSIX Packaging Tool が GA してました

techcommunity.microsoft.com やったね!あとは Visual Studio 2017 から生成出来ればいいんだけど。15.9 で対応かなぁ?

Bot Builder SDK v4 勉強ログ

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

Go 言語勉強ログ その 3

Go

blog.okazuki.jp さて、引き続きやっていきます。A Tour of Go の Methods and interfaces からやっていきます。 メソッド 普通のオブジェクト指向言語にあるようなメソッドみたいに構造体やクラス内にメソッドを定義するというよりはレシーバーという特別な…

Go 言語勉強ログ その 2

Go

blog.okazuki.jp 引き続き A Tour of Go していきます。 ポインター Go 言語にはポインターがある。見初期化状態でも nil になる。 C 言語と同じで & でポインターを取得できて * でポインターの先の実態を見ることが出来る。 package main import ( "fmt" )…

Go 言語勉強ログ その 1

Go

さて、先日 Go 言語の環境を整えたので早速やっていこうと思います。 blog.okazuki.jp とりあえず A Tour of Go を見ながら思ったことを書いていきます。実際に勉強しようと思う人は A Tour of Go を見ましょう。素晴らしい翻訳をしてくれた人たちに感謝です…

Go の開発環境を Visual Studio Code に作ってみた on Windows 10

以下のサイトを参考にやってみました。 qiita.com Go は公式からインストール。 The Go Programming Language VS Code も公式からインストール。 azure.microsoft.com Go のインストールは c:\go にしました。インストール後環境変数を見ると GOPATH 環境変…

C++ の既存アプリにちょっとずつ Windows 10 風味を付け加えてみる

C++ ネタです。久しく触ってない言語なのと、へましたらメモリリークやらなんやらしやすい言語なので、そういうまずいところ見たら教えてください! ではやっていきます。 はじめに 先日、以下の記事を書きました。 blog.okazuki.jp 最初に触った言語が C/C+…

ネイティブの C++ から UWP の API を呼ぶ (C++/WinRT を使って)

UWP

C++/WinRT っていうのが追加されてたんですね。知らなかったのですが。 docs.microsoft.com これを使うと C++/CX とかみたいな魔改造言語じゃなくて C++ で UWP の開発が出来ますし、UWP の API を呼ぶのもお手軽です。 ちょっとやってみましょう。 環境設定…

Azure Functions v2 のプロジェクトを Run-From-Zip 用に固める Azure DevOps 用のビルドの YAML

はじめて YAML でビルド定義したけど簡単でびっくりしました。これは XAML より記述少なくていいわ…。 pool: vmImage: 'VS2017-Win2016' variables: solution: '**/*.sln' projects: '**/*.csproj' testProjects: '**/*Tests.csproj' buildConfiguration: 'r…

MFC のような C++ アプリから Microsoft ストアのアプリ内購入 API を使う

まず、MFCアプリのプロジェクトを appx にパッケージングします。 Visual Studio を使ってデスクトップ アプリケーションをパッケージ化します。 - UWP app developer | Microsoft Docs 次に UWP の API を使うための設定を以下のページに従ってやります。 W…

Azure Functions に興味を持った人が 0 円(クレカも不要)で実環境で体験する方法

先日開催された Serverlessconf Tokyo 2018 で少しでも Azure Functions 良さそうって思った人が一番手軽に体感できる方法はなんだろうと考えた結果の、これを使えばいいというのがあったので紹介します。 準備するもの パソコン(Win or mac os Linux) お気…

ReactiveProperty v5.3.0 をリリースしました

といっても Pull Request をマージしてパッケージングして nuget.org にあげただけです。 そろそろ Release ブランチにでも push したら自動でパッケージ公開されるようにしようかなぁ…。 NuGet のページはこちら。 www.nuget.org リリースのページはこちら。…

もうすぐリリースされる(はずの) MSIX の Modification Package を試してみよう

MSIX が発表されて久しいですが、Windows 10 October 2018 Update でついにリリースされると思われます。 現状も Insider Preview の Windows 10 を入れると MSIX Packaging Tool (Preview) をストアから入れて試すことが出来ます。 普通に MSIX Packaging T…

UWP の TreeView でデータバインディングを使ってデータを表示する(プレビュー)

UWP

Windows 10 April 2018 Update で追加された TreeView ですがデータバインディングでデータを表示することが出来なくて不満でしたが、今見たらプレビューで出来るようです。 ちょっと試してみました。使い方は簡単です。ItemsSource にコレクションをバイン…

Azure Functions v2 の HttpTrigger の関数を単体テストしたいね

端的にいうと HttpRequest クラスやら IActionResult クラスやらを引数や戻り値に持つもののテストです。 ここら辺を Moq を使ってモックしてみたいと思います。テスト対象は、HttpTrigger を使って作成したデフォルトの関数です。以下のような感じ。 using …

WPF や WinForms などで UWP のコントロールを使う XAML Island(プレビュー)

UWP のコントロールを WPF や WinForms などで使う XAML Island ですが現在プレビュー段階ですが試すことが出来るようになっています。 NuGet パッケージのソースとして https://dotnet.myget.org/F/uwpcommunitytoolkit/api/v3/index.json を追加することで…