皆さんこんにちは。メディアドゥの李(id:niche3600)です。 以前、予告しましたMediaDo.go#1を無事開催しました!
今回は第1回目のMediaDo.goを開催した際の様子から登壇者の発表まで紹介いたします。
MediaDo.goとはどんなイベントかについては以下の記事で紹介しています!
当日は当社エンジニア2名と外部からお越しいただいたエンジニア2名の計4名により、Goに関する知見を共有いただきました。
また、イベントの様子はTwitterハッシュタグ「#MediaDogo」で呟かれていますので、ぜひそちらも併せてご覧ください。
セッション紹介
#1 GopherCon 2019 参加レポート + レガシーに立ち向かう
最初のセッションは @kent_hamaguchi さんです。
セッションは2つのテーマに分けて行われました。
1つ目はGopharConに参加した際のレポートについて、海外のカンファレンスへ実際に参加したからこその経験と見どころをお話いただきました。
2つ目のセッションでは、レガシーシステムのサブシステムとしてGoを選定して、導入するに至った際のお話でした。
今のシステムを改修するかそれとも新しくシステムを作るかを選択する中で、Goの導入とクリーンアーキテクチャに則った開発方法で得られた経験を共有する場になりました。
セッション後の懇親会で、想定以上にクリーンアーキテクチャを採用した設計方法の見解を得られたと、好評をいただきました。
#2 駆け出しGopherの初めてのバッチ設計で学んだこと
次のセッションは Kojikensanba さんからバッチ処理をGoで書いた際の経験をお話いただきました。
実際に業務で抱えていた問題と、それをGoやAWSを駆使しながら解決したポイントを共有いただいたセッションでした。
個人的に発表の中で印象に残っているのは、バッチ処理を動かす実演をしていただいたところです。
地味に見えるバッチ処理にひと工夫かけてうまくいくかどうかをドキドキして見ながら、「うまく行ったか?行ったか?よっし行った!」と発表の途中で素で喜んでいたところは参加者からも笑いが起きていました。
#3 バッチ処理をパイプラインパターンで上手くやる
後半のセッションは外部からお越しいただきました @FpmpAmpm さんからGoでバッチ処理を作成する際にパイプラインを活用するテーマでお話をいただきました。
登壇者の経験上、何かとバッチ処理を作る機会が多くあり、Goの並行処理を使った保守性もあるバッチの作り方について、パイプラインというキーワードをメインにいくつかのパターンの紹介がありました。
パイプライン、ゴルーチン、チャネルなど参加者の方々が持ち帰って個人で調べられるよう、ケースごとに使い分ける理由がまとめられたセッションでした。
#4 テストを書こう
最後のセッションは日本のGo界を代表するエンジニア @tenntenn さんからテストを書くことに関するテーマでお話をいただきました。
序盤はコードの質を担保する様々な方法の中で、ソースコードを書く段階で品質を保持する単体テストの必要性とその重要性について触れていました。
後半は何からすればいいのか漠然とする単体テストについて、Goで提供されるテスト用のパッケージで、どんなテストができるのかをまとめていただいたセッションでした。
おわりに
お忙しい中で発表を準備してくださった登壇者の方、そして業務後に会場まで足を運んでくださった皆様のおかげで懇親会も盛り上がり、無事に開催することができました。
次回のMediaDo.goでも、参加してくださる方々に有意義な時間を提供できるよう、運営メンバー一同頑張っていきます。
これからもMediaDo.goをよろしくお願いいたします。