XAMLやC#について書いています。
XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。
まじで。 azure.microsoft.com Azure CLI v2.0.49 以上が入ってれば以下のコマンドで入ります。 az extension add --name azure-devops こんなメッセージが出れば OK The installed extension 'azure-devops' is in preview. あとは、まだログインしてなかったら az login でログインして、デフォルトのオーガナイゼーションを設定して az devops configure --defaults organization=https://dev.azure.com/xxxx …
Azure Functions を TypeScript でやってみた「ハローワールドから Durable Functions まで」
2019/02/25 くらいに出た Azure Functions Core Tools の 2.4.401 のリリースノートに - Add TypeScript templates の文言が。 これは試すしかないでしょう。ということでアップデートして func init してみます。 C:\Users\kaota\Documents\Labs\TSFunc\Hello>func init Select a worker runtime: node Select a Language: javascript typescript typescript がちゃんとある。typescript を選…
Azure Bot Services でボットを公開するための最小のコードと手順
Azure Bot Services にボットを公開する最小のコードと手順をやってみようと思います。 というのも、必要最低限を把握してないとその他の応用の部分がどのコードなのかっていうのが把握しにくいと思うので自分は最低限のコードを組むのは一回流行ってる気がします。 いらないと思うものを省いてスリムにね。 ということで、ASP.NET Core の空のプロジェクトからスタートして最終的に Azure にデプロイして動かしてみたいと思います。 プロジェクトの作成 Visual Studio 2017 で ASP.NET Core Web アプリケーションを作成します。空のプロジェクトをさくっとね…
Azure Bot Services の LINE のチャンネルを試してみたけど成功してない記録
はじめに 注意:現時点で動かせてません。 本文 昨日みつけた LINE のチャンネルを試してみました。ドキュメントもあるのでそっち見てもOK docs.microsoft.com LINE の Developers Console で適当にプロバイダーを作ります(すでにあるならそれを使ってもいい) プロバイダーがないとボットとかも作れないので。プロバイダーが同じボットや Clova のスキルはユーザーを識別するための ID が同じになるので、ユーザーデータを共有する仕組みが作りやすい点が強いです。 さて、作ったら Messaging API を作りましょう。必須入力項目は全部なので全部入れまし…
Azure Bot Services に LINE のチャンネルが追加されてる?
今見てて気づいたのですが LINE がしれっと増えてますね。 これで LINE のボット開発も捗るってもんですね!
Bot Framework のサンプルの QnA Maker の Active Learning をデプロイする方法
最近追加された Active Learning ですが簡単に言うと利用状況を見て、この QA にはこんな質問追加したらいいんじゃないの?っていうのをポータルに出してくれるみたいですね。 docs.microsoft.com 暗黙的フィードバックと明示的フィードバックがあるみたいで明示的フィードバックとかを送るには Train API 叩く必要があるのかな。 ここらへんを叩くためのサンプルが以下になります。 github.com 曖昧な回答が複数件帰ってきたらユーザーに選択肢を出してくれて、ユーザーが質問を選択すると、その内容が Train API に送られます。 こいつをクローンしてデプロイす…
Xamarin.Forms 3 系あたりからさっぱり追いかけてなかったので復習も兼ねて。 といいつつ 2.x の機能を見てると、ここらへんもきちんとやったことないので、2.x 系から怪しいかもしれない? docs.microsoft.com 因みに Xamarin Android や iOS のほうは OS の進化についていってるし、プラグイン使ってやってたことも Xamarin Essentials っていうので結構カバーされてるなぁってのとか、Android のデザイナーとかも改善されてたり、VS 2019 ではインストールサイズが激減してたりとか凄い。 Xamarin.Forms 3.0…
Vue.js 勉強メモ 5 (TypeScript で!!)
次はテンプレート構文だ。 jp.vuejs.org テンプレートってあれね。各コンポーネントの template プロパティや、.vue の template タグで書いてた下のようなあれ。 <div> {{ message }} <ol> <li v-for:"x in hogeeee">{{ x.text }}</li> </ol> </div> んで、これは別にテンプレートじゃなくて自分で JavaScript でこねくり回すこともできるみたい。 こういうのをコードでこねくり回すのはつらいのは世の常なので、ドキュメントのインデックスの下の方に JSX についての項目があるのは、そういうこ…
Vue.js 勉強メモ 4 (TypeScript で!!)
ということで以下のドキュメントを読んでいきます。 jp.vuejs.org 英語のドキュメントも読むのはいいけど、最初の勉強では英語の読解とターゲット技術の読解の二重苦になるので、母国語ドキュメントがあるのは凄く理解のスピードが速いのでありがたい。 Vue.js のアプリは Vue クラスのインスタンスがいる。こんな感じで new して使う。 import Vue from 'vue' const app = new Vue({ }); んで、特に重要なのが data プロパティ。ここに渡したオブジェクトのプロパティが監視されて値を書き換えるとテンプレートに従って見た目も更新されるみたいですね…
Vue.js 勉強メモ 3 (TypeScript で!!)
色々勉強する前に TypeScript で確認出来るようにしておきたい とりあえず簡単な方法は Vue.js の CLI を使って TypeScript を有効にしたプロジェクトをスタート地点とするみたいなので、それでやっていこうと思う。 プロジェクト作っていらないものを削除 vue create ts-lab とか打ち込んで TypeScript だけを有効化したプロジェクトを作る。 src フォルダーの下の .vue ファイルを丸っと削除。 ハローワールドを TypeScript で public/index.html を以下のように書き換え。 <!DOCTYPE html> <html …
Vue.js の勉強メモ 2 (TypeScript で!)
今回は TypeScript あんまり関係ないんですが、Vue.js は既存サイトに少しずつ適用可能と書いてあるじゃないですか。 これがどういうことなのかというのを試してみました。 本当に書きながらやってるのでまとまりありませんが、学習ログってことで。 プロジェクト作成 例えば、超シンプルですが以下のように index.html, css/site.css, scripts/index.js だけで構成される既存サイトがあるとします。(今時ねーよってのは置いといて) <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <…
オレオレボット足したいじゃないですか。 Bot Framework を使って作るのが正攻法ですが、一応 Outgoing Webhook を使ってもボット作れます。 docs.microsoft.com 作ってみてる人もいます。お手軽でいいですね。 hkou.hatenablog.com Bot Framework を使ったオレオレボットをデプロイするときは、manifest.json と指定のサイズのアイコン用画像を 1 つの zip にまとめたファイルを Teams にアップロードします。あ、もちろん Azure のボットチャンネル登録で Teams 連携は有効化しておきます。 マニフェス…
Vue.js ずっと気になってたんですよね。 jp.vuejs.org かなり前に React やったんですが、今度は Vue.js に手を出してみたいと思います。 やるならやっぱり… TypeScriptですよね!以下のコマンドで最新入れておきます。 npm i -g typescript エディターの設定 Visual Studio Code の Vetur 拡張というのをお勧めされてるので入れておきました。 marketplace.visualstudio.com ブラウザーの拡張機能 デバッグが便利らしいので、ここら辺も入れておきます。(Chromeに) chrome.google.c…
Visual Studio で名前変更のリファクタリングの一番簡単な方法
個人的な主観が入った小ネタです。 Visual Studio には様々なリファクタリングのための機能がついています。 個人的に、その中で一番お世話になってるのが名前変更です。例えば… あっ、クラス名イケてない… このプロパティ名ちょっと失敗したな この変数名ちょっと変えたい etc... まぁいっぱいあります。 そんなときは名前を変えたいものの上で右クリックして名前の変更を選ぶ or Ctrl + R, Ctrl + R を押すとかあると思います。 自分のやってる方法 普通に名前を変えたいものの名前を変更します。そして Ctrl + . を押します。そうすると以下のようなものが表示されます。 …
今日、Visual Studio 2019 Preview 3 のリリースノートを読んでたら dotnet-format ツールが紛れてました。 github.com 一括で .editorconfig の適用してくれるとか。ありがたい。 試してみよう ということでインストールしてみます。.NET Core の最新版が入ってれば以下のコマンドで OK dotnet tool install -g dotnet-format --version 3.0.0-beta4-19105-10 2019/02/15 現在のプレビュー版のバージョンなので、実際に試すときは GitHub のページ見てバージ…
Bot Framework SDK v4 を使うときの 2019/02/12 時点で最適だと思う ConfigureServices メソッドの書き方
なんというか Bot Framework SDK v4 は v3 と違って細かくカスタマイズ可能な部品が提供されてて、それを組み合わせて使うという感じになってるので、より挙動のカスタマイズがしやすくなっていたりします。 例えば LUIS や QnA Maker との連携機能の提供のされかたも v3 では LUIS や QnA Maker と連携するためのダイアログの基本クラスが提供されていて、利用者は基本的には Attribute を付けたメソッドを適切に定義していれば、よしなにライブラリ側が呼び出してくれるといった形になってます。 v4 は API 叩くためのクラス用意してやるから、それ使っ…
Surface Go を買ってタブレットモードで便利に使うときのメモ
こんなつぶやきをしました。 Surface Goはコンパクトで取り回しがいいのと画面は物理的にはどうしても小さいのでタブレットモードで運用してみてる。割と快適な気がする。Windows 8.1くらいを思い出す。 pic.twitter.com/UQhVZvlR2G— かずき@スマブラはリンク (@okazuki) February 6, 2019 基本的には失敗と認知されてる Windows 8 系の UI の変化好きだったのですが、これと同じような動作をするモードは Windows 10 にも搭載されていてタブレットモードといいます。 下の図にあるように右下の部分を押すと出てくるWindow…
Prism 7 系で色々仕様変更がありましたが、その中でも大きな変更のうちの 1 つが DI コンテナにクラスを登録する処理の変更です。今までは各 DI コンテナのクラスを直接触っていましたが IContainerRegistry インターフェースというインターフェースが Prism から提供されて、それに対してクラスを登録するという形になりました。 IContainerRegistry は、各々の DI コンテナごとに実装があって、その先で DI コンテナの個別の API を呼び出しています。利用者からしたら DI コンテナに何を使っていたとしても Prism の提供する箱庭の中にいる限りは…
Microsoft Learn の学習用環境(サンドボックス)の有効化方法
やってみようと思います!というのも先日こんなコメントがついたので https://docs.microsoft.com/ja-jp/learn/paths/create-serverless-applications/ 有効化までしてみたいと思います。 ということで、Azure Functionsのサンドボックスを有効化するボタンを押してみます。 ちなみにインプライベートで開いていいるブラウザで試してます。 ぽちっとな これがアフィリエイトのリンクを押したような画面なら仕方ないですがMSアカウントのサインイン画面です。 今回は私のプライベートなMSアカウントでサインインしてみました。 サインイ…
「ブログリーダー」を活用して、okazukiさんをフォローしませんか?
指定した記事をブログ村の中で非表示にしたり、削除したりできます。非表示の場合は、再度表示に戻せます。
画像が取得されていないときは、ブログ側にOGP(メタタグ)の設置が必要になる場合があります。