1
/
5

ARやGPGPUなど先端技術ネタ満載!社内ライトニングトーク大会レポート!

こんにちは! TechFirst Leadersの毛利です!
TechFirst Leadersでは、毎月1回全員集まって、社内方針のMTGと懇親会をしています。
最近は、情勢なども鑑みオンラインで実施していますが、TechFirst Leadersは全員技術者ということもあり、懇親会は、技術談義が盛り上がります。
7月の懇親会から、ライトニングトーク大会をやってみようということになりまして、その第1回目が先日行われたので、今回はそのレポートを兼ねて皆様にTechFirst Leadersの社内の様子をお伝えできればと思います。

今回は、以下の4テーマのライトニングトークの発表がありました。
「Reactive Architectureとは」
「MF4のメタデータを読む」
「LiDARを使用したARアプリ開発」
「GPGPUに触れてみた」

「Reactive Architectureとは」

トップバッターは岡田さん、テーマは「Reactive Architectureとは」です。
岡田さんは、最近Lightbend(Scalaの言語作成者やAkkaの作成者が創立した会社)が提供しているオンライン講座のReactive Architectureコースを受講しているそうです。
Scala界隈の方に人気のコースらしいそうで、コースは導入、DDD、Microservice、Scalable System、Message Driven、CQRSなどに分かれていて、岡田さんの方では今のところ3つほど受講が終わっているとのこと。そうした情報を踏まえて今回Reactive Architectureについてお話をいただきました。

まず、リアクティブシステムとはどんなものかを説明した、リアクティブ原則について説明していただきました。
リアクティブ原則はリアクティブ宣言で提唱されている概念で即応性 (Responsive)、耐障害性 (Resilient)、弾力性 (Elastic)、メッセージ駆動 (Message Driven)といった要素があるそうです。これらは、並列に関係ではなく、図のように、Responsiveを実現するためにResilientとElasticがあり、それら全体を実現するためにMessage Drivenがあるという関係だそうです。

次に、Reactive Architectureを実現するための流れについて説明していただきました。
ResilientやElasticを実現するために、既存の単一DB、単一デプロイ単位のモノリス構成のシステムから、サービス単位に分割するMicroserviceの構成にしますが、その際にどのくらいの粒度に分割するかを考えるためにDDDのBounded Contextの概念を導入するそうです。
また、Reactive Architectureを実現する、非同期でノンブロッキングなプログラミング方式がReactive Programmingとして定義されているそうです。
RxJavaやReact.jsなどもReactive Programmingと呼ばれることがありますが、上記とはまた別の概念とのことでした。

しょっぱなから濃いテーマで発表してもらい、その後の質疑応答は、30分近くにおよびました(笑)

「MF4のメタデータを読む」

次の発表者は、和田さんでテーマは「MF4のメタデータを読む」でした。
ビデオカメラで撮影した、録画データをGoogle Cloud Strageで管理する際に、日付で管理するために、MP4のメタデータから日付を取得して、フォルダ管理しようと考えたそうです。
Rubyでソース付きでツールを公開している人がいたそうで、日付を取得するのは、ソースを少しいじったらすぐできたそうなのですが、MP4の仕様に興味がでてきたので、ちょっと調べてみたとのことでした。
MP4の仕様の情報の所在や仕様をベースにMP4ファイルのバイナリのどの部分が撮影時間や動画秒数で、どのよう変換すると使えるかといった点を説明してもらいました。

興味を持って仕様などを調べると新しい発見もあったりして勉強になりますし、ちょっとしたツールを作ってみたりといったことも面白そうです!

「LiDARを使用したARアプリ開発」

次の発表者は、私(毛利)でテーマは「LiDARを使用したARアプリ開発」でした。
まず、自動運転技術などで使用されている、距離測定により空間認識を行うセンサーのLiDARについての簡単に説明しました。
次に、今年発売されたiPad ProにLiDARが搭載された点と、Unity AR Foundation4.0を利用することで、簡単に利用できることを説明し、実際にお試し開発中のゲームアプリで、デモを行いました。(画像だとわかりづらいですが、ARのOcclusion Cullijngや空間のトラッキング性能について説明しました)

LiDARは、今年秋発売予定のiPhoneや来年発売される可能性のあるAppleのメガネ型デバイスにも搭載が噂されていて、実際に搭載されればARがグッと身近になるのではないかと楽しみにしています!

「GPGPUに触れてみた」

次の発表者は、宮城さんでテーマは「GPGPUに触れてみた」です。
GPGPUは汎用GPUのことで、普段はゲームなどの3D描画の計算に使われるGPUを、汎用的な計算に使うことだそうです。GPUで汎用的な計算を行うメリットとしては、CPUと比べてコア数が圧倒的に多く、並列処理や多次元同士の演算が高速に行えるとのこと。
GPGPUを搭載した代表的なボードは、100万以上するそうなのですが、Google Colaboratoryで強力なGPUやGoogleが開発しているTPUのインスタンスが無料で使えるとのことで、試してみたそうです。
Google Colaboratoryは、JupyterNotoBookやSSHでログインして使え、機械学習などでよく使われるPythonのライブラリも導入済みとのことで、早速、配列の演算を試してみたところ、図のように圧倒的にGPUが速い結果がでたとのことでした。

制限はあるものの、高価なGPUを無料で試せる環境は、非常に魅力的ですね!
今後も引き続き、面白い実験などをしてみたいとのことでしたので、次の報告も楽しみにしたいと思います!

発表は任意のため、今回は発表者は4名でしたが、質疑応答も含め非常に盛り上がり、ライトニングトークにもかかわらず懇親会を予定していた2時間をフルに使っての開催となりました。今後もライトニングトーク大会は開催しますので、次のレポートもお楽しみに!

TechFirst Leadersでは、技術や開発が好きなエンジニアを募集しています!
ご興味いただけましたら、気軽にご応募ください!

株式会社TechFirst Leadersでは一緒に働く仲間を募集しています
同じタグの記事
今週のランキング
このストーリーが気になったら、直接話を聞きに行こう