chevron_left

メインカテゴリーを選択しなおす

cancel
かずきのBlog@hatena https://blog.okazuki.jp/

XAMLやC#について書いています。

XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

okazuki
フォロー
住所
東京都
出身
広島県
ブログ村参加

2015/02/23

arrow_drop_down
  • 2023 年の振り返り

    2024 年になってしまいましたが 2023 年の振り返りをしたいと思います。 プライベート 特筆すべきことはあんまりなかったです。(悲しい) 会社の人たちとマイクラしたりして遊んだり、技術書典に出したりと色々やれたのは楽しかったです。 マイクラをすると、大体家と水流式の自動回収の畑と牛を焼肉にする施設を作るのですが、今回もそれを作りました。次は何をしよう。 畑から見える湖畔の我が家。なお、永久に溶けない湖 pic.twitter.com/pU0AB8kLu2— かずき(Kazuki Ota) Cloud Solution Architect at MS (@okazuki) 2023年1…

  • Galaxy Tab S8 Ultraのキーボードで日本語でWeb検索が非常にしづらい

    2022年の年末頃からGalaxy Tab S8 Ultraを買って使ってます。 スペックも満足でUS配列だけど純正キーボードもあり、ペンもついていてAndroidタブレットとしては非常にいい出来です。 何故か日本で売られるモデルにはSIMスロットがない点は非常に不満ですが…。概ねいい感じです。 本題 ということで本題です。2023年6月4日時点の情報です。 Androidの標準ブラウザのChromeと仕事がら使うことが多いEdgeの2つのブラウザで確認している不具合です。端的に言うと日本語でのWeb検索がまともに出来ないケースがあるというものになります。 再現方法 Chromeを起動する 新…

  • Surface Laptop Studio を買ったので簡易レビューという名の感想文

    先日、ヤマダ電機のオンライン ショップのサイトを覗いたら Surface Laptop Studio の上から 2 番目のモデルが 24 時間以内に発送というステータスになっていたのでポチってしまいました。通常は、注文してから取り寄せになるので納品まで数週間かかるという状態なので欲しいけど、数週間も待つのはなぁ…と思ってたところなのでやられました。 買い替え動機 デスクトップ PC を普段使っているのですが先日 3 時間で 3 回急に電源が落ちたという事件があったのと、その時に代替 PC として使ったサブのノート PC が熱がやばくて性能が満足に出なかったため替わりの PC が欲しいと思ってい…

  • Windows 10 でディスク スペースを食ってる場所を探す

    1TB のディスクを付けているはずなのに気づいたら残り 318 GB になってました。 昔は 256 GB のディスクでやりとりしていたはずなのに… ということで、Windows XP や Windows 7 の頃はディスクの使用状況をグラフ化してくれるフリーソフトとかを使った記憶があったのですが、Windows 10 では設定アプリの中のシステム→記憶域からディスクの使用状況が確認できます。実際に私のマシンで開いていました。 アプリと機能が一番食ってるので、そこを選択してみると…こんな感じで表示されます。Epic Games Launcher は入れるだけ入れて使ってなかったので今回は消して…

  • 発熱外来行ってきた!

    先日発熱外来に行ってきました。コロナ疑惑の人がいくアレですね。 そんなにたくさんの人が行く機会のある場所ではないので、行ってみてどんな感じだったかというのをメモしておこうと思います。 行くまでの流れ 10/22 日にちょっと喉に違和感があるような気がしました。一時的なものだろうと思ってスルーしてました。 10/23 日に喉が痛い。一日中喉が痛い!という状態になりました。 10/24 日に 37.1 度の熱とともに咳と頭痛が同時に襲ってきたので朝一番で近所の内科を受診しました。 近所の内科は結構徹底していて、風邪の症状がある人は院内に入れてもらえずに先生が外に出てきて診察して薬の処方という感じで…

  • 勉強会などの資料作成に使ってる PowerPoint のテクニック

    テクニックというほどのものではないのですが、よく使ってる機能の画面切り替えの「変形」について紹介したいと思います。 最近は Qiita だけどプログラミングの話題じゃないのでブログのほうに書いてます。 変形を使うとどうなるの? こういう感じのアニメーションを簡単に作れます。 使い方 アニメーション前の見た目のスライドを作ります アニメーション前のスライドをコピーして複製します 複製したページのオブジェクトを動かしてアニメーション後の状態にします 複製したページの「画面の切り替え」タブで「変形」を選択します 完成!!簡単!!こんな感じです。 メリット メリットとしてはアニメーション前とアニメーシ…

  • 無料で Azure を使って勉強できる Microsoft Learn のコンテンツの探し方

    前にも紹介書きました blog.okazuki.jp blog.okazuki.jp もうちょっとだけ Learn について紹介したいと思います。 ラーニングパス・モジュール・ユニット とりあえず、ラーニングパスとモジュールとユニットがありますが関係性は以下のようになっています。 ラーニングパス(モジュールをまとめたもの) モジュール(ユニットをまとめたもの) ユニット(最小の学習単位) ユニットは、必ず 1 つのモジュールに所属しています。 モジュールは複数のパスから参照されています。なので機械学習のパスだと A, B, C のモジュール、Web 開発だと A, D, E のモジュールのよう…

  • 自動で Windwos 10 の壁紙とアクセント カラーを変えて気分転換

    自宅でずっと仕事をしてると毎日が同じ風景で気分転換もしづらくて何となくストレスを感じるので、少しでも気分転換になるように壁紙の自動変更とアクセント カラーの自動変更の設定をしました。 といっても、壁紙の自動変更は自前の画像だけでは限界があるので Bing や Windows spotlight からとってきて自動で壁紙を変えてくれる Dynamic Theme というアプリを入れました。 www.microsoft.com このアプリを起動すると壁紙とロックスクリーンの壁紙を Bing や Windows spotlight とかから取得するように設定できます。 Bing の画像は、綺麗でかつ…

  • アプリケーション開発経験が、ほぼない開発者のポエム

    自分のキャリアは多分結構特殊で、今までユーザーがアプリケーションやサービスとして利用する成果物を作成するプロジェクトに要件定義・設計・プログラミング・テスト・リリース・バージョンアップと参加したプロジェクトは一つだけになります。 それ以外の経験については 仕事 全社横断的な技術支援を行う部署でスポットで入って問題や課題の解決とともに離脱 社内向け Java の Web アプリケーション開発フレームワークの開発・保守・サポート 社内技術情報の標準化・ドキュメント作成 教育 パッケージソフトのサポート・機能追加プロジェクトでエクセルとにらめっこしたり、テスト考えたり 趣味 この Blog で気に入…

  • 暫く Qiita 使ってみます

    長らく、このブログを使ってましたが、ちょっと Qiita を使ってみようと思います。 飽きるか、はてなブログのほうが使いやすいな~と思ったら戻ってきます。 ということでフォローよろしくお願いします! qiita.com

  • Cosmos DB がらみの記事を Qiita に 3 つ書いてみた

    Qiita が、ここ暫く何か技術的な記事を日本語で書くならデファクトスタンダードっぽいけど、使ったことなかったので使ってみました。 以下の3記事をとりあえず。 qiita.com qiita.com qiita.com

  • ASP.NET Core や Azure Functions でインフラを含めた CI/CD をアプリ設定の矛盾なく行う方法

    というのを最近考えてて、インフラ設定は ARM Template でアプリ設定は App Configuration にしておいたらいいのかなぁと思ってました。 という考えに至った後にしばやん雑記に以下の記事を発見。 blog.shibayan.jp あ、一番シンプルな JSON で appsettings.Production.json をリリースビルド時に同梱するのがいいですね!流石。 App Configuration は、その機能が必要なときに使えばいいのは確か。 すっきり。

  • Azure App Configuration を試してみよう on Azure Functions

    アプリ設定を WebApps の構成のアプリケーション設定とは別に管理できる App Configuration を試してみました! docs.microsoft.com 最近は ARM Template 書いてみるのがブームなので、以下のように ARM Template 作って下準備しました。 { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "appName":…

  • Azure DevOps の Pipelines の template や variable group で変数名の違いを吸収する

    ただの小ネタです。 Azure Pipelines でリポジトリに含めたくない秘密の値を入れるための Variables に変数を追加します。 そして Variable Group でも template でもいいのですが 2 セット変数の定義を作ります。 vartemplate-for-production.yml variables: message: $(messageForProduction) vartemplate-for-staging.yml variables: message: $(messageForStaging) 適当なタスクも作っておきます。 some-tasks.…

  • SQL Database の SKU のリストが欲しい

    以下のような Azure CLI のコマンドでとれる。 az sql db list-editions -l japaneast 結果がずらららら~~~っと出てくる。もうちょっと名前だけに絞りたいときは以下のような PowerShell のワンライナーでいけそう。 az sql db list-editions -l japaneast ConvertFrom-Json foreach { $_.supportedServiceLevelObjectives foreach { $_.name } } System とかいらなさそうなのも入ってるので GeneralPurpose …

  • Azure DevOps の Pipelines の変数を使おう

    ハードコーディングされた値は死すべし!! ということで Azure DevOps の Pipelines で変数使っていこうと思います。 docs.microsoft.com ハローワールド 何事もハローワルドから。variables で変数を定義できます。定義した変数は $(変数名) で参照できます。ということでさくっと以下のようはパイプラインの yaml を作ってみました。後々の確認のために特に必要はないのですが stage から定義しています。 trigger: - master variables: var1: Hello var2: World pool: vmImage: 'ubu…

  • Azure DevOps のパイプラインのテンプレートを使ってみた

    昨日は、べたっとパイプラインを書きました。 blog.okazuki.jp そして、横浜さんのブログを読んでるとテンプレートなるものが出てきてますね。 blog.beachside.dev ドキュメントとしては以下の部分ですね。 docs.microsoft.com テンプレート パイプラインを小さな単位に分割して、それを別のファイルから参照するような仕組みですね。大きなパイプラインを分割して見通しをよくしたり、複数個のパイプラインで同じような処理をするときに再利用可能な形で使うことが出来そうです。 ではやってみましょう。 Hello world 何事もハローワールドから。テンプレートの書きか…

  • Azure DevOps の Pipeline のハローワールドからビルド・単体テスト・デプロイ・スワップまで

    はじめに この横浜さんの記事の焼き直しというか自分用メモてきな感じになってます。 blog.beachside.dev blog.beachside.dev 本文 Azure Pipeline についてちょっと見てみましょう。最近は、YAML で書けるので雰囲気としては GitHub Actions と同じ感じでいけます。というか同じチームで作ってるみたいなので、当然ですよね。 というわけで Pipeline を作っていきます。まずはハローワールドから。Azure Pipeline の画面を開くと最初は何もないのでパイプライン作らないか?って聞かれます。こんな感じで 次にリポジトリーを選択する…

  • Bot Framework で全てのダイアログが終わったタイミングで処理がしたい

    ダイアログの BeginDialogAsync や EndDialogAsync をオーバーライドすると、ダイアログの最初と最後に処理をさしこめるっぽい。 でも、ダイアログの外側(Botクラス)からダイアログの状態を見て全てのダイアログが終わったタイミングで何かメッセージを送りたいといった場合は DialogState の DialogStack に現在のダイアログの状態が入ってるみたいなので、そこがからっぽだとダイアログの処理が綺麗に終わったということで、Bot クラスの OnMessageActivityAsync に以下のような処理を書くと Bot クラス側でダイアログがつつがなく全部終…

  • UWP で EntityFramework Core 3.1.x を使う方法

    かな~~~~り昔にやったのと変わってたのでメモ。 NuGet パッケージ 最低限だけでよければこれだけ。 Microsoft.EntityFrameworkCore.Sqlite 下準備 適当に DbContext を継承したクラスを作ります。 using Microsoft.EntityFrameworkCore; using System; using System.IO; namespace SQLiteApp { public class MyContext : DbContext { public DbSet<Person> People { get; set; } protecte…

  • React Native for Windows で metro のエラーが出る時の対応方法

    こんなエラーが出てました。そして解決もしました。自分以外にこのエラーに会う人は稀だと思うけど自分用にメモ。 bundling failed: ReferenceError: SHA-1 for file C:\xxxxx\xxxx.js (C:\Users\xxxx\Documents\xxxx\xxxx.js) is not computed エラーメッセージの最初のファイル名と括弧の中のファイル名が違うのがポイント。 原因 私は、ドキュメントフォルダー以下にある Repos と Labs フォルダーをシンボリックリンクを張って C:\Repos と C:\Labs でアクセスできるようにし…

  • 【eLV】Cross-Platform 開発 シリーズで Uno Platform の登壇してきました

    【eLV】Cross-Platform 開発 シリーズ で Uno Platform 触ってみたというタイトルで登壇してきました。 Uno Platform 触ってみた from 一希 大田 www.slideshare.net 話したのは10分くらいで15分以上デモをしていました。個人的に好きな UWP と同じ書き味で Android, iOS, Windows 10, ブラウザー(WebAssembly)や、最近は macOS まで!?単一ソースコードで作れるので非常に気に入ってます。 技術書典で本出します。ひらりんさんとちょまどさんと共著です!絶賛執筆中です! himanago.hate…

  • az コマンドでアクセストークンをゲットする

    流石のツイート。流石No1。 https://t.co/e6Vyjhnr54— こすもす.えび (@kosmosebi) 2020年1月28日 ということで、備忘録もかねて自分でもここで紹介されているコマンドを使って Graph API にアクセスするためのキーをとってみたいと思います。 > az account get-access-token --resource https://graph.microsoft.com { "accessToken": "見ちゃダメ", "expiresOn": "2020-01-28 10:31:44.795950", "subscription": "…

  • Android で Azure Spatial Anchors + MRTK v2.2.0 を使うと DllNotFoundException が出る

    adb.exe logcat -s Unity:* でログを見てると以下のようなエラーが出ます。 01-20 17:33:51.818 12729 12750 D Unity : Unable to load library '/data/app/com.DefaultCompany.MRTKNuGetTest-yCg6ywpRyWRRM6lxBYRoYQ==/lib/arm/libazurespatialanchorsndk.so', native render plugin support disabled: java.lang.UnsatisfiedLinkError: dlopen f…

  • 空の IObservable からの ReactiveProperty と ReactiveCommand の生成

    先日、こんな質問を頂きました。 @okazuki かずきさん、相談に乗ってください。以下のコードを実行してみたところ、初回起動時においては、TestCommandが実行可能になってしまいます。46行目の★だと、正しく実行不可な状態で立ち上がってきます。何が理由かわかりますか?RPは、6.2.0の最新です。 pic.twitter.com/FO58CfvZXP— adonis (@adonis31726124) 2020年1月17日 とりあえず値が来てないシーケンスで作ってそうに見えたので回答したのですが、確かに慣れてないと理解に時間がかかるなぁと思ったので、ついでにブログネタにしてしまおうとい…

  • ReactiveProperty v6.2.0 をリリースしました

    ReactiveProperty の DataAnnotations によるバリデーションのエラーメッセージの改善をしました。 今まで 以下のような定義のプロパティで [Required(ErrorMessage = "{0} は必須入力項目です。")] public ReactiveProperty<string> Name { get; } というようなアノテーションをつけたときのエラーメッセージは「Value は必須入力項目です」でした。 今回の対応 「Name は必須入力項目です」になります。 さらに [Required(ErrorMessage = "{0} は必須入力項目です。")…

  • Uno Platform から JavaScript のライブラリを使いたい

    日本語情報だとひらりんさんのブログにまとまってます! himanago.hatenablog.com 私がはまったのは、iziToast というライブラリでトースト出そうとして function showToast(text) { iziToast.show({ title: 'Info', message: text }); } という関数を JS に作って C# 側から以下のように呼んでも iziToast が undefined になっていてエラーになる感じです。iziToast.js と css は WasmScripts と WasmCSS フォルダーにおいて埋め込みリソースに設定し…

  • Uno Platform の WebAssembly プロジェクトを Azure にデプロイする時にエラーになる

    Visual Studio 2019 の発行ウィザードから Azure にデプロイしようとすると以下のようなエラーが出力ウィンドウに出るんですよね。 C:\Users\user name\.nuget\packages\uno.wasm.bootstrap\1.0.10\build\Uno.Wasm.Bootstrap.targets(125,5): Error : Failed to create directory \\?\C:\App1\App1.Wasm\bin\Release\netstandard2.0\dist\managed C:\Users\user name\.nuget\…

  • Uno Platform でノッチとかに対応したい(セーフエリア)

    iOS エミュレーターで動かすとノッチに食い込むテキストやボタンに悩まされる今日この頃。Uno Platform で対応する場合には Uno.UI.Toolkit.VisibleBoundsPadding クラスの PaddingMask プロパティでセーフエリアに入るように Padding を自動で調整することが出来ます。 例えば、ページ内のルートのレイアウトパネルに以下のように指定します。 <Page x:Class="App22.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmln…

  • Uno Platform でプラットフォームによって実装されていない機能を実行時に判別する

    さて、Uno Platform ですが UWP の API を気合で Android/iOS 向けに提供しているのですが、全部の API が提供されているわけではないです。 UI まわりは、かなり動きますがそれ以外は結構 NotImplementedException が出てしまいます。 例えば以下のようにボタンを押したらファイルを選択するダイアログを出してファイル名をダイアログで出すような機能を実装したとします。 var picker = new FileOpenPicker(); picker.FileTypeFilter.Add(".png"); picker.FileTypeFilte…

  • Uno Platform で MainPage.xaml を開いたときにデザイナー(とインテリセンス)が出ないときの対象方法

    デザイナーがエラーになるだけならいいんですが、たまにデザイナー自体無いケースがあります。 上の画像では UWP プロジェクトを選択している状態で MainPage.xaml を開いているのにデザイナーが出ません。 一度ファイルを閉じて UWP プロジェクトをビルドして再度開いたり、Visual Studio を再起動したりするとうまくいくこともあるっぽいのですが、まぁ世の中上手くいきませんよね。 緑の波線が出てインテリセンスが効くようになったらもう一歩です。MainPage.xaml を閉じて MainPage.xaml の右クリックメニューから「ファイルを開くアプリケーションの選択」で 下記…

  • ARFoundation と UIWidgets を使う

    ARFoundation を使うと Unity で iOS/Android 両対応の AR アプリが簡単に作れるということで注目が高そうな機能です。 docs.unity3d.com AR の世界をタップしたとき何か当たったかどうかを判定するためには ARRaycastManager で Raycast すれば OK です。こんな感じです。タップした場所に適当な大きさのキューブと綺麗に削除する機能を用意してます。 public class ARTapHandler : MonoBehaviour { public ARRaycastManager raycastManager; private…

  • C# で Discord のボットを書いて Azure にデプロイしてみよう

    ゲーム好きの人たちにはおなじみの Slack みたいなチャットサービスのボットを C# でも作れます。Python が一応公式っぽい?? C# で Discord のボットを作る場合には Discord.NET というライブラリを使うのが一般的みたいです。 github.com 簡単に検索しただけでもチラホラ日本語記事がヒットします。 qiita.com atriasoft.work kagasu.hatenablog.com Discord 側でのアプリの作成やボットのアカウントの作り方とか、特定のチャンネルにボットを追加する方法は上記のブログなどにしっかり書いてあるので、ここでは Azur…

  • VS Code Meetup #1 - 初回基礎編 で LT してきました

    表題の通り、LT してきました。 デモがスムーズにいったので発表していて気持ちよかったです。 ほとんどがデモなので、あまり資料自体に中身はないですがお勧め拡張機能は書いてあるので資料はスライドシェアに上げました。 blog.okazuki.jp Visual Studio Code の git の機能については過去に blog 記事を書いてますので、そちらを是非見てください。大体デモで紹介したことが書いてあります。 Visual Studio Code + git from 一希 大田 www.slideshare.net イベントページ vscode.connpass.com

  • Unity の UIWidgets で背景が透明なところは裏側の 3D の世界にイベントを飛ばしてほしい

    デフォルトだと UIWidgets が全てかっさらってしまって、例えば Cube に EventTrigger をしかけて、UIWidgets に全面透明な画面とかを置いてもクリックが反応しないみたいです。 解決策として、以下の Issue にコードが載ってます。 github.com 一応念のためコードだけここにも複製。 using Unity.UIWidgets.engine; using UnityEngine; using UnityEngine.UI; [DisallowMultipleComponent] [RequireComponent(typeof(UIWidgetsPane…

  • Unity でも DI 使ったりしたいし画面もいい感じに作りたい「Zenject & UIWidgets」 その 2

    前回は Zenject 使って複数シーンを跨いで有効なシングルトンなオブジェクトを作ってみました。 アプリ全体で管理したい情報などは、こういうのを使って管理したりすると捗りそうです。 blog.okazuki.jp UIWidgets を入れてみよう ということで今は The Unity って感じの見た目をしているのでカウンターの値を表示する部分を UIWidgets でそれっぽくしてみたいと思います。UIWidgets を使うと画面遷移とかもその場でサクッと出来そうなので、今回のようなものではシーンをわける必要すらないのですが、3D 世界と 2D 世界を行き来するときはシーンでわけたほうがや…

  • Unity でも DI 使ったりしたいし画面もいい感じに作りたい「Zenject & UIWidgets」 その 1

    表題の通りです。Zenject を使ったり UIWidgets を使ってみたいと思います。 ここで使うライブラリと環境 環境 Windows 10 1909 Unity 2019.2.12f1 Zenject Unity 向けに特化された DI コンテナで、Unity 向けの各種便利機能が追加されています。他の .NET Standard 対応の DI コンテナを Unity で使うことも出来ると思いますが、ビヘイビアー系を DI コンテナに追加したり、シーンを跨いでシングルトンで管理したいものとかまで考えると大変なので、おとなしく Zenject を使うのがいいと思いました。 github.…

  • 問題調査でドツボにはまった状態から抜け出す技術?というか気にしてるところ

    なんとなく、牛尾さんの以下の記事を見て自分が気を付けてることをメモしておこうかなと思ったのでメモ。 qiita.com まずハマらないために 何か新しいことをやるときは、それだけにフォーカス出来る状態で練習を一度する 既存のプログラムとかに〇〇を組み込もう!!というときは〇〇の中で使いそうなものを当たり前ですが事前にきちんと勉強する時間をとるとトータルで早く終わることが多いです。 きちんと勉強しなくても、クイックスタートを見ながら自分のプロジェクトに追加とかもできますが、これはうまくいくと一番最速で取り込めるけど、うまくいかなかったときに正しい最短手順を知らない状態なので、あれが足りないのかな…

  • WPF on .NET Core 3.1 で Windows 10 アプリ開発というタイトルで牛タン会議 2019 で登壇してきました

    タイトルの通りです。資料をスライドシェアにアップロードしました。 WPF on .NET Core 3.1 で Windows 10 アプリ開発 from 一希 大田 www.slideshare.net 登壇中にデモを 3 つライブで作りながらやったのですが、それが失敗したとき用にバックアッププランで用意していたプログラムは以下の GitHub リポジトリで公開しています。 github.com

  • Azure Functions v3 リリースしてた

    先日… 12 月 9 日に v3 のプレビュー試せるやったね~ってやりました blog.okazuki.jp 試せるようになってるのに気づいたのが結構出来るようになってから立った後だったのですが、ふと見てみたら 12 月 9 日くらいに GA してました。 azure.microsoft.com 現時点で v1 と v2 がいつサポートが終わるというのはアナウンスされてないですし、アナウンスも 1 年前にはされるらしいので、今すぐ移行!というわけではないですが、.NET Framework を使用しないといけないという縛りが無い限りは v1 も v3 へ、v2 も v1 へ移行しておいたほうが…

  • Azure Functions v3 試せるようになってる

    試せますね!!ということで早速。VS 2019で試すにはテンプレートとかを出すために環境変数設定して…とかがいりそうなので CLI でさくっとやってみました。 Core tool の更新 特別なことは何もなし。コマンドでさくっと。 npm install -g azure-functions-core-tools@3 プロジェクト作成 func init して dotnet を選択した後にプロジェクトファイルを書き換えます。 <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netcoreapp3.1</Tar…

  • Hello ML.NET world

    .NET Core 3.1 もリリースされたし ML.NET でも少し触ってみようと思います。今はカフェで Surface Go しか持ってないので先日作って寝かせておいた VIsual Studio Online につないでやってみようと思います。 .NET Core 3.1 このページに従ってコマンドをうってたらインストールできます。 docs.microsoft.com dotnet --list-sdks して入ってることを確認しましょう。 vsonline:~/workspace/HelloMLNET$ dotnet --list-sdks 2.1.802 [/usr/share/d…

  • Visual Studio の region で囲んで整理されたソースコードを見るのが辛いときの操作

    整理整頓されてるのはいいのですが全体見たいときにいちいち展開していくのがだるいときないですか? 例えばこんなコードで… 一段展開するとこうなって… 辛い…。 緩和方法 region で囲まれて折りたたまれてるファイルが表示されたら Ctrl + M, P (右クリックメニューのアウトラインの中にあるアウトラインを止める機能のショートカット)を押してアウトラインを止めると region が一気に展開されます。 アウトラインが死んでしまいますが、再度ファイルを開きなおすとちゃんとアウトライン機能は復活して region は展開されたままになります。

  • SDK StyleのプロジェクトファイルをUWP, Xamarinで使いたい

    ReactiveProperty のパッケージ分割するにあたってやろうとしてるんだけど標準だときびしい…?ということで MSBuild.Sdk.Extras というパッケージを使いました。 空のクラスライブラリを作って Sdk 属性に MSBuild.Sdk.Extras/2.0.54 を設定して TargetFrameworks を以下のように設定。 <Project Sdk="MSBuild.Sdk.Extras/2.0.54"> <PropertyGroup> <TargetFrameworks>uap10.0.18362;MonoAndroid90;Xamarin.iOS10</Tar…

  • ReactiveProperty v6.1.4 をリリースしました

    各種ライブラリの更新と Pull Request の取り込みになります。 大きな変更はありません。 System.Reactive を 4.2.0 に更新しました Microsoft.Xaml.Behaviors.Wpf を 1.1.3 に更新しました IReactiveProperty を IReadOnlyReactiveProperty を更新するように変更しました。 Implements IReadOnlyReactiveProperty<T> to IReactiveProperty<T> by shanon-hs · Pull Request #131 · runceel/Reac…

  • Livet v3.2.1 をリリースしました

    しばらく触ってませんでしたが、リリースしました。 Microsoft.Xaml.Behaviors.Wpf が .NET Core 3.0 対応したので、Livet も警告が出ない状態で .NET Core で使えます。 変更点 v3 系になってから各種機能を個別の NuGet パッケージに分離してきましたが以下のような形で落ち着きました。 LivetCask パッケージ NuGet Gallery LivetCask 3.2.1 以下のパッケージの詰め合わせです。 LivetCask.Behaviors LivetCask.Collections LivetCask.Converters…

  • Visual Studio Online Public preview 試してみた!

    変更履歴 サービス名を Visual Studio Code Online と間違えて書いていたので Visual Studio Online に修正しました。 セルフホストについて追記しました 環境のカスタマイズについての記事へのリンクを追加 本文 Microsoft Ignite 2019 のキーノート見てたらまさかの!!ということで以下のページから試してみました。 online.visualstudio.com サインインして環境を作る 開始するを選ぶとサインインする画面になります。 以下のように Azure サブスクリプションとかを選ぶようになったのですが課金は Azure いるのかな…

  • MFC に XAML Islands で UWP のコントロールを追加してみよう

    MFC に UWP のコントロール置けるってさ。 やってみよう MFC アプリを新規作成します。今回は XAMLIslandsMFCApp という名前で SDI アプリケーションでいってみたいと思います。残りはデフォの設定で作成!実行するとこんな感じです。 懐かしい。(Borland C++ Builder を昔はメインに使ってたけど、少しだけ MFC もかじってた) パッケージングしよう とりあえず msix にパッケージングします。しなくてもできるのですが、なんか自分のところだとうまくいかなかったので今回は妥協という感じで。 Windows アプリケーション パッケージ プロジェクトをさく…

  • XAML Islands を使ったときのメリットの1つ「テーマ対応」

    ツイートしようとしたら、録画したGifアニメを受け付けてくれなかったのでBlogにポスト。 画面全体を XAML Islands で覆ってる場合は、上記のようにテーマ変更にも対応してくれます。いいね。

  • .NET Core 3.0 + Windows 10 で WPF 開発 というタイトルで .NET Conf 2019 で登壇してきました

    登壇資料アップロードしました。 .NET Core 3.0 + Windows 10 で WPF 開発 from 一希 大田 www.slideshare.net 関連記事 基本的に、過去のブログで結構書いてた内容のまとめになります。 WPF 関連 MSIX での自動更新 XAML Islands その 1 XAML Islands その 2 XAML Islands その 3 同じやるなた新しい技術使えたほうが楽しいので、是非デスクトップアプリ開発する機会がある人は虎視眈々と導入機会を伺ってください!

  • MSIX でパッケージングしたアプリから見えるファイルシステムとレジストリの確認方法

    知らなかったけど、こんなコマンドがあったんだ。 docs.microsoft.com Package.appxmanifest の Packaging タブで Package family name: を控えてこんな感じのコマンドでパッケージ化されたアプリから見えるレジストリキーが見えた Invoke-CommandInDesktopPackage -PackageFamilyName "a3c6c55d-67da-49c4-ba72-d68f97906c69_bvcq4yqpbrjyj" -Command "regedit.exe" -PreventBreakaway これで、パッケージ化さ…

  • WPF on .NET Core 3.0 + XAML Islands で Windows UI Library を使おう

    前回 blog.okazuki.jp Windows UI Library を使おう Windows UI Library(WinUI) は、次のメジャーアップデートから Windows の OS のバージョンアップに紐づいてアップデートされてきた UWP の UI 部分を OSS として切り離して開発するというポジションになるライブラリです。 今時点の v2 系は、最新の UWP コントロールを古い OS に向けてバックポートするためのライブラリって感じですが、今後は最新だろうがなんだろうか WinUI という感じになりそうです。 さて、その中のコントロールを .NET Core 3.0 の…

  • WPF on .NET Core 3.0 で XAML Islands してみよう

    しばらく目を離してると手順がガラッと変わっててびっくりしてる今日この頃。 docs.microsoft.com WPF on .NET Core 3.0 で XAML Islands を試してみたいと思います。 プロジェクトの構成 前は WPF プロジェクトにライブラリ追加して…という感じだったのですが今は UWP プロジェクトを追加して…となってました。びっくり。 ということで一般的な XAML Islands を WPF で使う場合は、以下の 3 プロジェクト構成になることが多い感じです。 UWPApp (普通の UWP アプリプロジェクト) UserControlLibrary (UWP…

  • GitHub Actions for App Service を使ってサーバーサイド Blazor をデプロイしてみよう

    8 月の時点でこういうブログ出てたのね!対応早い。 azure.github.io ということで試してみようと思います。 プログラムの準備 サーバーサイド Blazor を試してみようと思うので dotnet new blazorserver -o GitHubActoinsBlazor と打ち込んで適当にプロジェクトを作ります。 出来たら VS Code で開きます。 とりあえず git のリポジトリーにします。 Add .gitignore すると ひな型選んで追加できるのも便利。 適当にコミットして GitHub にリポジトリー作って git remote add して git push…

  • Azure の AI 系サービスが Azure 無料アカウント作ると 1 年無料で使える枠がもらえるようになってる!

    無料アカウント作ったときに無料で使える枠に AI 系サービスの Cognitive Services が含まれてます。 azure.microsoft.com もともとフリープランがあったじゃん?って思ってたのですがチェックしてみると S0 とか S1 tier と書いてるじゃないですか。普通のはフリープラン系の枠は F で始まる名前なので、普通はお金かかるものが 1 年無料で使えるっぽい? これは、いい感じ。

  • Vue CLI 3 で作った TypeScript のプロジェクトを IE11 対応しよう

    npm run build したものを IE11 で開くと Vue Router とかを有効にするだけで Promise がないって言われる… ということで以下のページを参考にやってみた。 qiita.com 個別 Polyfill はつらいのでざくっとやっていきます。 プロジェクトを作るときは TypeScript, babel, Vue Router あたりを有効にして作りました。 babel.config.js を以下のように変更。 module.exports = { presets: [ ['@vue/app', { useBuiltIns: 'entry' } ] ], } tsc…

  • Vue CLI 3.x で生成した Vue.js + TypeScript を VS Code でデバッグするときの注意点 for Windows

    かなりレアなケースだと思うので完全に自分への備忘録です。 Vue.js を VS Code でデバッグ出来るのは周知?の通り。 jp.vuejs.org ただ、私の環境ではブレークポイントに止まらなくて困ったなぁとなってました。TypeScript 使ってるからか??と思ったのですが原因は別にありました。 シンボリックリンクのフォルダーで開発してるとダメ パスが長いとダルイので C:\Repos をドキュメントフォルダーの下の Repos のシンボリックリンクとして作っておいて、普段は C:\Repos でアクセスできるようにしてました。 VS Code でも code C:\Repos\ho…

  • MFC の MDI アプリで起動時に新しいドキュメントを開かないようにする

    プロジェクト名App クラスの InitInstance メソッドで以下の部分を… CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); こんな感じに編集する。 CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;

  • MFC の MDI アプリでタブに表示される名前を変えたい

    このタブのところの文字を変えたい。 やり方は簡単でアプリのドキュメントクラスの プロジェクト名Doc クラスのインスタンスに SetTitle メソッドを呼んでやればいい。 あんまりしないと思うけど プロジェクト名Doc クラスの OnNewDocument で以下のような処理を書くと… BOOL CMFCApplication6Doc::OnNewDocument() { if (!CDocument::OnNewDocument()) return FALSE; // TODO: add reinitialization code here // (SDI documents will r…

  • Livet v3.2.1-pre をリリースしました

    StatefulModel も MVVM パターンでアプリケーションを作るときに便利なクラスが入ってるので Livet に取り込んでいいかと作成者の尾上さんに確認したところ快諾していただいたので取り込みました。 LivetCask.StatefulModel パッケージが追加されています。 このパッケージは従来の LivetCask のコレクション系のクラスと名前が同じだったりするのでパッケージを整理してコレクション部分だけを StatefulModel に置き換えられるように整理しました。 詳細は以下のリリースノートで! github.com

  • Livet v3.1.0 をリリースしました

    今朝、パッケージ分割版をリリースした Livet ですが Messaging 機能を本体から分離していなかったので分離したバージョンをリリースしました。 バージョン番号が 3.0.x から 3.1.0 に上がったのは一部非互換がある可能性のある変更があるからです。 変更点 TransitionMessage の TransitionViewModel プロパティの型を Livet.ViewModel から INofityPropertyChanged に変更しました。 通常の使い方では無いと思いますが TransitionMessage の TransitionViewModel を参照して、…

  • 新しい csproj 形式で NuGet パッケージに外部 dll を含める方法

    Livet を新しい csproj 形式に移行した後に苦労したのが、Windows API Code Pack の dll を LivetExtensions のパッケージに含めたいというものでした。 わかってしまえば簡単で、dll をプロジェクトに含めて Pack="true" PackagePath="lib\net452" の属性でパッケージに含めることと、含める先のパスを指定する感じでした。 公式ドキュメント内での記述はみつけられませんでしたが、以下のドキュメント内でライセンスファイルを含めるという部分で同じようなことをしてます。 docs.microsoft.com 知ったきっかけ …

  • Liver 3.0.3 をリリースしました。Prism + Livet (一部) のようなシナリオをサポート

    リリースしました。リリースノートは以下になります。 github.com ポイント パッケージを分割しました。 今まで LivetCask 全部入りパッケージ LivetExtensions フォルダーダイアログ 今回 LivetCask Livet とは切っても切れないクラス群(ViewModel、Messenger 関連、コレクション)と、以下の各種パッケージへの依存関係。 LivetCask.Behaviors Livet の便利 Behavior。バインドできないプロパティをバインドするようなものや LivetCallMethodAction、DataContextDisposeAct…

  • Livet v3.0.0 をリリースしました

    今回の更新はアップデートをすると 100% ビルドエラー or ランタイムエラーになります。注意して更新してください。 リリースノートはこちら。 Release v3.0.0 · runceel/Livet · GitHub NuGet パッケージはこちら .NET Framework 用 NuGet Gallery LivetCask 3.0.1 NuGet Gallery LivetExtensions 3.0.0 .NET Core 用 依存先の Microsoft.Xaml.Behaviors.Wpf が .NET Core 対応をしていないため、こちらのパッケージも Prev…

  • Go 言語で学ぶ AWS Lambda の学習用環境構築メモ

    技術書典 7 で Goで学ぶAWS Lambda を見て BOOTH で購入しました。 booth.pm さくっとみてみると macOS 上に Python, aws cli, go, docker などを入れてます… う~ん、どれも普段使わない関係のものなので PC に直接入れたくない…!?ということで最近試してみてる Visual Studio Code のリモート開発で環境を作ってみようと思います。 docker on docker しないといけなくなったら、その時にまた頑張ろう。ということでとりあえず AWS の CLI と go が入ってる状態を目指します。 ベースとなるテンプレート…

  • C++/WinRT で Windows Runtime Component を作って C# から呼ぶまで

    ちょっと迷ったのでメモしておきます。 C+/WinRT自体についてはこちら docs.microsoft.com 上のドキュメントの、このページの部分に関連してます。 docs.microsoft.com docs.microsoft.com Step 1: Windows Runtime Component プロジェクトの作成と idl の定義 Windows Runtime Component (C++/WinRT) のプロジェクトを作成します。今回は名前は MyComponents にしました。 Class.idl` があるのですが、これは消します。 そして Person.idl を作成…

  • docker 上に Vue.js + TypeScript の開発環境を整えて Visual Studio Code で開く

    とりあえず新しいマシンにして docker が快調に動くようになったので少し色々試してみてます。昨日は Python の環境で今日は Vue.js で試してみました。 blog.okazuki.jp これのいいところは、誰かが環境整えたら他の人は VS Code で開くだけで同じ環境で開発できちゃうところですよね。 環境作り とりあえず、適当な空のフォルダーを作って、そこにリモート開発の設定を追加します。何かベースにいいのがないかなと探してたら node.js LTS + TypeScript がありました。君に決めた。 生成された Dockerfile に Vue CLI を入れるコマンドを…

  • プログラミング言語勉強用の環境を Visual Studio Code + Docker で手に入れてみる

    Visual Studio Code を入れます。 azure.microsoft.com Visual Studio のリモート開発の拡張機能を入れます。 marketplace.visualstudio.com そして docker を入れます。 www.docker.com Windows の人は入れたら設定からドライブ共有をオンにしておきましょう。 Python 3 の環境が欲しい 適当なフォルダーを Visual Studio Code で開きます。 F1 や Ctrl + Shift + P あたりでコマンドパレットを出して Remote Add あたりで検索すると Remote …

  • Visual Studio Users Community #1 で「はじめよう Azure Functions」というタイトルで発表してきました

    久しぶりにプライベートな活動として登壇してきました!! はじめよう Azure Functions from 一希 大田 www.slideshare.net Azure Functions の開発してましたが、Azure ポータルを一回も開かなかったセッションでした。 今回紹介したものの中では SignalR Service はローカル版がないので実際にクラウドに作ってますが、こちらもフリープランがあったりします。 開発してローカルで動かしてる限りは 0 円ではじめられるので是非是非セッションの目的であった Azure Functions いいなって思ってもらえたら試してみてください! Vi…

  • Visual Studio Code で CLI から今開いている VS Code でフォルダーを開くコマンド

    今まで $ code . してたのですが、これだと新しいウィンドウが開いてしまっていました。-r オプションをつけると今あるものを再利用してくれるようです。 さらに --add オプションはワークスペースにフォルダーを追加してくれる。 ということなので、例えば sample1 フォルダーと sample2 フォルダーを作って git init でもした後に、VS Code で同じワークスペースとしてフォルダーを開くには以下のコマンドを打てばいい感じです。 $ mkdir sample1 $ cd sample1 $ git init $ code -r . # 一度画面がリフレッシュされるので…

  • Promise 対応していないコールバック形式のライブラリーを Promise にしたい

    Node.js v8.1 で util.promisify っていう関数が追加されてたんですね。 古き良き伝統にしたがったコールバック形式の関数を Promise を返す形にしてくれる。つまり await 出来るようになる! nodejs.org ということで、今時コールバック形式のライブラリなんて…と思ってたら azure-storage がそれでした。 ということで使ってみよう。 使い方は簡単。 const f = util.promisify(hogehoge); のようにコールバック形式の関数を渡してやると Promise を返す関数になるので… await f(); とすれば OK。…

  • Surface Pro ユーザーが Dell の New XPS 13 2-in-1 を買ってみた感想

    買ってみたのは以下の New XPS 13 2-in-1 です。 Dell Cinema & HDRディスプレイ搭載のXPS 13インチ7390 2-in-1ノートパソコン Dell 日本 構成は以下のような感じ メモリ 32 GB CPU Core i7 SSD 1TB キーボード配列 US 色は黒 買い替え前は Surface Pro 2017 年モデルです。 メモリ 16 GB CPU Core i7 SSD 512 GB キーボード配列 US キーボードの色は赤 買い替え理由 最近 Docker や Visual Studio や Visual Studio Code や Web …

  • ASP.NET Core 3.0 + gRPC + WPF on .NET Core 3.0 で Azure AD を使って認証・認可

    過去記事 blog.okazuki.jp blog.okazuki.jp 本文 前回、認証だけはやりました。今回はユーザーの権限とかを見て何かしたいとか、この API は呼べる、呼べないを構成していきたいと思います。 Azure AD のグループ機能で認可してみよう Azure AD のグループでユーザーをグループに所属させることが出来ます。私の環境ではグループ作る時にセキュリティと Office 365 が選択出来ますが今回はセキュリティの方で適当にグループを作ります。 グループを作って適当にユーザーを所属させます。そしてグループを識別するためのオブジェクト IDを控えておきます。以下のよう…

  • ASP.NET Core 3.0 Preview 8 で gRPC に Azure AD 認証つけてみよう

    さて、前回は簡単に呼び出す奴を作ってみました。 blog.okazuki.jp 今回は Azure AD 認証を付けたいと思います。 Azure AD にアプリの登録 では、Azure AD にアプリを登録します。サーバー側とクライアント側の 2 つを登録しましょう。 サーバーアプリの登録 とりあえずシングルテナント(自分のテナントのユーザーだけ)でさくっとサーバー側を作ります。 サーバー側のアプリが作成されたら、スコープを追加します。「APIの公開」で 「Scope の追加」を選択して適当な名前で作ります。 まず、アプリケーション ID URL を作るように言われるので「保存してから続ける」…

  • ReactiveProperty v6.1 をリリースしました

    プルリクエストをマージしてリリースするだけの簡単なお仕事。 詳細は GitHub のリリースページから! Release v6.1.2 · runceel/ReactiveProperty · GitHub プルリクエストや Issue への投稿いつもありがとうございます。多謝!

  • ASP.NET Core 3.0 で gRPC してみよう

    .NET Core になると WCF のサーバーサイドが消えて移行先として gRPC があげられてるのを何処かで見た気がします。OSS の WCF もあった気がするけど、そっちはよく見てない。 ということで、ASP.NET Core 3.0 Preview で gRPC 試してみようと思います。 プロジェクトの作成 今日は出先のカフェでコーヒー飲みながら Surface Go で書いてます。なので Visual Studio 2019 は入ってない(Surface Go には重すぎた)ので、Visual Studio Code でいきます。 適当なフォルダーで空の Web アプリを作ります。 …

  • Azure Kubernetes Service のハンズオンしてきた!その復習

    お盆で帰省してたタイミングで丁度下のイベントが行われていたので参加者として参加してきました! hiroshima-jug.connpass.com 今まで Azure だと Web App とかで割となんとかなっていたので使うことはなかったのですが興味はあったので丁度いいと思ったのがきっかけ。 復習もかねて実際に使った以下のリポジトリーの内容を見ながら自分でもやってメモっておこうと思います。 github.com Azure Kubernetes Service (AKS) 名前のとおり Azure の Kubernetes のサービス。 ノード数とノードのスペックくらいを設定しておけば、あと…

  • Azure Boards(タスク管理ツール)が Slack 対応しました

    docs.microsoft.com へ~、まじで。試してみよう! ということで Slack でアプリ追加をしてみます。アプリ一覧で Azure で検索するとありました。。 Pipelines (自動ビルド)もあるんですね。まぁ今回は Azure Boards をインストールします。 インストール時の設定項目はこんな感じ。 インストールするとチャンネルに以下のようなメッセージが出てきます。 では、/azboards signin をしてみます。 すると、以下のようなメッセージが出てきます。 Sign in ボタンを押すとサインインして以下のような承認画面が出てきます。 承認をすると数字が表示さ…

  • Azure App Service の Easy Tables と Easy API が消える…!?

    azure.github.io 2019/11/09 に消えちゃうみたいです。 GUI が無くなるだけで、まぁ結局は node.js のコードとか設定ファイル書けば動くよ~ということではあるのですが、Mobile Apps 関連機能はメンテナンスモードにもなってるので、Visual Studio App Center の方への移行を検討するか、自分たちで作るかということになるのかなぁという感じです。

  • Durable Functions の Entity のクラススタイルプログラミングモデルを試してみよう

    Durable Functions の Entity のプログラミング体験が割と辛いのですがクラススタイルのプログラミングモデルを使うと既存のプログラミングと同じような感じでいけて素敵です! クラススタイルのプログラミングモデルは、2019/08/05 時点では Durable Functions v2.0.0-beta1 で試すことが出来ます。 github.com 試してみよう! 早速 Azure Functions のプロジェクトを作ります。そして Microsoft.Azure.WebJobs.Extensions.DurableTask の 2.0.0-beta1 を追加します。 ク…

  • Marp で上詰めにする方法

    Marp でスライド作るのを色々試してるのですが、全体的にコンテンツを上下方向で中央寄せになってるのが気になりました。 なんとなく上からコンテンツを詰めていくようにしてほしい。ということで section タグに以下のようなスタイルを当てることでパワポのように上からコンテンツを配置するようになりました。 section { justify-content: start; } 元のように中央寄せにしたい場合は justify-content: center; にすれば OK です。

  • ReactiveProperty v6.0.2 をリリースしました

    しました。 Release v6.0.2 · runceel/ReactiveProperty · GitHub メジャーバージョンが上がってます ということで、1 つ破壊的変更があります。 これまで WPF では EventToReactiveCommand と EventToReactiveProperty を使うのに Blend SDK のアセンブリの Behavior を使用していました。 この Blend SDK は Visual Studio 2019 から同梱されなくなっていて、公式の NuGet パッケージもない状態になりました。そのため、それを置き換える OSS の Beha…

  • ASP.NET WebForm に Vue.js を入れてみよう

    Vue.js は Progressive なので出来るでしょう。 プロジェクトの作成 ASP.NET WebForm のプロジェクトを作ります。凄く久しぶりなのですが、普通に ASP.NET Web Application のプロジェクトテンプレートの中の選択肢にありました。 Scripts フォルダーに vue.js をコピーして下準備完了です。 Default.aspx の変更 このページは Vue.js で作る!という意気込みで行くなら簡単です。Scripts フォルダーに default.js を追加して、以下のような感じで Default.aspx を編集します。 <%@ Page …

  • WPF の TreeView で任意の項目が表示されるようにスクロールする

    というネタを見つけたのでやってみます。久しぶりの WPF ネタ!因みにせっかくなので .NET Core 3.0 Preview 7 で VS2019 Preview 使ってやってみます。 表示用データはこれ! using System; using System.Collections; using System.Collections.Generic; using System.Text; namespace TreeViewScrollSample { public class Person { public string Name { get; set; } public IEnume…

  • Marp を使ってスライドを作ってみる

    三宅さんに教えてもらったものを使ってみました。 https://t.co/G5w8TNlpEiですね— k-miyake (@kazuyukimiyake) July 21, 2019 Marp というものですが、調べてて気を付けないといけないなと思ったのは最近作り直されたみたいなので、何か調べるときは新しいほうを当たるようにしたほうがよさそうです。 各種機能はこちらから。 marpit.marp.app ちょっと見た目カスタマイズしたい! テーマ作ることも出来るみたいなのですが、まだ VSCode の拡張機能のテーマ対応は絶賛作り中みたいです。なので、今回は style で指定する方法でやっ…

  • Marp 使う時に見るもの

    marpit.marp.app

  • 縦横スクロールつきのテーブルを Web で使いたい

    むか~~しむかし、Flash や Silverlight みたいなブラウザープラグイン系のリッチクライアントアプリケーションのプラットフォームと HTML 5 が覇権を争ってた時代がありました。私はブラウザープラグイン寄りの人で「DataGrid コントロールがあるだけでプラグイン系のほう使うわ」って思ってました。 やりたかったことは 表形式でデータを表示したい 表を縦横スクロールしたい スクロールしても固定列や固定行はスクロールしないで欲しい JavaScript で頑張ることで当時でもできてましたが、結構しんどかったら重めだったりと何かと問題がおきがちだった気がするので例えば <DataG…

  • Azure API Management を使って Azure Functions に認証つけてみた

    とりあえず API Management + Azure AD B2C による認証をトライしてみようと思います。 あ、注意点としては、この手順を実施しても Azure Functions 自体は認証キーによる認証で保護してるだけなので、認証キーばれたら叩かれる感じではあります。 Azure AD B2C 作ろう Azure ポータルから Azure Active Directory B2C を作ります。 まず 新しい Azure AD B2C テナントを作成します から作成します。 作成時に国とリージョン選びますが日本はないので、ここらへんのドキュメントを参考に… docs.microsoft…

  • 続:Postman 使ってたけど VSCode の REST Client に乗り換えた

    超適当に書いた記事に限ってブクマが伸びる件について。400超えって…。 REST Client って自分の用途的には、非常にシンプルな REST API を Visual Studio Code を使う機会が多い環境で別途ソフトウェアを立ち上げることなくテストできて、しかもテキストファイルに保存しておけるという点がポイント高い感じでした。 blog.okazuki.jp とまぁブクマがたまると何がいいって自分ならこうしてるという意見がたくさん拾える!!ということで気になったものをいくつか試してみたいと思います。 Chrome の Copy as cURL Chrome の開発者ツールの Net…

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

    DB に Cosmos DB を使って Azure Functions を使って少ないコードで読み書きする API を作って API Management で CORS の設定と Open API の定義を作って Blazor で AutoRest で生成したクライアントを使って API を呼ぶ SPA を作ってストレージアカウントの静的 Web サイトに置いて動かしてみました。 以下のような感じの構成ですね。 動いてるところはこんな感じ。この動画ではわかりませんが、ちゃんとクライアントサイド Blazor です。 youtu.be コードは下に置いてますが、ARM Template などは用…

  • REST API のテストに Postman 使ってたけど Visual Studio Code の REST Client に乗り換えた

    くっ、名前だけ知ってたけどこんなの便利だとは…!! marketplace.visualstudio.com Azure API Management の Visual Studio Code 拡張機能で API のテスト呼び出しに REST Client が使われてるので使い始めてみたのですが「あっ、ハイ。便利っすね…」という感想しか出てこないくらい便利でした。 普通に HTTP のリクエストをテキストで用意しておくと Send Request 押すだけでレスポンスを出してくれる…。 先人の方々が沢山紹介してくれてる記事があるので詳しい使い方とか推しのポイントはそちらを見るとわかりやすいと思…

  • Azure の機能を使った野良ハンズオン資料の紹介

    id:himanago さんの Qiita (Qiita のアカウントは @himarin269) の記事にいくつか Azure を使ったハンズオン資料があります。 全てサーバーレスサービスで Web アプリ作成 DB に Cosmos DB、API に Azure Functions、Web アプリのホストに Storage Account を使ったサーバーレス構成での Web アプリを作るハンズオンです。 Jazug Night でやるつもりのデモと、ほぼ同じ構成でびっくりしました(使う言語とかは違うけど…) qiita.com Amazon Alexa, Google Assistant…

  • TypeScript で Jest 使ってみた

    TypeScript(というか JavaScript) のユニットテストって何がいいのかなぁというのがわからなかったので、とりあえず自分の観測範囲でよくみる感じの Jest 試してみました。 とりあえずシンプルに以下のコマンドをうってコンソールで始めてみようと思います。 npm init -y tsc --init npm i -D jest npm i -D @types/jest npm i -D @types/node tsconfig.json に "outDir": "./dist", を設定してビルド結果が dist フォルダーに出るようにします。そして package.json …

  • Vue.js で Router 使ってみよう

    Router 使うと簡単に画面遷移するアプリ作れるってことで試してみましょう。 まぁ、Vue.js は公式ドキュメントがとてもよくて、さらには日本語もあって読みやすい!!なので、公式みたらわかるようになってるのですが、とりあえず試してみたログということで。 ちなみに Vue Router のドキュメントはこちら router.vuejs.org Router のないプロジェクトを Vue CLI で作ろう とりあえずサクッと作ります。Router のない TypeScript のプロジェクトを作りました。とりあえず現状の最新の Vue CLI 3.9.2 でやってます。 $ vue creat…

  • Windows デスクトップアプリ開発と消えた Prism for Windows (Prism は消えてないよ)

    これの続きです。 blog.okazuki.jp Prism for Windows(UWP) って書いてるけど MVVM アプリって何で作ったらいいんだっていう感じのコメントがついてるので事実だけを淡々と Prism は以下のプラットフォーム向けに提供されていた WPF Xamarin.Forms UWP これがこうなった WPF Xamarin.Forms 以上 UWP...? UI テクノロジーという意味では、今後開発リソースが注がれる Windows UI Library がメインストリームとなるという感じです。OSS で GitHub 上で開発されています。 ロードマップも出ています…

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

    Azure API Management の従量課金プランが GA しました。 azure.microsoft.com つまり… Azure Storage Account の静的 Web サイトホスト機能で SPA をホスト Azure Functions の HttpTrigger で処理を作成 Azure API Management で Azure Functions を SPA 向けに公開 Azure Cosmos DB にデータをストア つまり、以下のような感じですね。 全部サーバーレスでいける!! まぁ、でも実際にはステージング環境とかを、この構成で準備するの個人的にだるいんで …

  • Prism for Windows(UWP) が消えてた

    github.com ということで近い将来 Prism 7 系で UWP サポートは無いということで…。 コメントへの返信 ブクマで疑問文投げてくる人に公式で返信する手段が欲しいところ。あるのかな? もう、UWP は Windows 10 の唯一のデスクトップアプリ開発の投資先ではなくなった (今後は OSS の Windows UI Library で UWP, WPF, Win32, etc.. を対象に機能が追加される) ので、もしデスクトップアプリ開発をするのでしたら自分のスキルセットと使いたい機能へのアクセスのしやすさを鑑みて好きなのを使うといいと思います。

  • 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 SDK の推奨っぽい土台作りを見てみようと思います。 ASP.NET Core は現段階での LTS の 2.1 を使ってみます。 ASP.NET Core Web アプリケーションから始めてみる Bot Framework のプロジェクトテンプレートは最初から設定…

  • Azure を始めるアプリ開発者の人がスムーズに使い始められますように

    ということで、これを知っておくと捗ると思うものを独断と偏見で書いていきたいと思います。 リソースとリソースグループ Azure にサーバーを立てたり何かを作ったりするときに、必ずリソースグループやリソースという単語を見ることになります。 これを知らないと、なんなのこれ?これ作るとお金かかるの?どうなの??という心配が心をよぎると思います。ということでまずは、ここから書いていこうと思います。 リソース:Azure 上に作れるもの全てがリソース (VM や Docker のレジストリーやストレージなど全て) これが課金対象になります。フリープランがあるものは制限付きですが無料で使えます。 リソース…

  • ReactiveProperty v5.6.0 をリリースしました

    AsyncReactiveCommand の機能改善です。 具体的には以下のブログ記事の「もっと複雑なケース」への対応になります。 blog.okazuki.jp インストールはいつも通り NuGet から! www.nuget.org

arrow_drop_down

ブログリーダー」を活用して、okazukiさんをフォローしませんか?

ハンドル名
okazukiさん
ブログタイトル
かずきのBlog@hatena
フォロー
かずきのBlog@hatena

にほんブログ村 カテゴリー一覧

商用