週刊アスキー

  • Facebookアイコン
  • Twitterアイコン
  • RSSフィード

“夜の部”は技術コミュニティが主役、マイクロソフト社員も自らのコミュニティ経験からアドバイス

コミュニティを通じて技術をもっと楽しもう!「Microsoft Developer Night」が伝えたこと

2022年02月25日 08時00分更新

文● 大塚昭彦/TECH.ASCII.jp
提供: 日本マイクロソフ

 日本マイクロソフトは2022年2月3日、昼に開催された開発者向け技術イベント「Microsoft Developer Day」に続いて、夜(18時半~22時)にも開発者向けの技術イベント「Microsoft Developer Night」をオンライン開催した。

 こちらの“夜の部”は、日本全国の技術コミュニティと開発者を中心に位置づけたもの。リラックスした雰囲気の中で、昼のイベントでも取り上げられた「Visual Studio」や「Microsoft Azure」だけでなく、Java、Web開発、エッジAI、IoT、デジタルツイン+Mixed Reality(MR)といった多彩な技術の最新情報を紹介するセッションが、各分野のMicrosoft MVP受賞者から披露された。

Microsoft MVP受賞者9氏が幅広い技術セッションを披露

 また、これらのセッションに挟み込まれるかたちで、技術コミュニティでの活動を継続的に楽しみ、技術者としての学びを深めていくコツについて、これまでコミュニティ活動に携わってきたマイクロソフト社員たちがざっくばらんに語り合うパネルディスカッションも催された。

技術コミュニティでの活動経験に基づいて語り合った「マイクロソフト中の人が語る 開発者コミュニティの歩き方」

 本稿では前半で9つの技術セッションの概要を、また後半ではパネルディスカッションの模様をお伝えする。

Microsoft MVP受賞者による9つの幅広い技術セッション

 Microsoft MVP受賞者9氏による技術セッションでは、それぞれの得意分野における最新の知見やノウハウが披露された。ここでは各セッションの概要をまとめる。なおそれぞれの発表資料は、Microsoft Developer NightのConnpassページで公開されている。

●VSCodeとGitHubの組合せで「Javaの開発者体験を変える」

 大中浩行氏(Microsoft MVP for Developer Technologies)は、「Visual Studio Code(VSCode)」の拡張機能「Remote Container」と、GitHubがホストする「GitHub Codespaces」を組み合わせることで、Javaのリモート開発環境を構築、活用するノウハウを紹介した。大中氏は、VSCodeならではの強みを生かすことで、Java開発者に「新たな開発者体験」を提供できる可能性があると紹介した。

ライブデモでは「VSCode Remote Container」と「GitHub Codespaces」を組み合わせたリモート開発の様子を披露した

●IEからEdgeへの移行で使えるようになる多様なWeb技術

 1995年に誕生したWebブラウザ「Microsoft Internet Explorer(IE)」も、今年6月15日をもって最終版(IE 11)のサポートが終了する。小山田晃浩氏(Microsoft MVP for Developer Technologies)は、IEから後継の「Microsoft Edge」に移行することで使えるようになる、さまざまなWebフロントエンド技術を紹介した。現在のEdgeはオープンソースの「Chromium」エンジンベースで開発されており、これまでIEで使えなかった多くの技術が使える。「今後のWeb開発で採用する技術の見直し、開発環境の見直しをするとよいと思います」(小山田氏)。

Edgeで使えるHTMLやCSSの新しい技術、表現をライブデモで紹介。サンプルコードはGitHubで公開されている

●「なにもしていないのにCIが失敗した」の原因を探る

 亀川和史氏(Microsoft MVP for Developer Technologies)は、「Azure Pipelines」や「GitHub Actions」でCI/CD環境を実装した際に、「ある日突然CIが失敗するようになる」原因を詳しく紹介した。その主な原因は「既定のOS」のメジャーバージョンアップなどの「ホスト側の環境変化」であり、Windows ServerだけでなくmacOSやUbuntuでも同様のトラブルが起こるという。亀川氏は、具体的に注意すべきいくつかのポイントを挙げて注意を呼びかけている。

CIのパイプラインが「ある日突然失敗する」ようになる理由を紹介

●Visual Studio C#でSQL Server連携アプリを素早く作るコツ

 “ホチキス先生”こと松本吉生氏(Microsoft MVP for Data Platform)は、Visual Studio C#で「Microsoft SQL Server」連携のアプリケーションをすばやく開発するための“コツ”を披露した。データベーステーブルをあえて「正規化しすぎない」、Visual Studioが自動生成するフォームやコードを流用するといったポイントを、実際にアプリ開発を進めるライブデモを見せながら紹介した。

