Mercari Engineering Blog

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

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

はじめに

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

11月9日にメルカリ主催のGo勉強会 mercari.go #4 を開催しました。 今回は、先日開催されたISUCONに関する発表や、メルカリのマイクロサービス化にあたってのPHP to Goの話、オリジナルのLintツールについて発表をしました! この記事では、各発表を簡単にまとめて紹介しようと思います。

f:id:inukirom:20180704172134p:plain

GoでISUCONを戦う話

1つめのセッションは @catatsuy による「GoでISUCONを戦う話 」です。 ISUCONでGoをつかうにあたって気をつけるべき点や、pprofを使ったボトルネックの見つけ方など、実践的なパフォーマンスチューニングについて紹介しました。

f:id:inukirom:20181114132155j:plain

発表資料はこちら

mercari_go_isucon.md · GitHub

PHP を Go にする

2つめのセッションは @sters による「PHP を Go にする」です。 マイクロサービス化でPHPのコードをGoのコードに置き換えていくにあたって、PHP to Goの変換ツールを作ってみたという内容です。 変換ツールはPHPで書かれていますが、変換ツールを変換して PHP to Go written by Go with converted "PHP to Go written by PHP" にしたいと言っていました。

f:id:inukirom:20181114132344j:plain

speakerdeck.com

プロジェクトのルールをチェックするためのlint

3つめのセッションは @mizkei による「プロジェクトのルールをチェックするためのlint」です。 Goにはgolintというlintツールがありますが、これGoのコーディングスタイルを指摘してくれるのみで、プロジェクト特有のコーディングルールはチェックしてくれません。 そこで特定パッケージのimportなどを禁止できるようにしたオリジナルのlintツールを作成し紹介しました。

f:id:inukirom:20181114132420j:plain

speakerdeck.com

おわりに

今回はパフォーマンスに関する話と、ASTに関するツールの話をメインに取り上げました。 普段コードを書いてもなかなか気付かないようなパフォーマンスチューニングのポイントなどが知れたのではないでしょうか。

できれば今年中にもう一度開催したいと思っているので次回も是非ご参加ください!