わんくま同盟 Blog's

Web Name: わんくま同盟 Blog's

WebSite: http://blogs.wankuma.com

ID:68521

Keywords:

同盟,Blog,C#,VB,NET,ASP,Windows

Description:

[ignite]Microsoft Ignite 2020 https://myignite.microsoft.com/まもなく日本時間の9/23の0:15からMicrosoft Ignite 2020がスタートします(現地時間で9/22~9/25)。新型コロナウィルスの影響が出始めた直後に開催されたMicrosoft Build 2020と比べるとシアトル現地時間帯以外のタイムゾーンでも見やすいようにリピートセッションが組まれています。また、公式サイトも時差込みに時刻表示もできるようになっており非常にわかりやすいです。キーノートについてキーノートセッションともいえるサティアCEOによる「Building Digital Resilience(デジタルレジリエンスの構築)」は、次の3回の放送が予定されています。9/23 00:15 JST-01:15 JST9/23 08:15 JST-09:15 JST9/23 16:15 JST-17:15 JST日本のタイムゾーンだと2回目あたりの時間が見やすいと思います。他のセッションもおおむねそんな感じですね。ちなみにデジタルレジリエンスというのは、デジタル社会による復元力や事業継続性というような感じなのでしょうしょうか。インフラも含めて企業の事業を継続できるようなものを作り上げるというような視点の知見をお話いただける感じかな?おすすめセッションおすすめということでもないのですが、現時点で視聴予定のセッションリストは次のような感じです。注目キーワードは赤くしてみました。9/23 00:15-01:15 Building Digital Resilience9/23 01:15-01:40 The Future of Work9/23 01:40-02:05 Microsoft Power Platform: Fill the App Gap and Supercharge Organizational Agility9/23 02:05-02:30 Microsoft Dynamics 365: Reimagine How You Can Meet The Needs of Tomorrow9/23 02:30-03:00 Invent with Purpose on Azure with Julia White and Friends9/23 03:00-03:25 Achieve resilience with Security, Compliance, and Identity9/23 04:15-04:45 What’s new in Azure Cognitive Services9/23 12:45-13:00 Team Culture with Microsoft Teams9/24 00:30-01:00 Are we there yet? App Development in Azure with Scott Hanselman and Friends9/24 01:00-01:30 Microsoft Azure ‘Unplugged’ with Jason and Billy9/24 01:30-01:55 Panos and Brad Unplugged?A Conversation About New Hybrid Workstyles with Windows and Microsoft 3659/24 01:55-02:40 Envisioning the Future: How Microsoft Approaches Innovation9/24 03:45-04:00 Reimagining medical training with Dynamics 365 and Guides in the COVID era9/24 05:45-06:15 Transforming the modern workplace with Microsoft Teams platform9/24 06:30-07:00 Azure IoT services, roadmap and vision: from connected assets to connected environments9/24 07:00-07:15 Azure AI and IoT to support smart office reopening with RXR Realty9/24 07:15-07:45 Learn how Lockheed Martin is advancing spaceflight with the HoloLens and mixed reality9/24 19:45-20:00 Using Dynamics 365 Customer Voice to support employees returning to work safely during COVID-19 posted @ 2020/09/22 21:06 by 初音 玲 Visual Studio CodeでUiPathのログを見やすく UiPathのログを見てみましょう。効率よくバグの原因を見つけるためには、ログを見やすくするのがおススメです。ある程度のレベルの方は、自分なりの方法を見出していると思いますが、私がよく行っている方法をご紹介します。0.はじめに某所で、UiPathの好きなところ、と聞かれてLOGの柔軟性と答えました。UiPathのログは.NET開発者にはおなじみApacheプロジェクトのlog4netです。こういう枯れたライブラリを使っているのも好きなポイントだったりします。ただ、正直なところ、UiPathが生成するログはJSON形式にオマケがついていて、そのままではちょっと見にくかったりします。私が普段ざっとログを見てる方法を簡単ですがご紹介します。私はMicrosoft社系技術のファンです。その大きな理由はVisual Studioとか開発系技術のファンです。そのため、使用するエディタはここ最近Visual Studio Codeです。これを使ってログを見ていきましょう。1. ログを開くにはログを簡単に開くには、UiPath Studioの「ログを開く」リボンメニューを押しますすると、ログが入っているフォルダが開きます。実行ログは既定では「日付_Execution.log」というファイル名です。ではこれをVisual Studio Codeで開いてみましょう。2.ログの確認拡張子がLOGであるため、LOGモードで開かれます(図1)。画面右下に「Log」と表示されていることからも分かります。なお、ここをクリックすると他の言語向けの表示に変更できます。このままだと一覧性は高いのですがエラーの確認をしようにも右に長すぎて見る気が起きません。画面右下の「Log」と書かれたところをクリックして「JSON」に変更してください。図1.Visual Studio CodeでUiPathのログを開いたときの画像3.エラーが起きている行の確認さて、図1を見ていただくと2行めがエラーになっていることがわかります。2行目をCtrl+Lなどで全選択した後右クリックして「選択範囲のフォーマット」を選んでください。すると、選択した行が項目ごとに表示されて、とても見やすくなります。図2.フォーマット後の表示4. おまけ:エラー個所の特定についてエラーの発生個所は、既定ではmessage項目に表示されているアクティビティの表示名(図2,3赤枠部)からでしか分かりません。ちゃんとエラー発生個所を特定できるように表示名はちゃんと記載しましょう。代入アクティビティは、型違いとか配列の操作ミスでエラーが発生しがちなのですが、「代入」しかログに無いとエラー発生個所を探すのが大変です。例えば、UiPath StudioXでは自動で通し番号が付与されます。できるだけ一意の名前にしましょう。(通し番号も、運用によってはアクティビティ増やしたらドキュメント全部修正とかになるのでビミョー。命名規則ホント大事っす。)図3.このログのもとになったロボットプログラム posted @ 2020/07/12 2:42 by ちゅき .NETの関数を使ってワイルドカードを使用したファイルの存在チェックがしたい! 【備忘録用】UiPathとかRPAでファイルの存在チェックをワイルドカードを付けて確認したかったとき用。File.Existsメソッドはワイルドカードが効きません。.NETはWindowsだけのおもちゃとか思ってるアンポンタンさんはいないと思いますが、その前提としてすべてのルールがWindows OSに準拠するわけでないことを忘れがちです。もし、”*”がワイルドカード一択になると、”*”がファイル名として許される処理系で動かなくなってしまいます。このためかとな、と勝手に思っています。ではどうするか・・・。1)特定ディレクトリにあるファイルをワイルドカードを使って取得するあんまり細かく考えないでもいいんですよね。Directory.GetFiles の第2引数は検索条件が指定出来てこちらはワイルドカードが効きます。Dim arFiles = System.IO.Directory.GetFiles(“C:\temp",”hogehoge*.txt) これでOKです。ファイルが存在しなくても空の配列返してくれるのでヌルポでガっしなくても済みます。注:ディレクトリが存在しないとエラー扱いで例外が発生します。存在が怪しい場合Directory.Existsメソッドで存在確認を行ってください。2)結果の確認方法1.Countメソッドを使用する方法すぐに思いつくのは、次の通りです。存在しなくてもエラーが出ず0を返してくれるので安心です。arFiles.Count() 02. Anyメソッドを使用する方法(こちらがオススメ)こちらがオススメです。DataTableに入っている行などのコレクション型は自身の個数を持ってるのでそこから取得します。単純な配列は、すべての個数をクルクル回して確認するのでイロイロともったいないです。そこで、Anyメソッド。メソッド内で一つでも要素があればtrueを返すのですんごい高速です。arFiles.Any()【ご参考】UiPathだとこんな感じContainsメソッドなんかも知っておくと、配列内で特定のものが含まれているかを調べたいときにとても便利です。配列の場合、頭からくるくる回しでチェックするので繰り返しで回すのと処理は同じですが、システムがやってくれる分高速です。 posted @ 2020/06/30 11:26 by ちゅき OBS Studio + OBS-WebSocketで字幕表示するときの2020/04/09現在の注意点 映像録画&ライブストリーミング用のオープンソースプロジェクトOBSのOBS Studioにはプラグイン拡張でWeb Socketのインターフェースを追加することができます。OBS Studio (現時点での最新は、25.0.4)https://obsproject.com/ja/OBS-WebSocket (現時点での最新は、2.7)https://github.com/Palakis/obs-websocket/releasesOBS-WebSocketのC# .NET Libraryhttps://github.com/Palakis/obs-websocket-dotnetOBS Studioが24→25に変わったときに文字を表示する領域(OBS Studioではソースと言います)のIDが変わってしまっているようで、OBS-WebSocketで、SetTextGDIPlusPropertiesやGetTextGDIPlusPropertiesを使うときに正しいソース名を指定しても「not a text gdi plus source」というエラーになってしまい、OBS Studioに字幕が表示できません。https://github.com/Palakis/obs-websocket/issues/443すでにこのissuesはソース的には修正が入っております。具体的には、ソース名でヒットしたソースの属性チェックのところで、従来の「text_gdiplus」というIDに加えて、「text_gdiplus_v2」というIDもエラーにしないように修正されています。https://github.com/Palakis/obs-websocket/pull/448/commits/846d52ebe58d5f9f819680afa9d8a3e7516ab380この変更は、「added this to the 4.8 milestone」とのことですので、OBS-WebSocketのVersion 4.8には入ってくるようです。そのため、2020/04/09時点での解決方法は次のようになります。OBS-WebSokcetの最新ソースから version 4.8 相当のバイナリをビルドして使用するOBS Studioを24系にダウングレードする[en]OBS Studio from OBS, an open source project for video recording and live streaming, has a plug-in extension that adds a Web Socket interface.OBS Studio (currently the latest is 25.0.4)https://obsproject.com/ja/OBS-WebSocket (current version is 2.7)https://github.com/Palakis/obs-websocket/releasesOBS-WebSocket's C# .NET Libraryhttps://github.com/Palakis/obs-websocket-dotnet.When OBS Studio changed from 24 to 25, the ID of the area to display text (called source in OBS Studio) seems to have changed, and even if I specify the correct source name when using SetTextGDIPlusProperties or GetTextGDIPlusProperties in OBS-WebSocket, I get the error "not a text gdi plus source", and I can't display subtitles in OBS Studio.https://github.com/Palakis/obs-websocket/issues/443This issues has already been modified in terms of source.Specifically, the ID of "text_gdiplus_v2" in addition to the ID of "text_gdiplus" in the attribute check of the source hit by the source name has been modified so that it is not an error.https://github.com/Palakis/obs-websocket/pull/448/commits/846d52ebe58d5f9f819680afa9d8a3e7516ab380.This change is "added this to the 4.8 milestone", so it seems to be coming in Version 4.8 of OBS-WebSocket.Therefore, as of 04/09/2020, the solution is as follows.-Build and use a binary equivalent to version 4.8 from the latest source of OBS-WebSokcet.-Downgrade the OBS Studio to the 24 posted @ 2020/04/10 8:16 by 初音 玲 [hardware][dellambassadar]Dell New XPS 13 2-in-1は、リモートワークの最強の相棒! デルアンバサダープログラムで1か月お借りしているNew XPS 13 2-in-1を使い倒してみました。New XPS 13 2-in-1 プラチナのスペックとは一言でいえば「小さくて軽いボディサイズに最新CPUと大容量SSDというパワフル構成」といえる製品です。会社の机に座ってひたすらコードも書くことも多いですが、お客様先でのプレゼンや、移動時間でのプログラミング(意外と到着時間までのタイムトライアル的な感じになるるので作業が捗ります)などリモートワークで仕事することも多く、「軽くて」「携帯性がよくて」「速くて」「画面解像度が高い」ノートPCというのは、私の仕事の能率に直結したりする重要はファクターだったりします。結論から言えば、このNew XPS 13 2-in-1は、私のとっての現時点で最強のリモートワーク用デバイスと言いきれちゃいます。それでは、どのあたりが最強なのか、日々のお仕事シーンでどれくらい使い勝手が良いかを考えながら、実際に試してみましょう。Microsoft HoloLens 2向けアプリ開発に使ってみようHoloLens 2もUSBケーブルはType-Cなので、Type-Cを2口もつNew XPS 13 2-in-1との接続性は極めて良好です。上の写真は、HoloLens 2のカメラ映像をNew XPS 13 2-in-1の画面にプレビュー表示しているところです。そして、HoloLens 2付属のケーブルを使えば、New XPS 13 2-in-1の充電(メーカー保証はないですが)もできてしまうので、なんとなくお得感があります。もちろん、Visual StudioやUnityを使ってHoloLens 2アプリを作成するときも、第10世代 Core i7の性能で非常に快適です。このCPU本当に速いですね。そして、解像度が高くてきれいな表示のディスプレイは、コードの見通しの良さや開発ツールの各種パネルを出してもプレビュー表示しやすいなどの利点につながってきます。なにより、HoloLens 2のようなキーボードが付いていないデバイス向けアプリを作成するときのタッチディスプレイの快適さといったら!これ、HoloLens 2だけじゃなくて、スマートデバイス向けアプリ作るときも同様ですね。Azure Kinect DKアプリ開発に使ってみようAzure Kinect DKは、カメラ映像やその映像に映っているものとの距離を測定することができるマイクロソフトのAIセンサーです。このAzure Kinect DK向けのアプリ開発や、セミナーでの登壇なども行っているのですが、New XPS 13 2-in1を使えば、ケーブル周りが非常にすっきりします。なぜならば、New XPS 13 2-in-1のUSB Type-CからAzure Kinect DKをつなげば、データ転送だけではなく給電にも使えてしまうので、Azure Kinect DKに別途電源を接続する必要がないのです。これは本当に助かりました。また、本来はnVidiaのGPUが必要なのですが、第10世代 Core i7のCPUパワーであれば、FPSはかなり低いですが、それでもAzure Kinect DKのBody Trackingが動いてしましました。リモート会議で使ってみようコードだけ書いていて仕事が進むのならば、すごく楽しく楽なんですがどうしても会議とかも必要です。そんなときにもNew XPS 13 2-in-1は大活躍でした。New XPS 13 2-in-1は、ディスプレイ部分の角度がいろいろ変えられて「ノートブックモード」「タブレットモード」「スタンドモード」「テントモード」の4つのスタイルにすることができます。リモート会議で便利だと思ったのは次の「テントモード」です。こんな感じでMicrosoft Teamsを使ってリモート会議するときもこんな感じでテレビ電話感覚で会議を行うことができます。ホワイトボード機能を使って、図を描くときなんかもタッチディスプレイですから、付属のペンを使って紙感覚で精細な絵を描くことも可能でした。スマートフォンと連携して使ってみようこのブログ記事の写真は、Androidスマホで撮影した写真を、Dell Mobile Connectを使って瞬時にNew XPS 13 2-in-1に取り込んだものを掲載しています。また、スマホにかかってきた電話をPC側で受けたり、スマホ画面をPCにミラーリングすることができます。XamarinというC#でiOSやAndroidアプリが作れるツールを使ってVisual Studioでプログラミングしているのですが、実機デバッグ実行時にこのDell Mobile Connectのミラーリングはとても手軽でいいですね。最後になんといってもそのサイズの小ささと1.3kgという軽さは正義です!とはいえ、それは奇麗なタッチディスプレイという視認性の良さがあればこそですね。返却時期がきてしましましたが、New XPS 13 2-in-1と別れたくない気持ちです。このまま、最強のリモートワーク用デバイス生活継続したいです。 posted @ 2020/02/29 23:08 by 初音 玲 [hardware][dellambassadar]XPSでアプリ開発をしてみた件 デルアンバサダープログラムで1か月お借りしているDell XPS 15プレミアもそろそろ返却期間が近づいてきました。最近は、steamでのゲームだけではなく、Visual Studioを使ってC#でアプリ開発などにも使っています。実際に開発に使ってみると、とても具合がよくてこの1か月ですっかり虜になってしまった。何がいいかといえば、広い、速い、手触りいい!ということに尽きる。広いまずは、23840x2160という画面解像度と15インチという広さがもたらす視認性の良さがコードを書きやすくしてくれます。推奨の表示スケール250%にしておいても作業領域は十分な広さであるし、何もよりも文字が見やすく疲れません。速いそして、速いCPU、速いSSD、十分なメモリ空き容量もあるのでコードをビルドするときも短時間で済むし、最近のIDEが備えている各種インテリセンス機能をONにしていても作業を待たされることなく、いろいろな助言を開発環境自体から受け取ることができる。手触りいい自宅でも会社でもノートPCを使うときは外付けキーボードを使っている。ノートPCのキーボードも短時間であれば疲れないが、やはりどうしても長時間ずっとキー入力していると若干疲れ具合が違うし、やはり、外付けキーボードの方が指先が触れる感触がやはり違うのです。意外といっては失礼かもしれないか、Dell XPS 15プレミアのキーボードはノートPCの部類の中ではさわり心地もよく、実際に長時間使ってみても指先の疲れ度合いがだいぶ少ない感じがする。キー配列も日本語キーボードなのにまともだし、何よりエンターキーの右側に更にキーを配置するようなトリッキーなことをしてないのも好感が持てる。まとめDell XPS 15プレミアでアプリケーション開発はアリ! posted @ 2019/10/10 21:33 by 初音 玲 [hardware][dellambassador]XPSを持とう、街へ出よう デルアンバサダープログラムで1か月お借りしているDell XPS 15プレミアは、実測2.05Kgという15インチタイプのノートPCとしてみても平均値か少し重い部類に入ります。それでも物理的なサイズ(いわゆるフットプリント)は細ベゼルということもあって重さほどの大きさが感じられません。常に持ち歩くとまではいきませんが、家の中の移動やちょっと外出に持っていくなどの用途としては十分持ち運べると言えるでしょう。XPS 15に適したバックパックサイズは?Targus TBB574のような15.6インチノートPC対応のバックであれば問題なく格納できます。https://www.yodobashi.com/product/100000001003008205/また、15.6インチ対応ならそれなりの重量を見越しているのでXPS 15をいれても不安感はありませんでした。MacBook Pro 15インチモデルと似たサイズなのでおしゃれなバッグはいろいろあるので店頭やネットで探してみるのも楽しいでしょう。 posted @ 2019/09/11 23:02 by 初音 玲 [hardware][dellambassador]Dell XPS 15 プレミアでゲームを楽しもう 最近はゲームといえばsteamでRing of Elysiumをプレイしています。https://store.steampowered.com/app/755790/Ring_of_Elysium/?l=japaneseRing of ElysiumことRoEは、いわゆるバトルロイヤルなFPSゲームです。武器を拾い、乗り物に乗り、また3種類の初期装備(グライダー、MTB、ワイヤー)から選んだ装備で行動して、最終的にはMax4人のヘリに乗れば勝てるというシステムです。さすがにノートPCでは処理が追い付かずキルがとれないので、昔使っていたデスクトップ機にGPU載せて遅延なく楽しんでいるのですが、ファン音がうるさいのと排熱で暑い。。。。そこでDell XPS 15 プレミアで快適プレイができるかを確認したいというのもレビューを申し込んだ動機の1つだったりします。結論から言えば、す、ご、く、快適です。それではDell XPS 15 プレミアでRoEをプレイしたときの負荷を見てみましょう。一方、いままでRoEをプレイしていたデスクトップ機の負荷はといえばこんなな感じ。かなりGPUが古い感じであるのは否めませんが、Dell XPS 15 プレミアはデスクトップ機でゲームをプレイするのと同じような快適さでプレイできますし、何によりも無音とまではいきませんが、デスクトップ機に比べると騒音も気にならないレベルですし、なにより室温が上がらないので快適プレイできます。 posted @ 2019/09/09 23:28 by 初音 玲 [hardware][dellambassador]XPS 15の4K画面でDAZNの迫力ある映像を楽しもう 「デル アンバサダー限定!XPS体験モニター 」にはDAZN(ダゾーン)の1か月無料枠が付いてきました。DAZNとは?DAZNは、年間1万試合以上のスポーツコンテンツをライブ中継(つまり生中継)と見逃し配信(要は録画で過去試合が見れる)で、テレビ、スマホ、PCなどいろいろなデバイスで楽しめるサービスです。https://watch.dazn.com/ja-JP/sports-B/DAZNの何がいいか試合数が多くても興味がある試合が配信されてなかったら意味がないですよね。でも、DAZNならその心配がないくらいの意味ある試合が配信されています。例えば、サッカーなら、J1やプレミアリーグ、セリエA、UEFAチャンピオンリーグなどが配信されています。F1やプロ野球にMLBなども配信しています。DAZNとXPS 15 プレミアの相性をチェックまず何がいいってタッチパネルはやっぱりいいですね。DAZN画面でタイル表示されているサムネイルから見たいものを最短操作で選択するならやっぱりタッチするのが一番。どんなに使いやすいタッチパッドやマウス、トラックボールでも目的のものを直接指し示すUIはやっぱりいいですね。そして4K画像の奇麗さと15インチの画面サイズの見やすさ。しかもなんか色がきれいですね。予想外だったのが本体スピーカーの音の良さ。すごくいい!すごくいいです!DAZNを見ようDAZN体験はもうちょっと後かなと思っていたのですがF1がライブ中継されているならば話は別です。ちょうど今週末はイタリアGP。今夜有効にすれば時差の関係で予選からライブ中継が見られるのです!しかも!「メインフィード」「オンボードカメラ」「タイムフィード」「ドライバートラッカー」の4カメラを1つの画面で配信するなんてモードも!配信中の画像をペタっと張りたいところですが権利関係が分からないので、ぜひ、ご自身の目でDAZN体験してみてください。 posted @ 2019/09/07 21:01 by 初音 玲 [hardware][dellambassador]Dell XPS 15 プラチナがやってきた 「デル アンバサダー限定!XPS体験モニター 」に当選して、XPS 15 プラチナを約2か月使い倒せることになりました。http://dell-ambassador.com/products/xps/15_9560/届いたXPS 15 プラチナの仕様は以下の通り。第7世代 インテル Core i7 7700HQ クアッドコアWindows 10 Home 64bit 日本語版16GB DDR4-2400MHz512GB PCIe SSDNVIDIA GeForce GTX 1050 5GB GDDR5 x 15.6 inch 4K Ultra HD (3640 x 2160) InfinityEdgeタッチ重量2.05kg (実測)黒箱にはいっていて開封前からドキドキわくわくですね。使い始めたら使わないものかもしれないですが、PC買ったら最初に目にするのが箱ですからこの第一印象に少しでも大切にする感じ、嫌いじゃないです!黒箱を開けると中からDellカラーともいう感じのシルバーにDellロゴが天板に印刷された筐体がでてきます。このコントラストも素晴らしい。開けると中は黒。画面見るときとかやっぱり目に付く範囲は黒だと落ち着くというか引き締まった感じですね。届いたモデルですが最新のDell XPS 15が第9世代 インテル Core i7 9750H 6コアなので少しだけ前のモデルですが、今使っているモデルが2015年式なので、そこからみたら誤差の範囲的な最新モデルです。そしてこれから使っていくのに一番期待したのはGeForce内蔵ノートPCという点。WinMRヘッドセットと組みあわせてMRアプリを実行したり、steamのオンラインゲーム楽しんだりするには今使っているのは少々つらくて、そろそろPC新調かなと思っていたので、この機会に初Dell PCを存分に楽しんでみたいと思います。現在、Windows Update中で最新のWindows 10にしたら、Visual Studio 2019やSteamを入れて環境構築していきたいと思います。 posted @ 2019/09/07 18:15 by 初音 玲 わんくま同盟 横浜勉強会 #12 のお知らせ わんくま同盟 横浜勉強会 #12今年もやります。三者三様なネタ。おいらはそろそろ本気で非同期処理とか手を付けていけるよ!ということで一番わかりやすくて、サクッと行ける部分を。実処理は極力変えず、UI部分とそれを呼び出すところ「だけ」変えて非同期処理をさせてみます。恐ろしく重い処理でも、UIが止まることがないという事例を見てくださいませwちなみにあんなのがこんなのに変わる予定です。まだ、ソリューションがあるだけでプロジェクトすらないけどwお申し込みはこちら!終わったら中華街へGo!です。 posted @ 2019/08/16 12:03 by とっちゃん [MVP]再受賞できました。 首の皮一枚でつながってるのかな?ということで、今年もなんとか受賞することができました。2005 年からなので14年目に突入です。華々しいことなんて何一つしてないですが、今年もよろしくお願いします。 posted @ 2019/07/02 11:19 by とっちゃん [MicrosoftMVP]Microsoft MVP for Windows Developmentを再受賞しました。 コード公開やアプリ公開より、オフライン活動を主に行ってきました。従来リーチしていた技術者層とは別の層へのアプローチも多く、HoloMagiciansの活動以外はあまり表には出なかった感じでしたので、今期はもう少しアウトプットをふやせていけたらと思います。まずは、Windows 10 IoTとか、Kinect for Azureとかかな。2018年から11回連続の12年目となります。よろしくおねがいします。 posted @ 2019/07/02 1:32 by 初音 玲 [WiX][msi] In-Script(deferred) で動くカスタムアクションにプロパティを渡すときには。。。 すっかりと忘れ去っていたのでメモ。CustomAction DLL を、In-Script(主に管理者権限で動かしたい場合などに使う)で動作させると、プロパティにアクセスできません。そんなことはもうすっかりと忘れ去っていたので。。。じゃぁどうするか?というと、カスタムアクションのIDと同じIDを持つプロパティに値をセットしてやることで、パラメータを渡すことができます。受け取るDLL側は、”CustomActionData” (IPROPNAME_CUSTOMACTIONDATA で msiDefs.h に定義)という専用のプロパティとして受け取ります。1つしかないので、複数渡したい場合は、なにかしらのセパレータで区切る、コマンドラインのように /hoge=foo /huga=bar とするなど、工夫する必要があります。CustomActionDataなんて扱ったの何年振りよ?というくらい前のことなので、思い出すまでにすげー時間がかかった。。。orzちなみに、WiX 3.x の場合はこんな感じ。https://gist.github.com/Tocchann/e30105bb09d23cad6f386057deb0484e posted @ 2019/05/28 11:38 by とっちゃん 詳細は、5/6から始まるbuild 2019の中で発表される模様。こちらについては、現地から速報する予定です。 posted @ 2019/05/04 17:05 by 初音 玲 [GlobalSummit2019]米国に旅行にいくなら、Amazon Lockerを活用しよう Amazon.comで買い物したものを日本に送ってくれたりしますが、まだまだ(特に電池が入っているものなど)すべてがという訳にはいきません。米国に旅行に行く機会があったとしても、送付先にホテルを指定してうまく受け取れるか、そもそも滞在期間中に届くようにするにはどうしたらいいのかなどの不確定要素が付きまといます。そんなとき、オースティンに出張に行ったときに街中で見かけたのがAmazon Lockerです。Amazon.comのサイトを見てみると配達及び返品に使える利用時間帯も長く追加料金なしというAmazon公式ロッカーのようです。ためしにMicrosoft MVP Global Summitで宿泊する近くをさがしてみるといくつかあるようです。郵便番号にホテルの98004という郵便番号を入力して検索すると、ベルビュースクエアの東南ブロックにいくつかありますね。高速の近くは not public lockerなので住民専用とかでしょうか。希望するロッカーの場所の[Select]ボタンをクリックすれば送付先リストに、そこのAmazon Lockerが指定できるようになります。日曜日も受け取れる「Amazon Locker ? Bery!」か「Amazon Locker ? Frannie」が良さそうですね。ここで注意することは、Amazon.comでの配達は基本的にbusiness dayつまりは平日のみとなっています。ですので、日曜日に現地着だから日曜日に受け取ろうと思うと金曜日着になるように早め早めに行動するのがいいでしょう。もしくは、Amazon Primeのお試しに入って、月曜日の朝の9時までに申し込みをしてSame Dayかone business dayで配達してもらうのもいいかもですね。それでは実際にAmazon Lockerから品物を受け取りましょう。Amazon.comで購入してAmazon Lockerに荷物がはいると取り出しようのパスコードが書かれたメールが来ます。宿泊場所からはだいたい10分くらい歩いたところにAmazon Lockerはありました。空港に戻るときに乗るバスターミナルのちょっと先ですね。expediaビルの地下駐車場に設置されていまいた。ロッカーの液晶画面のところでメールに書かれたコードを入力するとロッカーのドアが開きます。無事、ゲットできました。簡単ですね。今回購入したのはWear OS by Googleな腕時計です。技適も通ってますし、日本語化もされているので良い感じです。 posted @ 2019/03/19 10:09 by 初音 玲 3/30 は平成最後のわんくま同盟勉強会です! 申込ページ:わんくま同盟 東京勉強会 #116平成最後の開催は、えムナウさんの還暦祝いです。おまけで若者VS2019もいろいろ。内容はこんな感じ10:40 ~ 11:00 開場・受付開始 11:00 ~ 11:10 わんくまについて 11:10 ~ 12:00 「Visual Studio 2019」 by 中博俊 Lv.1くまー 12:00 ~ 13:00 おひるごはん 13:00 ~ 13:30 ライトニングトーク 13:40 ~ 14:30 「.NET Core 3.0 非同期ストリーム」 by 赤坂玲音さん Lv.2くまー 14:40 ~ 15:30 「Microsoft Cognitive Service を楽しもう!」 by ジニアス平井さん Lv.2くまー 15:40 ~ 16:30 「C# の歴史」 by えムナウ Lv.2くまー 17:00 ~ 懇親会今回も盛りだくさんでお届けです。まだまだ絶賛募集中!お申し込みはお早めに! posted @ 2019/03/13 12:58 by とっちゃん HoloLens 2がきた! HoloLens 2きましたね。すっきりしたデザインに快適さ3倍。視野角2倍。しかもフリップアップできる!後頭部にあるのが処理部分ですかね?指のトレースでピアノ弾いたりできる。Windows Helloがあるのでかぶるだけでログインできる!アイトラッキングできるので、目線でブラウザースクロール!すさまじい未来きた!しかも!日本も発売先に最初からはいってますよ!https://blogs.microsoft.com/blog/2019/02/24/microsoft-at-mwc-barcelona-introducing-microsoft-hololens-2/--HoloLens 2 will be initially available in the United States, Japan, China, Germany, Canada, United Kingdom, Ireland, France, Australia and New Zealand. Customers can preorder HoloLens 2 starting today at https://www.microsoft.com/en-us/hololens/buy.--HoloLens 2 コマーシャル版が$3500。HoloLens 1 コマーシャル版が$5000なのでちょっと安くなりました。プレオーダーページがまだ日本対応してないですが、日本語ページを用意中だそうです。 posted @ 2019/02/25 3:29 by 初音 玲 [勉強会] 今年最初のわんくま同盟勉強会が開催です。 今年は東京から。1/19 に わんくま同盟 東京勉強会 #115 が開催されます。場所はいつものお菜家さん。10:40 ~ 11:00 開場・受付開始 11:00 ~ 11:10 わんくまについて 11:10 ~ 12:00 「若手、育ててますか? 」 by XENO Lv.1くまー 12:00 ~ 13:00 おひるごはん 13:00 ~ 13:30 ライトニングトーク 募集中 募集中 13:40 ~ 14:30 「CView にも UIElementを!」 by とっちゃん Lv.3くまー 14:40 ~ 15:20 「Azure Sphereをはじめてみよう」 by 木澤朋和さん Lv.1くまー 15:30 ~ 16:20 「(仮)ASP.NET Core MVC Web Apps on Microsoft Azure のリアーキテクチャの試行について(BI機能追加、AI 機能追加、 Microservices 化の方針と実装等)」 by 鈴木章太郎さん Lv.3くまー 17:00 ~ 懇親会こんな感じ。2018年はわんくま東京ではしゃべってないので、久しぶりの登壇です。おいらは相変わらずで、レガシーなネタをしゃべりますよ。まだまだ、お席に余裕があります。申込はこちらから懇親会はいつもと変わりませんが新年会です。ということでお待ちしております。 posted @ 2019/01/15 15:24 by とっちゃん ブログ書けるかな? RDPだと、日本語キーボードが知らない子になってしまうので、久しぶりにちょっとお試し。ちゃんと行けるかなぁ? posted @ 2019/01/15 14:43 by とっちゃん Windows OSとか Active Directoryのセキュリティーグループに所属するかを確認したい! ここ最近、UiPathでイロイロ遊んでます。そこでUiPath (ja) Advent Calendar 2018に参加してみました。第二弾!結論!セキュリティー担保したいなら、Orchestrator買え。以上。はじめにUiPathを軽くみんなでお安く使用しようとすると、Node-Lockedライセンスという共有端末をみんなで使うライセンス形態があります。しかし!、この場合、どのユーザーでログインしても、端末に入っているすべてのロボットが見えてしまいます。つまり申請系と承認系のロボットが起動できてしまうという、監査人大喜びのツッコミどころができてしまいます。そこで、ユーザーがActive DirectoryなりWindows OSのセキュリティーグループに所属しているかを確認するプログラムを作ってみます。Active Directoryでは、グループの中にグループを突っ込めたりするので、単にグループのメンバーの一覧取得だと、ガッつり再帰かけないといけないので面倒すぎます。この時IADsGroupクラスのIsMember を使うのがいつものパターンです。ではやってみる。↑OrchestratorなしのNode Lockedライセンスだと、すべてのロボットがどのユーザーにログインしても見えて実行が可能Orchestratorなしで頑張ってみるまずは、参照の追加。DirectoryEntryは System.DirectoryServicesの参照を追加して…あれ?IADsGroupはCOMだけどどうやって参照するんだ?XAMLで追加するのはあくまでclr-namespaceなので、きっぱりあきらめる。ここで登場するのは、「カスタムアクティビティ」自分でもサクっとアクティビティを作れてしまうのがUiPathのいいところ。だって、まんまWFなんだもの。■作業1、プログラムを作成2、パッケージを作成3、UiPathに読込4、使ってみる1、プログラムを作成新しい.クラスライブラリ(NET Framework)のプロジェクトを作って次の4つを参照追加.NET・System.Activities・System.ComponentModel.Composition・System.DirectoryServicesCOM・Active DS Type Library(コードは最後に入れてます)2、パッケージを作成詳しい作成方法は、「カスタムアクティビティ」をごらんあれ3、UiPathに読込「パッケージを管理」から設定を押して、作成したパッケージの場所を追加してください。詳しくは(以下略Activitiesペインに表示されるようになります4、使ってみるローカルコンピューターのAdministratorsグループにいるかを確認TargetGroup:”Administrators”TargetService:System.Environment.MachineName成功!!!こんなもん作ってメンテナンスするくらいなら、Orchestrator買いましょう^^;以下、コードImports System.ActivitiesImports System.ComponentModelImports System.DirectoryServicesImports ActiveDsPublic Class IsGroupMember Inherits CodeActivity Description("Domain | Domain\ComputerName | ComputerName") Category("Input") RequiredArgument Public Property TargetService As InArgument(Of String) Description("対象のグループ名") Category("Input") RequiredArgument Public Property TargetGroupName As InArgument(Of String) Description("結果") Category("Output") RequiredArgument Public Property Result As OutArgument(Of Boolean) Protected Overrides Sub Execute(context As CodeActivityContext) Dim comInfo As DirectoryEntry = New DirectoryEntry("WinNT://" + TargetService.Get(context)) Dim theGroup As DirectoryEntry = comInfo.Children.Find(TargetGroupName.Get(context), "group") Dim localgroup As IADsGroup = CType(theGroup.NativeObject, IADsGroup) Dim currentUser As String = "WinNT://" + System.Environment.UserDomainName + "/" + System.Environment.UserName Result.Set(context, localgroup.IsMember(currentUser)) End SubEnd Class posted @ 2018/12/19 21:00 by ちゅき わんくま名古屋N46はじまたーしまった最初のYou&Iさんのネタを書き忘れた。「機械学習環境にハマってみよう」なんか仕事でいろいろできていいなぁ。 posted @ 2018/12/15 13:54 by まーる UiPathで LINQ to DataSet を使いたい! ここ最近、UiPathでイロイロ遊んでます。そこでUiPath (ja) Advent Calendar 2018に参加してみました。UiPathって、.NET使いなら見た瞬間あれもこれもしたくさせたくなるRPA製品だったりします。かなり良くできていて、そのままでも十分使えるのですが、少しでも.NETを使ったことのある方ですと、.NETのアセンブリを使って、もっといろんなことがしたくなるはずです。勉強用や個人用だとタダで使えたりしますので皆さんもぜひ遊んでみてください。(詳しくはちゃんとライセンス条項読んだって下さい、責任なんて取れませんw)本題さて、皆さんDataTableの扱いどうされていますか?現在は Entity Framework に押されて微妙な立場ですが、DataSet ではインメモリ DB を目指してたのでは?と思えるほどがっつりイロイロできます。UiPathは、ExcelのシートやCSVをDataTableに取り込めるのでDataTableをゴニョゴニョできるとすごく便利です。そんな私に DataTable を SQL 文ライクでゴニョゴニョできる「LINQ for DataSet」はすごく便利です。UiPathでは、データテーブル関連の部品が増えてきていますが、やっぱりLINQ使えると開発効率が全く違います。ということで、LINQ for DataSetを使って遊んでみましょうUiPathでLINQ to DataSetを使ってみる1.準備LINQ to DataSetで必要な.NETのアセンブリは次の二つです。System.DataSystem.Data.DataSetExtensions早速使ってみましょう・・・ 無いorzまぁ、アセンブリ参照の追加はいつものことなので、さっそく追加・・・ GUIが無いorz■LINQ to DataSetを使うための準備「UiPath.Web.Activities」をパッケージから追加する。そうすると、上記アセンブリが参照されて LINQ to DataSet が使えるようになります。■開発者、というか保守まで考えてる人向け欲しいアセンブリだけ入れれば良い。パッケージ追加は邪道!という個別参照追加命!な方へ● UiPath で参照を手動追加、または参照しているアセンブリを確認する方法(実は一番ブログに残しておきたかったの、これかもしれない^^;)1)追加したいワークフローの XMAL ファイルを、テキストエディタで開く2)アセンブリ一覧を確認。必要なアセンブリがなければ追加する。 TextExpression.ReferencesForImplementation sco:Collection x:TypeArguments="AssemblyReference" AssemblyReference System.Activities /AssemblyReference (中略) AssemblyReference System.Data.DataSetExtensions /AssemblyReference 3)保存※いうまでもなく、アセンブリが足りないというエラーが出たときは、XAMLファイル開いてアセンブリを確認するよりも前にパッケージの有無やバージョンを確認しましょう2. LINQ to DataSetの使い方山ほど出てくるからググレ!(あ、終わった・・・)せっかくなので、ちゃんとUiPathで動くか確認してみましょう。以下、サンプルデータはこの投稿の最後にあるものをUTF-8形式のCSVで保存して使ってます1) いわゆるWHERE句で検索では、データから私「ちゅき」の行を取得してみましょう。○代入(Assign)アクティビティ左辺 (DataRow型):dr右辺:From row In dt Where row("名前").ToString = "ちゅき"はい、ビックリマーク来た!下表では「ちゅき」は一意ですが、実際はいくつ返されるかわかりません。そのため、受ける変数はコレクションである必要があります。結果が一つしかないことが分かっている場合は上側、複数ある時は下側のように書きましょう○代入(Assign)アクティビティ左辺 (DataRow型):dr右辺:(From row In dt Where row("名前").ToString = "ちゅき" ).FirstOrdefault()○代入(Assign)アクティビティ左辺 (System.DataEnumerableRowCollection DataRow 型):dr右辺:From row In dt Where row("名前").ToString = "ちゅき" 2) WHERE句で遊んでみる当たり前ですが、こういう書き方もできたりします。ただ、いきなりString型にできず、いったんObject型になります。このあたり、褒貶毀誉があるLINQ to DataSetのバカかアホかと怒られる理由だったりします。○代入(Assign)アクティビティ左辺 (System.DataEnumerableRowCollection Object 型):names右辺:From row In dt Where row("住所").ToString.SubString(0,3) = "福岡県" Select row("名前")取り出した namesはこんな感じで使えるので、イメージ通りだと思います。取り出したデータを Count メソッドで数えればデータ個数なんかもすぐにとってこれます。3)ほかにもいっぱいSQL文っぽいやつ使える句はこんな感じです。ただ、思いっきりデータを展開して結合したりするので、あんまりえげつないことをするとメモリがパンクするかも・・・。まぁ、オンメモリDBがメモリイーターなのはご存知の通りですね^^;クエリ一覧Aggregate 句Distinct 句Equals 句From 句Group By 句Group Join 句Join 句Let 句Order By 句Select 句Skip 句Skip While 句Take 句Take While 句WHERE 句最後にLINQ使えるようになると、DataTableに限らず、VBでイロイロ記述できるようになるので是非のぞいてみてください。UiPath開発者の必須項目になるかも・・・。表.各地の勉強会でなんかあったらお世話になるところ-- list.csv---名前,郵便番号,住所,電話番号 中,100-8929,東京都千代田区霞が関2丁目1番1号,03-3581-4321とっちゃん,231-0002,横浜市中区海岸通2丁目4番,045-211-1212ちゅき,540-8540,大阪市中央区大手前三丁目1番11号,06-6943-1234 You I,460-8502,名古屋市中区三の丸2-1-1,052-953-9110むたぐち,650-0011,神戸市中央区下山手通5丁目4番1号,078-341-7441ゆーち,812-8576,福岡県福岡市博多区東公園7-7,092-641-4141どらん,803-0811,福岡県北九州市小倉北区大門1丁目6?19,093-583-1110 posted @ 2018/12/13 22:00 by ちゅき [Azure]2018/09/25のAzureの注目アップデート AzureのUpdateがすごい量でてきました。ぱっと見て、自分が注目している部分のアップデートをピックアップしてみました。BLOB使いやすくて好きなのです。で、高スループットのものがでてきましたね。BLOBいいけど速度どうなの?という方にも安心ですね。https://azure.microsoft.com/ja-jp/blog/introducing-azure-premium-blob-storage-limited-public-preview/?irgwc=1 OCID=AID681541_aff_7593_1243925 tduid=(ir_d29e067eNbedaf2b2710a463509a078b8)(7593)(1243925)(TnL5HPStwNw-gt.c5nteSLzUDkvPulOjyA)() irclickid=d29e067eNbedaf2b2710a463509a078b8そして、Azure Signal R ServiceがGA(generally available)です。東日本リージョンでも使えるようになりました。SignalR使ているところは、裏側をこれに置き換える検討しないとなー。https://azure.microsoft.com/en-us/blog/azure-signalr-service-now-generally-available/?irgwc=1 OCID=AID681541_aff_7593_1243925 tduid=(ir_d29e067eNbedaf2b2710a463509a078b8)(7593)(1243925)(TnL5HPStwNw-LGYhziMgBF0y9tTqG7eUpQ)() irclickid=d29e067eNbedaf2b2710a463509a078b8Quick Startを後で見てみましょう。https://github.com/aspnet/AzureSignalR-samplesクラウド使っているときのDDoS対策は?なんて聞かれることもありますよね?Azure DDos Protectionを使って攻撃緩和レポートなどがみれるようになるようです。https://azure.microsoft.com/en-us/blog/ddos-protection-attack-analytics-rapid-response/?irgwc=1 OCID=AID681541_aff_7593_1243925 tduid=(ir_d29e067eNbedaf2b2710a463509a078b8)(7593)(1243925)(TnL5HPStwNw-qsBdAjswrbw0UR2YfoNHfw)() irclickid=d29e067eNbedaf2b2710a463509a078b8ついでに、Azure FirewallもGAですね。そして、Cognitive ServiceのSpeech Serviceがグローバル提供(特定のデータセンター選ばなくてよい)になって、サポート言語も17言語(と地域)が増えて30言語になりましたね。https://azure.microsoft.com/en-us/blog/global-scale-ai-with-azure-cognitive-services/?irgwc=1 OCID=AID681541_aff_7593_1243925 tduid=(ir_d29e067eNbedaf2b2710a463509a078b8)(7593)(1243925)(TnL5HPStwNw-4vE0gsjztG1AzuVHLNuw_Q)() irclickid=d29e067eNbedaf2b2710a463509a078b8Ignite合わせで色々出てきましたね。来年はIgniteもいきたいですね。 posted @ 2018/09/25 7:01 by 初音 玲 [生存確認] 生きていますし、また転職しました そうまたなんだ。また転職しちゃったんだ。といっても、前回の転職からは数年は経っています。やっとこさ年収は 800 超えた。BizREACH をようやく使える年収になった・・・長かった・・・。転職のいいところは、入社した後に定期昇給でしか増えていなかった給与がリセット評価されるところですね。定期昇給でケチられたbゴホッゴホ!まーあれですよ、成長した部分の再評価ですね!実際わたしの給与は転職の時くらいしか大きく変わっていません。私が技術系コミュニティで暴れていた頃 ~ 26 歳くらいまでは、残業なし月給 26 万 (年齢万円) もありませんでした。その時は転職しただけで月給 33 万になりました。大してやることは変わっていないのにです。むしろ転職して下っ端になったので仕事は楽になっていたと思う(笑)。『転職すると一旦給与が下がるものです』などと言っていた転職エージェントさんもいましたが、あくまでもそれは一般論です。前職でやっていたことを考慮してもらえばそんなことはないのです。考慮してくれない会社は入社後も考慮なんてするはずがないのでお断り。ただし最初は様子見したいという企業さんもいるので、よくある「三ヶ月の試用期間」をお互いのために利用すればいい。「試用期間終了後も条件は変わらない」というのを企業側が安心できる形にすればいいと思うのですよ。まあえらそーに言っていますが、これは過去の出来事を今ふりかえっての分析です。当時は上記のようなことを狙ってやっていたわけではなくて『あれ?転職って結構おいしいじゃん』くらいにしか認識していませんでした。転職した企業で成長したと思われるタイミングで転職を繰り返すきっかけにはなりましたが。その後転職は 4 回していますが、常に年収が増えています。その結果が現在の月給 60 万ベース (年収 800 万) です。もちろんここまで来ると管理職の経験は必須ですが (ただし私みたいな低学歴 + 中途だと管理職のレールからは外れている企業が大半なのでおのずと零細企業での経験になります)。なんだこの程度の年収かよ~って思う方がいらっしゃるかもしれません。東京近辺で管理職やられている方だとそう思うかもしれません。名古屋だと地価の関係で、この年収でも東京で言う 1,000 万クラスらしいです。ま~、私は超低学歴ですから、見えない壁 (学歴) がある日本において「自分の頑張りが反映できた」だけでも幸せなんだと思うようにしています。もっと上を目指せば大台突破できそうですが、これ以上となると同じ業界だと「コンサルタント」か「使用者側」しかないんですよね (BizREACH でのオファーを見る限り)。そんなのやれている自分が想像つかない... ですが、まだまだ頑張ろうと思っています。最近ホント頭まわらないくらいの年齢は感じるし... 今後 40 代になっても現役でエンジニアというのは、私には無理な気がするし(笑)日本だと転職って使用者も雇用者もマイナスイメージを持っていること多いですけど、前向きな転職はいいと思いますよ。私はおすすめです! posted @ 2018/08/06 2:23 by じゃんぬ [HoloLens]HoloLensでピン止めされたときにもアプリ名を表示する HoloLensアプリでタイル表示にしたときにアプリ名が表示されないということでお悩みの貴兄に。きちんと設定すればタイル表示の時にもアプリ名は表示できます。UnityでHoloLensアプリを作成する場合、最終的にはUnityからUWPプロジェクトを生成して、そのUWPプロジェクトをビルドして実行モジュールを作成します。このUWPプロジェクトのPackage.appxmanifestで、短い名前の表示で「普通サイズのタイル」にチェックをいれておきます。たったこれだけでこの問題は解決です。ファイルの内容的にはDefaultTileのShowNameOnTilesのところの記述になります。 posted @ 2018/07/06 22:54 by 初音 玲 Microsoft MVP for Windows Developmentを再受賞しました。 2008年の初受賞から11年目10回連続での受賞となります。途中、審査時期の変更により有効期間が2年近い時期がありましたので、受賞回数と年数に差異がありますが、仕事内容や生活パターンが変わって、アウトプットも「雑誌/書籍執筆」→「blog/サンプルコード公開/アプリ公開」→「Blog/Web記事執筆」→「blog/コミュニティ活動」と変化してきましたが、その都度、周りの方に助けられながら活動してこれた成果だと思います。特に今回は自分の満足が行く濃度のアウトプットができていなかった時期とかなさっていたため、再受賞は厳しいかもと内心思っておりましたので、再受賞できてよかったと思うと同時に、Microsoft MVPとしての期待値に答えられるように一層精進していこう思いを新たにしております。今後とも、本ブログを始めとしたさまざまな活動へのご協力をよろしくお願いいたします・ posted @ 2018/07/02 11:04 by 初音 玲 [hardware]MAVIC AIRにも使えるDJI SDKを入手しよう DJIのドローンでSDKといえば、build 2018で発表されたWindows 10 drone SDKに注目しています。しかしながら、こちらは2018年秋くらいのリリースということで、9月のMicrosoft Igniteあたりにならないと詳細は出てこないかもしれないですね。Windows 10 drone SDKがくればWindows 10デバイスで動作する制御アプリも組みやすくなるので、例えば、HoloLensであったり、Windows MRであったり、での活用もしやすくなるので、本当に待ち遠しいですね。とはいえ、秋まで何もしないのももったいないですから既存のSDKで何か作っていきたいと思います。SDK利用時のシステム構成.作成したアプリはSDKを経由してDJIのリモートコントローラーと接続し、その先のドローンをコントロールすることになります。MAVIC AIRの場合は、SDKから直接ドローンにもWi-FiやBluetooth経由で接続可能です。App Keyの生成SDKを使うときにApp Keyeの指定が必要ですが、こちらは、DJIのサイトに登録が必要です。https://developer.dji.com/mobile-sdk/登録時の個人認証にはクレジットカードまたはスマホへのSMSへの認証コード送信のどちらかが利用可能です(一時期動いていない時期もありましたが、2018/6/22現在は動作しています)。登録が完了したらUser Centerにて自分のアプリケーションを登録してコードを取得します。SDKの入手現在のSDKはいろいろな種類がでていますが、MAVIC AIRで使うのであればMobile SDKに注目です。https://github.com/dji-sdk/Mobile-SDK-Androidhttps://github.com/dji-sdk/Mobile-SDK-iOSSDK自体はどこにあるかといえば、Mobile-SDK-Android-master\Sample Code\gradle\wrapper\gradle-wrapper.jarがSDKになります。Xamarin.AndroidでSDKを利用するjarファイルをXamarinから呼び出すためには、バインディングライブラリを作成してjarファイルをまるっとXamarinのクラスライブラリでラッピングしてあげる必要があります。jarファイルの追加プロジェクトが生成できたら、Jarsフォルダを右クリックして[追加]-[既存の項目]メニューを選択します。ダイアログが開いたらgradle-wrapper.jarを指定して、Jarsフォルダにgradle-wrapper.jarを追加します。jarファイルのプロパティ指定jarファイルに対するビルドアクションとして「EmbeddedJar」をしてしてdllにjarファイルを埋め込むようにします。バインディングライブラリのビルドエラー対策この状態でバインディングライブラリをビルドしてあげてエラーなくビルドできれば、バインディングライブラリのdllが完成します。しかしながら、ここでエラーが出ないもののほうが少なく、gradle-wrapper.jarも当然のようにビルドエラーが発生します。ビルドエラーは3件、すべてCS0535「〇〇はインターフェイスメンバー△△△を実装しません」です。解決方法はいくつかありますが、今回出ているエラーは、「AbstractCommandLineConverter」、「AbstractCommandLineConverterInvoke」、「DownLoad」なので、主要な部分ではなさそうで使わないでもアプリ作れそうですから、とりあえずはなかったことにしてしまって、後日、必要だったらまた考えることにしたいと思います。そのためには、Metadata.xmlに次の定義を入れておきます。 remove-node path="/api/package[@name='org.gradle.wrapper']/class[@name='Download']" / remove-node path="/api/package[@name='org.gradle.cli']/class[@name='AbstractCommandLineConverter']" / 次回に続きます。 posted @ 2018/06/23 1:43 by 初音 玲 [hardware]MAVIC AIRのコントロールアプリについて MAVIC AIRの大きさですがA4サイズのノートPCと比較するとこんな感じです。プロペラのアーム部分が畳めるので格納時はほぼ本体と同じくらいのサイズになります。DJI GO 4MAVIC AIRのコントロール用アプリはDJI GO 4になります。App StoreとGoogle Playから入手可能です。 DJI GO 4DJI写真/ビデオ無料play.google.comMAVIC AIR付属のコントローラと接続して使うこともできますし、スマホ単体でも使えます。スマホ単体で使った場合の画面はこんな感じです。MAVIC AIRの場合、前方や下方だけではなく後方にも衝突回避センサーがついています。上記の画面では、前方50cmと後方1mに障害物があると表示されています。 posted @ 2018/06/21 0:06 by 初音 玲

