yamamoWorks

.NET技術を中心に気まぐれに更新していきます

Windows10でRemoteAppを有効化

あまり流行ってない感がありますが、リモートデスクトップで接続した先のアプリのウィンドウだけ表示するRemoteAppという機能がWindowsファミリーにあります。 通常は会社等でシン・クライアントやセキュリティ対策、アプリケーションの互換性対策として、リ…

ASP.NET Core Web APIでSnake Caseに対応する - ApiExplorer編【追加対応】

ApiExplorer編でSwagger対応が完成したかと思いましたが、パラメータのDescriptionが抜けている状態でした。 /// <summary> /// ユーザ情報取得 /// </summary> /// <param name="userId">ユーザID</param> /// <param name="hideAge">年齢非表示</param> /// <returns></returns> [HttpGet("{userId}")] public ActionResult<User> Get(string userId, bool hideAge) </user>…

ASP.NET Core Web APIでSnake Caseに対応する - ApiExplorer編

おさらい ASP.NET Core Web APIでSnake Caseに対応する - Body編 - yamamoWorks ASP.NET Core Web APIでSnake Caseに対応する - Query編 - yamamoWorks Body編、Query編でモデルクラスやアクションメソッドの引数を変えることなくレスポンスJsonやURLクエリ…

ASP.NET Core Web APIでSnake Caseに対応する - Swagger編

前回でアクションメソッドの引数の変数名はそのままに、クエリパラメータを「snake_case」でリクエストして動作させる事はできました。 昨今ではAPIを作ったらSwaggerで仕様を公開する場面が多いでしょう。 ASP.NET Core Web APIではSwashbuckleを使って簡単…

ASP.NET Core Web APIでSnake Caseに対応する - Query編

前回はレスポンスBodyのJsonに「snake_case」を適応しました。 今回はアクションメソッドの引数の変数名はそのままに、クエリパラメータを「snake_case」でリクエストして動作させるのがゴールです。 おさらい 名称 例 Upper Camel Case (Pascal Case) First…

ASP.NET Core Web APIでSnake Caseに対応する - Body編

こんにちは。最近 Snake Case(スネークケース)という名称である事を知りました。 クラス名や変数名の記法である「PascalCase」や「camelCase」はよく耳にするかと思いますが、他にも色々と名称があるようです。 名称 例 Upper Camel Case (Pascal Case) Fi…

Flowのreplace関数で改行を置換する

突然ですがMicrosoft FlowのTipsです。 うちの組織のTeamsはTwitterコネクタが無効になっているのですがIncoming Webhookは使えるので、Flowでツイートを拾ってWebhookでTeamsに投げるという事をしています。 その際、改行を含むツイートがTeamsの表示で改行…

Google HomeとAzure IoT HubとRaspberry PiでTVとPS4をコントロール【09:BRAVIA編 完】

今回はチャンネルを変える機能の実装です。前回はCEC(Consumer Electronics Control)で電源ON/OFFを制御しましたが、CECは繋いだHDMI機器の連動規格なのでボリュームUP/DOWNや入力切替は出来ますが、チャンネルの切替は対応していません。そこで、テレビに…

Google HomeとAzure IoT HubとRaspberry PiでTVとPS4をコントロール【08:CEC編】

また随分と時間が空いてしまいましたが、今回からはテレビの制御です。 SONY BRAVIAにはリモコンと同じ動作をHTTPリクエストで制御できる仕組みが用意されています。電源ONだけはWake Up On LANの仕組みになっているのですが、私のモデル(HX850)が古いのか…

Google HomeとAzure IoT HubとRaspberry PiでTVとPS4をコントロール【07:Deploy編】

だいぶ間が空きましたが…今回はRaspberry Piへの配置です。 ※全体像および各関連記事へのリンクはこちらから 環境変数の設定 前回までに作成したアプリではAzure IoT Hubへの接続文字列を環境変数IOTHUB_CONNECTION_STRINGから取得する作りにしているので、…

Google HomeとAzure IoT HubとRaspberry PiでTVとPS4をコントロール【06:IFTTT編】

前回までにWehookを起点にPS4を制御するところまで実装できました。今回はいよいよGoogle Home(Assistant)との連携です。 ※全体像および各関連記事へのリンクはこちらから IFTTT IFTTT(If This Then That)はWebサービス同士を連携させるプラットフォーム…

Google HomeとAzure IoT HubとRaspberry PiでTVとPS4をコントロール【05:Functions編】

前回までにAzure IoT Hub経由で呼ばれたらPS4を制御する部分は実装できました。今回から呼び出す側の実装です。 ※全体像および各関連記事へのリンクはこちらから Azure IoT HubはREST APIが用意されているのでIFTTTからWebhookで直接叩きたいところですが、I…

Google HomeとAzure IoT HubとRaspberry PiでTVとPS4をコントロール【04:PS4後編】

前回はps4-wakerをセットアップしコマンド実行でPS4を制御しました。今回はプログラムからps4-wakerのライブラリを呼び出す方法の紹介と、IoT Hubからダイレクトメソッド呼び出しされてPS4を制御する部分の実装を行います。 ※全体像および各関連記事へのリン…

Google HomeとAzure IoT HubとRaspberry PiでTVとPS4をコントロール【03:PS4前編】

前回までに全体像とAzure IoT Hubの設定まで行いました。今回はPlayStation 4の制御とIoT Hubとの連携を実装します。最終的にはRaspberry Piで実行しますが先ずはWindows上のNode.jsで実装してみます。 ※全体像および各関連記事へのリンクはこちらから PS4の…

