はじめに
こんにちは。DMM.go運営のN9tE9です。普段は、プラットフォーム事業本部における開発生産性やプロダクト品質に関するプロダクトの開発/ツール導入を行っています。
本記事では、9/19(火)に開催されたDMM社内のGo勉強会「DMM.go #6」について、登壇者の発表内容を紹介します。
当日の様子
前回の DMM.go #5 に引き続き、オンライン開催でした。
YouTube Live のアーカイブもありますので、興味のある方はご覧ください。
pospomeさん「組織のコード品質を向上させる "レビューシステム" の取り組みについて」
最初は、pospomeさんの登壇です。
DMM プラットフォーム事業本部におけるレビューシステムの取り組みの話でした。
レビューシステムの導入当初は、基礎的な Go の使い方をサポートする目的でしたが、次第にプロダクトの設計部分におけるサポートが多くなりました。
レビューシステム自体、tao watanabe さんや N9tE9 も参加して、他チームのプロダクトのコードレビューを行いました。
現在は、レビューシステムを実施する中で Developer Productivity Team を発足し、開発生産性の計測やコード品質の可視化を推進しています。
tao watanabeさん「マイクロサービスの効率的な監視〜不安定な依存先との闘い〜」
次は、tao watanabeさんのマイクロサービスの効率的な監視に関する話す。
DMM プラットフォーム事業本部は、マイクロサービス戦略を取っており、サービス間通信やサービスが動作しているインフラの監視をしています。
レガシーなアプリケーションとの通信を監視するにあたって、監視に必要なメトリクスが取れない場合があったり、安定したメトリクスが取れず、頻繁にアラートが鳴ってしまうことがあります。
そのような不安定な依存先のサービスに対する監視を効率的に行うためにGoのミドルウェアの実装をどのようにすればいいかという話でした。
N9tE9「静的解析から学ぶ go/ast パッケージの設計思想」
最後は、N9tE9のgo/astパッケージの設計思想に関する発表でした。
静的解析において、go/astパッケージを使った具体的な実装から、go/astパッケージのシンプルなAPI設計、それに伴う拡張性といった部分を話しました。
astの集約の粒度や木構造の特性を生かした宣言的な実装などについても深掘り、最終的に go/astパッケージから提供される設計思想をまとめました。
おわりに
DMM.go #6も多くの方に参加していただき、QAタイムのディスカッションも盛り上がりました。
この勉強会は今後も数カ月おきに継続開催する予定です。Goについて知見を得る場、議論する場として、次回もぜひ参加していただければと思います!
DMM.goを含む DMM.com の勉強会イベント情報は https://dmm.connpass.com/ に掲載されるので、興味のある方は気軽にjoinしてください!
最後に DMM Group では一緒に働いてくれる仲間を募集しています。ご興味のある方はぜひ下記募集ページをご確認ください!
各登壇者のチームでも絶賛募集中です!