Visual Studioが自動生成したコードを一部改変するだけで流用するなど、少ない手数でDBアプリを開発する“コツ”を伝授

●Microsoft AIの新しい言語処理系ポータルを徹底活用する!

 瀬尾佳隆氏(Microsoft MVP for AI)は、昨年アナウンスされたAzure Cognitive Servicesの「Language Studio」の活用法を紹介した。同ポータルには各機能へのリンクのほか、公式ドキュメントやコードサンプルへのリンク、カスタムプロジェクト管理機能が集約されており、実行テストやAPIリファレンスへのアクセスも容易だ。そのため、Cognitive Servicesの言語処理系サービスが提供する5つの機能を学習したり、プロジェクトへの適用可否を調査したりすることが容易になったと、瀬尾氏は説明した。

Microsoft AIの自然言語処理系サービスにおける統合ポータル「Language Studio」を使いこなすポイントを紹介

●Azure Functionsのオーケストレーションを行う技術を理解

 武井宜行氏(Microsoft MVP for Microsoft Azure)は、FaaSの「Azure Functions」において複数の関数(ファンクション)のオーケストレーション(同期的実行)を可能にする「Durable Functions」をわかりやすく解説した。Azure Functions単体ではできない関数チェーン、ファンアウト/ファンイン、承認後実行などが可能になる。さらに武井氏は、キューやテーブルストレージを自ら用意しなくとも複雑な同期的処理ができることを、具体例を挙げながら説明している。

Azure Functionsにおいて、複数の関数を同期的に実行させる複雑な処理ができるDurable Functionsの動作原理を詳しく説明

●エッジデバイス上でのビジョンAIサービス実装のポイント

 鄭 鎮健氏(ジョン・ジンゴン氏、Microsoft MVP for Microsoft Azure)は、エッジ側でビジョンAIモデルを運用し、リアルタイムに推論処理を行うソリューションを開発するうえで、「Azure IoT Edge」「Azure Percept」「Azure Video Analyzer」など、Azureの各サービスが役立つポイントを解説した。Azure Perceptは、ソフトウェアとクラウドサービス、ハードウェア(リファレンス開発キット)が統合型で提供されており、PoCに役立つ。鄭氏は「今年はいろんな場面で、エッジ側でAIを運用するエッジコンピューティングを盛り上げていけたら」と語った。

「Azure IoT Edge」によってAzureクラウドとエッジAI環境をシームレスに構築、連携できる

●.NET 6とVisual Studio 2022でIoTアプリ開発を始めよう!

 松岡貴志氏(Microsft MVP for Microsoft Azure)は、これから.NETを使ってIoTアプリの開発を始める開発者向けに、現在利用できる.NETのライブラリやシングルボードコンピューターなどを紹介した。現在の.NET 6ランタイムはArmアーキテクチャにも対応しており、Linuxのシングルボードマイコン(Raspberry Pi、BeagleBoneなど)で動かせる。また、AzureのIoT系サービスに接続するライブラリ、ハードウェアアクセスするライブラリも用意されている。ライブデモではVisual Studio 2022の「リモートデバッギング」機能を使い、リモート接続したシングルボードコンピューター上で実行中のアプリからデバッグ情報を取得する様子を見せた。「ローカルで開発しているのと遜色ない操作感。すごい機能ですね」(松岡氏)。

Visual Studio 2022+.NET 6 SDK環境で開発を行い、シングルボードマイコン上の.NET 6ランタイムで実行する

●「Azure Digital Twins」でデジタルツイン構築を行うための最新情報

 宮浦恭弘氏(Microsoft MVP for Windows Development)は、「Azure Digital Twins(ADT)」を利用したデジタルツイン構築について、公開されているさまざまなサンプルで学ぶために役立つ情報を整理する技術セッションを行った。後半で紹介した「Unreal Engine」とADTの連携プラグインは、モデル定義からデジタルツインの作成まで、一連の作業がすべてのUnreal Engineのエディタ上で、ノーコードで実行できるというすぐれものだ。「こうしたものもうまく使うことで、デジタルツインがどう構成されてているのか理解を深めることができ、さまざまなコンテンツが作れるようになると思います」(宮浦氏)。

「ADTLink Plugin for Unreal Engine」は、Unreal Engine上でADTのモデル定義やデジタルツイン作成がノーコードでできてしまう“すごすごプラグイン”

この記事をシェアしよう

週刊アスキーの最新情報を購読しよう

この特集の記事