Google HomeとAzure IoT HubとRaspberry PiでTVとPS4をコントロール【02:Iot Hub編】

前回は「概要編」ということで、これから作る全体像を示しました。今回からは各パーツの設定や作成を行っていきます。 IoT Hub作成 最初は同じくAzureのEvent Hubで構想していたのですが、Freeプランがありデバイスにダイレクトメソッド呼び出しができるIoT …

Google HomeとAzure IoT HubとRaspberry PiでTVとPS4をコントロール【01:概要編】

Google Home miniを購入したので様々な家電のコントロールを実現したいと思い赤外線リモコンの信号を制御するeRemote miniを買いましたが、Amazon EchoやGoogle Homeでスマート家電として認識できるのは現状では照明のみでテレビやエアコンのコントロールは…

認証済みアプリ/サービスの削除ページリンク集

すぐ分からなくなるのでメモ。 「Googleアカウントでログイン」みたいなやつで承認した外部サービスやアプリの認証を削除するページへのリンク集。 Google https://myaccount.google.com/permissions Twitter https://twitter.com/settings/applications fac…

Luhn Algorithm Check Sum

クレジットカード番号などのチェックサムに使われているLuhnアルゴリズムを実装する機会があったので貼り付けておきます。 2019/01/03 追記 Luhnアルゴリズムでチェックデジットを求めるT-SQLの関数も貼り付けておきます。

MediaKey Timer

皆さんSpotifyという音楽配信サービスはご存知ですか? ジャンル&気分というプレイリストがあり作業時や就寝時に音楽を流すのに最適です。 www.spotify.com ただ少し使い勝手が悪く感じる事があります。 例えばSleepジャンルにあるこのプレイリストは全部で…

Visual Studioスタートページの「最近使用したファイル」を自動で整理

昔から気になっていたのです、Visual Studioのスタートページにある「最近使用したファイル」にゴミが残ることを。 コードの動作確認などで一時的なプロジェクトを作っては消すなんてことは皆さん多々あると思うのですが、「最近使用したファイル」は既に存…

Xamarin.Forms.Platform.WinForms

ひょんなことからXamarin.FormsをWindows Formsで動かす事に挑戦してみました。 @amay077 Xamarin.Forms.Platform.WinForms作ればXAMLだって! #さすがにそれは— nuits.jp (@nuits_jp) 2016年12月20日 Xamarin.Forms.Platform.WinForms 作ってみた! #JXUG #…

MSALをXamarin.Forms+Prismで使う

本エントリーは Xamarin Advent Calendar 2016 (その2) 22日目のエントリーです。 今回はMicrosoftの認証ライブラリ「Microsoft Authentication Library」のXamarin.Forms + Prismで構成されたモバイルアプリでの実装方法を紹介します。 Microsoft Authenti…

Azure Mobile AppsのEasy TablesでAdd from CSVが出る際の回避方法

2016/11/19現在、以下の不具合は解消されているようです Azure Mobile AppsのEasy Tablesですが、ここ数日(2016/11/11現在)の間に「Add from CSV」を実行すると下記のエラーが発生するようになってしまいました。 これはMobile Apps側の不具合のようです。…

AzureVM Power Switch

Microsoft Azure 仮想マシンの起動、停止が行えるモバイルアプリケーションです。 先行してWindows 10 Mobile/Windows 10版のアプリを公開していましたが、新たにiOS版、Android版が加わりました! 機能概要 仮想マシンの起動、再起動、停止 複数アカウント…

ActivityIndicatorをProgressBarからProgressRingに変更する

Xamarin Formsの読み込み中などの状態を表現するActivityIndicatorですが、iOSとAndroidではグルグル回る円で描画され、UWPでは何故か左から右に粒が流れるProgressBarで描画されておりデザインの統一が取れなくて困ります。 iOS Android UWP そこでカスタム…

TableViewにコレクションデータをバインドする

Xamarin FormsのTableViewはListViewと異なりコレクションデータをバインドする機能はありません。 TableViewは設定画面の構築で使用する事を想定しているようですが、メールのアカウント設定のように可変なレコードを扱いたいケースがあるかと思います。 こ…

Kaspersky 16.0.1.445 で Visual Studio 2015 が起動しなくなる場合の対処方法

追記(2016/09/05) どうやら下記の問題は対応されたようですね。 定義ファイルの更新と同時にパッチも適応され、バージョン16.0.1.445(e)であれば問題ないようです。 原因不明で3回もOS再インストールするハメになったのでエントリー (# ゚Д゚) KB3165756のイン…

Google Calendar Mobile Gateway 10周年

10年前、どんな携帯電話を使っていましたか? 今やスマートフォンが主流ですが当時はガラケーの全盛期でした。 一方、インターネットでは様々な便利なサービスが出現していましたが基本的にはパソコンのブラウザで利用するもので、携帯電話で利用できるサー…

Xamarin Formsでアイコンフォントを表示する

UWPではアイコンフォントがSymbol 列挙値として定義されていて簡単にアイコンフォントを表示する事ができますが、残念ながらXamarinにはこのような機能はありません。 そこでXamarin Formsでも同じアイコンフォントを使えるようにしたいと思います。 準備 Sy…

Xamarin.Forms ListViewのGroupHeaderの高さ調整

いやぁXamarin.Formsは壁が多い奥が深いですね。 今回はListViewをグルーピングした際のレイアウトについてです。 ListViewをグルーピングしてそのヘッダー部分をViewCellでカスタムレイアウトする場合に一筋縄ではいかない事が分かったのでメモしておきます…