2021年5月第5週レポート
インプット
📝 関数の凝集度
少し前に社内で話題になったスライドを改めて見直しました。
オブジェクト指向のその前に-凝集度と結合度/Coheision-Coupling - Speaker Deck
関数の凝集度についての解説です。凝集度については何となく定義を知っていたり、メトリクスとして測るための計算式は知っていたりくらいの知識でした。スライドのサンプルはGo(たぶん)で書かれていますが、ほぼほぼ擬似言語と大差ない使われ方なので、言語知識に関係なく読めると思います。
スライド内では7つある凝集度のうち、論理的凝集、時間的凝集、機能的凝集だけにフォーカスしたのはわかりやすくよかったと思います。時間的凝集な関数は機能的凝集だけを使って構成していく、などこれまで経験的に実践した内容が一般的な知識に当てはめられるとすっきりします。コードを書くときの自信にもつながりますし、説明するときにも説得力が増すので、こういった基礎的な知識もちゃんと拾っていくことが大事だなと気付かされました。
📝 Azure Digital Twins x MRのMS Learnをやってみた
社内でAzure Digital TwinsとWindows Mixed Realityを使ったチュートリアルが紹介されていたのでやってみました。
Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する - Learn | Microsoft Docs
IoTデバイスから収集したデータをAzure IoT Hubsで集めてAzure Digital Twinsで加工して、Unityで作ったHoloLens2用クライアントアプリでデータを可視化する、といったものです。Mixed Reality関連はある程度知見はあるものの、IoT関連のサービスは全くと言っていいほど知りません。このコンテンツも技術的なところをしっかり抑えるというよりは、なんとなく雰囲気を感じ取ろうくらいの難易度だったので、導入としてはよかった気がします。
学習に必要なリソースはGitHub上に公開されています。
IoTデバイスを実際に用意するのは大変ということで、シミュレータとして.NET Core製のコンソールアプリケーションが用意されています。これらをAzure上のIoT Hubsにテレメトリーデータをアップロードして、Azure Digital Twinsでデータをドメインエンティティに加工して配信してくれる、という仕組みのようです。各種AzureリソースはAzure FunctionsやSignalR、Event Gridで接続されています、サーバレスですね。
一番興味があったのはAzure Digital Twinsなのですが、何ともイメージが掴みづらい…。なんとなく、DSLで定義したドメインモデルを登録しておいて、IoTデバイスからデータを取得するとデータをドメインモデルに変換してくれる、みたいな感じでしょうか?
📝 Reactを勉強中
りあクト!を引き続き読んでいますが、ちょうど2巻が終わったところです。メインはHooksの解説でしたが、かなり簡略化されていた印象を受けたので、これは実際に書く際に別途ほかの文献を参照しないと理解できなさそうだなと感じました。
ちょっとしたダッシュボードを作るネタが湧いてきたのでMaterial UIを使いつつ実装に入っていきたいと思っています。
アウトプット
目立ったものはなし