TAGS:同盟 Blog C# VB NET ASP Windows

<<< Thank you for your visit >>>

わんくま同盟 Blog's ホームです。

Websites to related :
United Oilseeds | Oilseed Rape |

  Welcome to United Oilseeds The Independent Farmer-Owned Break Crop Specialist - Trading Beans, Linseed, Oats, OSR, Peas Your Harvest Contacts Informat

Dynamic Air Pneumatic Conveying

  Dynamic Air Conveying Systems Dynamic Air has over 50 years of experience in designing and building pneumatic conveying systems. Industries Served Dy

HOME - Dynamic Shapes

  LASEROur custom laser cutting services are used by industries throughout Seattle and the nation. They are as varied as aerospace, medical, military, s

Dynamic CommSource, Inc. - We Bu

  Dynamic CommSource Inc. We buy and sell quality used telecom and datacom equipment. We Design and Engineer top quality refurbished telecom systems to

Macrobyte Dea S.r.l.

  il vetro, sicuro, igienico, infinitamente riciclabileSecondo un'indagine tra i consumatori europei, è il miglior materiale da usare in gastronomia. U

Chirurgia plastica ricostruttiva

  SENOMastoplastica additiva, mastoplastica riduttiva e mastopessi sono interventi di chirurgia estetica che, eseguiti da soli o in variabile combinazio

Startseite - Ev.-reformierte Kir

  Liebe Gemeindemitglieder!Es finden seit dem 7. Juni (unter Einschränkungen) wieder Gottesdienste in unserer reformierten und in der altreformierten K

Definelerim.Com - Ana sayfa

  SERBEST KÜRSÜ Define ve Define Dışı Etik Olan Her Türlü Konuların Paylaşıldığı Bölüm Başlıklar: 692 YENİ ÜYELERİN TANIŞMA FORMU

Vulture - Entertainment News - T

  Emily in Paris’s Hot Chef Lucas Bravo Has a Sous-chef Past And yes, he has heard the Armie Hammer comparisons, thank you very much. By Jackson McHenr

Diyadinnet Haber - Doğu Anadolu

  Powered by Diyadinnet © Copyright 2004 - 2020, Diyadinnet. Tüm Hakları Saklıdır.

ads

Hot Websites