de:code2020 セッションメモ
Microsoftのカンファレンスであるde:code2020視聴時のメモ。
開催期間:6 月 17 日 (水) – 7 月 17 日 (金) 17:00 オンラインにて
- A01 React Native で Windows アプリ開発 ~React Native for Windows~
- A02 Azure Bot Services を使って Teams bot を開発する
- A06 Azure Kubernetes Service と Azure DevOps による GitOps の実践
- A04 Azure ならこうする、こうできる!
- A11 Azure 10 周年の節目に見直したい、Azure インフラのちょっと大事な話
- A14 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
- A31 Development from anywhere! 全ての開発者が生産性を維持するためにマイクロソフトが貢献できること
- A51 未来を生き抜く子どもの教育、マインクラフトで扉を開くコンピューターサイエンスの学び。
- B01 今日から始めたくなる Power Platform 入門編 ~デモで分かるローコード開発の無限の可能性~
- B41 Power Apps の可能性 ~やらない技術者に未来はない?~
- M13 開発者が語る! Microsoft Teams アプリケーション開発の実例とコツ
- Z02 セキュアなソフトウェアを実現する、GitHub のコード解析のご紹介
- Z03 GitHub 新機能のご紹介(2020 年 5 月発表)
A01 React Native で Windows アプリ開発 ~React Native for Windows~
React Native for Windows とは
React で Android/iOS の UI を作ってネイティブコード生成。TypeScript 開発も可。
2020 年 2 月からハイパフォーマンスな C++版が Windows のデフォルトになった。
Native Module や Native UI Components を使うことでネイティブ UI や API を利用できる。
ReactNative のコンポーネントをネイティブ開発に組み込むこともできる。
デモ:Android と Win のプレビューを出しながら開発。開発コードはWinとAndroidに同時に反映される。
A02 Azure Bot Services を使って Teams bot を開発する
Azure Bot Services Bot 開発の IDE。エンドポイント定義、SDK、Bot とチャネル間のフレームワーク。
BotFrameworkSDK
Step1:ローカルでエミュレータ使って開発
Step2:ローカル Bot に Teams から接続。Teams > 365 > Azure(Bot チャンネル)> ngrok >ローカルサーバ
Step3:AzureAppService に Bot をデプロイ。Teams > 365 > Azure・・・逆順で帰ってくる
Step1:ローカル実行(エミュレータ)
空プロジェクト>拡張 FW > BotFramework
再起動して新しい PJ > Echo Bot テンプレート>実行・・・Bot サーバは OK.
BotFramework エミュレータを入れる(GitHub から入手)
エンドポイント設定して動作確認。
Step2:ローカル実行(Teams)
Azure > BotChannelsRegistration
ngrok で localhost のポートをトンネルしてエンドポイント生成。BotChannels に登録。
appId,appSecretswoVS の secret.json に設定。
Teams アプリのマニフェスト作成(アイコンと manifest.json を zip)して Teams から Upload。
Step3:AppService
Azure の AppService を立ち上げる。
VS >発行> AppService を選択して発行。
Secret 設定、BotChannels のエンドポイント更新。
A06 Azure Kubernetes Service と Azure DevOps による GitOps の実践
IaC + Kubernetes によってコードによって、宣言的にインフラ構築が可能になった。
変更追跡も容易になった。
IaC のデプロイや切り戻し、CI への攻撃が課題になってくる。
GitOps
マニフェストを Push すると GitOps 側で環境との差分を検知。差分があればデプロイ実行。
インフラ側に Push 用のエンドポイントを容易する必要がない=悪意あるデプロイを受けない。
Pull型。
A04 Azure ならこうする、こうできる!
AWS と Azure の比較。
課金と管理の単位が違う。AWS はアカウント単位だが Azure はサブスクリプション単位。
特定のリソース群ごとにサブスクリプション(課金単位)を分けて管理することも可能。
Azure のマルチ AZ 構成では IP のセグメント分ける必要がない。
Azure の AZ はペアが設定されていて(東京と大阪など)マルチ AZ はを選択するとそれらが使われる。
教材としては MS Learn が無償で使える。Azure の無償環境もついてくる。
A11 Azure 10 周年の節目に見直したい、Azure インフラのちょっと大事な話
Azure10 年の歩み。
デビューは 2008 年。当初は 1 日止まるメンテナンスなどもあった。現在はほぼ無影響でメンテナンス。
可用性セットは1つのデータセンターのクラスタのひとつ。
クラスタ内の 1 台が落ちても大丈夫だが、クラスタで共有している電源や空調などが落ちると全滅する。
可用性ゾーンは、電源などが独立したクラスタの組。
ゾーンがまるごと落ちてもサービスを継続できる。
A14 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
いままでは WebApps…オーバースペック。BlobStorage…機能不足。
クラウドデザインパターン:Coulout Static Hosting Patttern
Azure Static Web Apps
GitHub Actions と統合された CI/CD。GitHub のリポジトリとフォルダ指定すれば OK.
プロダクトと別にプレビュー用のサイトにデプロイ可能。
AzureFunctions と統合されたサーバレス API
無料プランあり。コンテンツはグローバルに配置、CDN あり。
A31 Development from anywhere! 全ての開発者が生産性を維持するためにマイクロソフトが貢献できること
リモートワークによって 52%が生産性 UP(アメリカの調査)
Code from anywhere
リモートアクセスのセキュリティ、セットアップ時間、
- Vidual Studio Codespaces クラウド開発環境。ブラウザベース。
VisualStudio Intellicode AI による高性能は
Collaborate from anywhere
VisualStudio Live Share VS の拡張機能。共同編集が可能。
- GitHub
Azure Boards アジャイル用のかんばんツール。スクラム対応。
Ship from anywhere
GitHub Actions Azure と連携すると手軽にデプロイ。
- DevTest Labs
- Azure Monittor, Insight
- Azure Policy
マイクロソフトが実施していること
- カルチャー醸成
- Teams 上でのカルチャーチャンネル
- ランチ、コーヒー、通話しながら散歩、ゲーム
- 情報共有
- ヘルプリスト
- リモートワークの指針
- ハードウェアガイダンス
- ベストプラクティス
- 技術セットアップ
- モニター、周辺機器など作業効率を損なわない環境
- VSCodeSpace、WindowsVirtualDesktop などクラウド利用
- 価値提供
- リズムを維持し、Teams 上で実施
- Azure Boards, Whiteboard を活用
- ペアプログラミング
A51 未来を生き抜く子どもの教育、マインクラフトで扉を開くコンピューターサイエンスの学び。
マイクラでのバーチャル卒業式。大学の校舎、政府公式にサーバー提供、昔話を再現、音楽の実験、etc
マイクラのバージョンによるが、科学実験やプログラミングが可能。
- Python を学ぶ
- マイクラ内のコードビルダーでコーディングやブロックプログラミングが可能。
- コマンドを学ぶこともできる
- 現実世界の AI の働きを学ぶ
- 学習のプロセス
- 想像:なにをつくるか
- 調査:どう作るか
- 試行:つくってみる
- 修正:作り直す
- 発信:作ったものを発信
- Minecraft カップ 2019
B01 今日から始めたくなる Power Platform 入門編 ~デモで分かるローコード開発の無限の可能性~
- PowerApps ノーコード・ローコードでアプリ開発
- PowerAutomate ワークフロー機能。RPA 機能も追加。トリガーとアクションを設定する。
- PowerBI データ可視化、分析。
- PowerVirtualAgents Bot 開発。
データコネクタ、カスタムコネクタによって手軽にほかシステム連携。
CommonDataService:GUI で触れるデータストア。
キャンバスアプリ GUI でシンプルな画面開発。スマホ機能、カメラ、MR など利用可能。
モデル駆動型
ダッシュボードなど複雑なモデルを開発。
モデルを定義して対応するフォームを開発する。
PowerApps ポータル 社内ポータル向け。 Azure,Google などの認証基盤を使って認証機能をつけることもできる。
B41 Power Apps の可能性 ~やらない技術者に未来はない?~
ハンズオン。
SharePoint で用意したテーブルを用いて申請フォーム作成。
ブラウザ上で部品を並べてアプリ作成。
Windows フォームアプリや OutSystems のもっとシンプル&イケてる版。
M13 開発者が語る! Microsoft Teams アプリケーション開発の実例とコツ
タブアプリケーション
Planner のようにタブとして表示するもの。Web アプリを Teams 内で表示しているようなもの。
認証などを Teams 向けに改修すれば既存の Web アプリの流用も可能。
ボットアプリケーション ちょまどさんのセッション参照
Z02 セキュアなソフトウェアを実現する、GitHub のコード解析のご紹介
セキュリティ侵害の 53%はコードの脆弱性が原因。 セキュリティリサーチャーは不足している。リサーチャーによって CodeQL のクエリなど日々開発されている。
コードのセキュリティ
依存関係のセキュリティ
- 安全なデプロイメント