Mercari Engineering Blog

We're the software engineers behind Mercari. Check out our blog to see the tech that powers our marketplace.

mercari.go #6を開催しました

はじめに

こんにちは、mercari.go オーガナイザーの@morikuniです。

2月25日にメルカリ主催のGo勉強会 mercari.go #6 を開催しました。 今回は、LT形式での発表を取り入れ、いろいろなテーマについて話しました! この記事では、各発表を簡単に紹介しようと思います。

f:id:inukirom:20190109175932p:plain

JavaとGo言語を比較した話

1つめのLTは @kentan による「JavaとGo言語を比較した話」です。 並行処理やオブジェクト指向の考え方の違いなどを紹介しました。

f:id:inukirom:20190227143534j:plain

YAMLをテストする

2つめのセッションは @babarot による「YAMLをテストする」です。 Policy as Codeという考え方や、自作のSteinというYAMLのバリデーションを行うことができるツールを紹介しました。

f:id:inukirom:20190227152256j:plain

speakerdeck.com

sliceのコピーで起きた不思議な話

3つめのセッションは @t-naritomi による「sliceのコピーで起きた不思議な話」です。 Go初心者が混乱するスライスの挙動の紹介や、スライスの内部実装について紹介しました。

f:id:inukirom:20190227153141j:plain

Writing a Compiler in Go

4つめのセッションは @kitasuke による「Writing a Compiler in Go」です。 コンパイラの考え方や、Monkeyという言語のコンパイラの実装について紹介しました。

f:id:inukirom:20190227154228j:plain

www.slideshare.net

mapとheapを自作してみた話

5つめのセッションは @DQNEO による「mapとheapを自作してみた話」です。 DQNEOは趣味でGoでGoのコンパイラを自作しています。今回は自作コンパイラでどのようにmap型とheapを実装したのかを紹介しました。

f:id:inukirom:20190227162256j:plain

speakerdeck.com

ポメラニアン専用Goコンパイラ

6つめのセッションは @tenntenn による「ポメラニアン専用Goコンパイラ」です。 GoコンパイラのSSAの最適化のルールを変更し、独自の最適化を行う方法を紹介しました。

f:id:inukirom:20190227162959j:plain

Goのエラーハンドリングについて

7つめのセッションは @morikuni による「Goのエラーハンドリングについて」です。 このセッションはLTではなく、30分の発表です。 標準ライブラリのエラーハンドリングや、xerrorsのエラーハンドリング、自作ライブラリの github.com/morikuni/failure を使ったエラーハンドリングについて紹介しました。

f:id:inukirom:20190227163844j:plain

おわりに

今回は10分のLTを取り入れたので、初心者向けの話から、Goコンパイラの中身の話まで多くの話題を取り入れることができました。

次回は3月下旬に開催しようと企画中です!次回は英語のセッションも取り入れて、英語話者の方でも参加しやくしてみようと思っています!是非、ご期待ください!