【1月度】 社内勉強会を開催しました。
こんにちは!ジオロジックでインターンをしているmatzです。
ジオロジックでは、毎月月末に「ジオロジックカンファレンス」という勉強会を行っています。今回は、1月分のエンジニア勉強会、ジオロジックカンファレンスの様子を紹介します。
リーダブルコード @matz
matzくんが、「リーダブルコード」という本を紹介してくれました。
チーム開発をしていると、チームメンバーそれぞれに、他者の書いたコードを読んだり、修正したりする機会が必ずあります。チ
ーム開発を効率良く行うために、読みやすく理解しやすいコード、つまり「リーダブルコード」を書く必要があります。この本では、その方法が示されています。
自らが書いたコードは、主観的に見てしまいがちですが、客観的に見て「リーダブルコード」か否か、考える必要があると感じました。
Vue3の変更点 @furui
furuiさんが、Vue3の変更点を説明してくださいました。
Vue3の目玉機能である「Composition API」によって、Vue2までの、「TypeScriptのサポート・ロジックの再利用・大規模アプリケーションのコード把握」における課題が解決します。
これは、TypeScriptが標準言語になったこと・dataやcomputedなどが1つの階層にまとめられたことなどによるものです。
変更点は、上記以外にv-forのkeyが不要になったことなどがあります。また、vue-codemodを利用すると、容易にVue2からVue3へのマイグレーションが可能だそうです。
IOSアプリの「スワイプ」について @kamithon
kamithonさんが、iOSアプリの「スワイプ」について発表してくださいました。
現在kamithonさんが参加されているミニアプリ開発は、作りはWebアプリですが、操作感はスマホアプリに寄せる必要があります。そのために、iOSアプリのUX観察・「スワイプ」を実装を行ったそうです。
それを見せていただきましたが、人が心地よいと感じる動きを実現するために、複数の動きを組み合わせたり、速度を調整したりと、様々な工夫がされていることが分かりました。
ポジティブ失敗学
guuuさんが、10月度のジオロジックカンファレンスの続編として、ポジティブ失敗学 体系編というテーマで発表してくださいました。
失敗には様々ありますが、個人に起因するように見える失敗でも、分析すると組織構造に起因する失敗と判明することが多々あります。
致命的な失敗は小さな失敗の積み重ねであり、ほとんどが組織構造が関わっているため、小さな失敗が起きるたびに組織構造や原因を分析・改善する必要があります。
リアルタイム広告配信基盤
anzaiさんが、ジオロジックのリアルタイム広告配信基盤のアーキテクチャについて発表してくださいました。
現在のアーキテクチャ構成は、「Databricks -> Kinesis Stream -> ECS -> Kinesis Stream -> ECS -> 各種DSP」のようになっています。
「Kinesis Stream -> ECS」の繰り返しがボトルネックになっているということで、「Databricks -> Kinesis Analytics -> 各種DSP」という構成に変更可能か検討してくださいました。
また、Kinesis AnalyticsによるApache Flink・Apache Beam を用いたアプリケーション作成の流れとデプロイまでのデモ、Kinesis AnalyticsとGoogle Cloud DataFlowの比較・コストの調査も行ってくださいました。
プログラミング言語の意味論 @sarashino
sarashinoさんが、プログラミング言語の意味論について発表してくださいました。普段なにげなく使っているプログラミング言語の歴史を説明してくださいました。
関数型の定義は様々ですが、sarashinoさんは、広義にはDenotatoinal Semanticsを示すと考えられているそうです。(Rubyのような例外も存在します*。)
関数型の仕組が様々な言語に取り入れられるようになった今、Denotational Semanticsについて振り返ってみると良いかもしれません。
*Rubyの意味論についてはこちらを参照してください.