Microsoft Build 2023 Labの予習

# はじめに
来週 5/24-25 に開催される [Microsoft Build](https://build.microsoft.com/en-US/home) の気になるセッションを引き続きまとめていきます。今回はデジタル配信されないLabセッションについてです。
![AttendeeSocialPost_2023MSBuild_02_1920x1080.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3361516/7ffd9a45-18a2-10fd-b9dd-b21e1b285733.png)

ちなみに上記の公式ロゴ入り画像は [#MSBuild swag](https://build.microsoft.com/en-US/digital-swag) からダウンロードできます。Spotifyに [公式プレイリスト](https://open.spotify.com/playlist/2Q5iJgadohijOoEHFgVHt0?si=sjePTJHBSi2zzRm9CwoDxA&nd=1) なんかもあるみたいですよ。イベントの概要とKeynoteについては [こちらの投稿](https://qiita.com/hikiroku/items/379c2af16dbf615b038a) 、デジタル視聴可能なセッションについては [こちらの投稿](https://qiita.com/hikiroku/items/338b133ae125f40271e6) に書いています。

Labはいわゆるワークショップ的な少人数セッションで、予約が必要です。「RSVP」をクリックすると下記のような念押しがあります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3361516/aa7e5ff4-47db-8e83-1886-42ec892ff4f4.png)

体力的な問題もあるので1日につき1~2セッションが限界かなと思い、わたしはPWA、Azure、Teamsで3個RSVPしました。

# Labs

###### [Progressive Web Apps for beginners | 23rd 11:30-12:30 PDT](https://build.microsoft.com/en-US/sessions/e9d400c5-cb64-4ba2-a949-72258436190f)
> This lab walks you through step-by-step how you can build an incredible Progressive Web Apps (PWA) experience through a popular tool called PWA Builder.

PWAを [PWA Builder](https://www.pwabuilder.com/) で作成する。このQiita記事の投稿やMSBuildのスケジュール予約にもPWAを使用していますが、なかなか快適で、スマホでもオフラインでも見れるし、しかも開発とデリバリが比較的低コストで可能と聞きます。これまで作る機会がなかったので、この機会に一歩踏み出したい。

予習メモ：VSCodeに [PWABuilder Studio](https://marketplace.visualstudio.com/items?itemName=PWABuilder.pwa-studio) を入れて、[pwa-starter](https://github.com/pwa-builder/pwa-starter) テンプレートをcloneして [npm start](https://docs.pwabuilder.com/#/starter/quick-start) するとlocalhostにウェブページが立ち上がる。テンプレートのServiceWorkerは [sw.js](https://github.com/pwa-builder/pwa-starter/blob/main/public/sw.js) で、 [オフラインアクセスに対応](https://docs.pwabuilder.com/#/starter/service-worker) している。

###### [Build flexible, intelligent apps with OSS on Microsoft Azure and GitHub Copilot X | 23rd 13:30-14:30 PDT](https://build.microsoft.com/en-US/sessions/0da2f92e-993a-46f7-b0f1-4fa39b0e0010)

> Learn how to incorporate Kubernetes, Dapr, KEDA, Bicep, advanced AI models, and other OSS technologies into PetSpotR, a cloud-native application that connects owners with their lost pets through photos. This lab takes you through an end-to-end hands-on tutorial using GitHub, Codespaces, and shows you how it was built using AI-assisted programming with GitHub Copilot X. By the end of the session, you'll be able to leverage these popular OSS projects and Copilot in your own apps.

Azure-Samplesの [PetSpotR](https://github.com/Azure-Samples/PetSpotR) 、飼い主は脱走した犬の写真をLostに上げて、協力者は迷い犬の写真をFoundに上げて、機械学習でマッチしたら飼い主にメールが飛ぶサービス。このLabの主眼は機械学習ではなくCloudNativeDevelopmentで、バックエンド（Python Flask）はフロントエンド（Balzor）から画像を受け取ってAzure Machine LearningをTrainし、各マイクロサービスはDaprで統合されKEDAでスケールされる、という構成をBicep(IaC)で記述している。アーキテクチャ図を見るに正直、咀嚼しきれなそうですが、Copilot Xの話もしてくれるようなので、チャレンジしてみたい。

予習メモ： [Run in a Codespace](https://github.com/Azure-Samples/PetSpotR#run-in-a-codespace) に従ってGitHub CodespaceでPetSpotRを実行すると画面が表示されるが、Azure subscriptionを紐付けてないはずなのでバックエンドは動いてないかもしれない。[Run locally](https://github.com/Azure-Samples/PetSpotR#run-locally) は [Prerequisites](https://github.com/Azure-Samples/PetSpotR#prerequisites) を揃えながら [pip install](https://learn.microsoft.com/en-us/python/api/overview/azure/ai-ml-readme?view=azure-python) しながら進めていくとlocalhostにウェブページが立ち上がるが、画像をアップロードしてみるとDaprコンソールに `Error: Binding operation failed: the Dapr endpoint indicated a failure. See InnerException for details.` で失敗、というところまで。


###### [Build an intelligent app for Teams with the new AI library and Teams Toolkit  | 24th 14:45-15:45 PDT](https://build.microsoft.com/en-US/sessions/feb547f4-5787-4005-8fb2-f909c089ac46)
> The new Microsoft Teams AI library simplifies the integration of Large Language Models (LLM) into Teams applications, enabling you to build intelligent, conversational apps in the flow of work of your users. Learn how to build conversational apps with Teams Toolkit and explore the full range of capabilities of the AI library to help you build AI-powered apps easily, responsibly, and providing a consistent natural language user experience. Reimagine a new era of intelligent apps in Teams.

[Teams Toolkit](https://learn.microsoft.com/ja-jp/microsoftteams/platform/toolkit/teams-toolkit-fundamentals) 。これはLabじゃなくても見たいテーマで、Teams AppとLLMがインテグレートした intelligent conversational app、最近プレスリリースとかでよく見るようなやつですよね。サンプルプロジェクトになっていてもよさそうですが、セッションサマリにGitHubプロジェクトの記載がないのは、TeamsToolkitのテンプレートを使って進めていくからなんでしょうか？

予習メモ：VSCodeにTeams Toolkitを追加し、M365 Developer ProgramでSandboxを用意し、 M365 Admin Centerで [sideloadingを許可](https://learn.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/prepare-your-o365-tenant#enable-custom-teams-apps-and-turn-on-custom-app-uploading) した。


# まとめ
Labは現地のみということで今回は完全に自分向けになってしまいました。せっかく現地参加できることになったので現地組の特権も積極的に使っていきたい。Labの内容のレポートはしない予定ですが、当日の雰囲気程度はシェアしていければと思っています。