『メルカリ』のアップデート監視を支える(かもしれない)技術 をKyobashi.go #1で話した #kyobashigo

『メルカリ』のアップデート監視を支える(かもしれない)技術 Kyobashi.go #1で話してきました。

kyobashi-go.connpass.com

この発表のためにgoを始めてみたけど、goいいねー!

元々C言語の経験はあったので、ポインタや構造体で困ることがなかったので、go特有の部分だけ覚えるだけでとりあえず色々試せた。

後はみんな言ってるけど「go get」が素晴らしいという話。モダンな開発に向いてる機能がいくつもあって、開発してて楽しさが増すよねー。

発表資料


いつか今回紹介したアップデートを監視するTool 「TONKOTSU」の内部の話もしてみたいと思ってる。

設定ファイルのフォーマットに使っているTOMLや使っているライブラリの話とかもしてみたいし。

そんなに複雑じゃないので、ソースコードを読めば理解できるレベルですけどね。

そもそもアップデートの瞬間は重要か?問題

懇親会でAndroidiOSのアプリを開発している人に、「アプリがアップデートされたかどうかってどうやって見てるんですか?」という質問をしてみた。

ほぼほぼ「リリースしてから、一時間後くらいにアップデートされてるか見てます」くらいな感じ。

なるほど、みんなそんなにアップデートされる瞬間を厳密には見てないのか・・・(´・ω・`)

メルカリにとっては、アップデート後がとても大事だと思ってる。

アプリの不具合やサーバのトラフィック等を監視して、問題があればすぐに修正・再リリースというActionを早くできることは、アップデートの瞬間を厳密に見ることのメリットだと思ってる。

なので、アプリによってアップデートの瞬間を監視するかどうかの意識レベルは大きく変わるね。

TONKOTSU

こいつがアプリのアップデート日を監視して、アップデートがされていたらSlackにアップデートしたよーって通知するやつ。

github.com

cli toolなので、なんか名前つけたいなーって考えて、色んな理由から「TONKOTSU」と名付けることにした。

実際にアップデート監視で実践投入済みですが、問題点や改善点がまだまだあるので、今後もアップデートしていくつもり。

今はGoogle Playの監視(Androidアプリのアップデート監視)しかできないけど、今後はApp Storeの監視(iOSアプリのアップデート監視)もできるようにしたい。

アップデートの監視で困ってた人は、ご自由にお使いください!

golack

んで、こいつがTONKOTSU内部で使っているgoからSlackにPostする機能を持ったライブラリ

最低限の実装しかしてないけど、まあ個人的には不満なく動いてるので問題ない。

github.com

goからSlackを扱えるようにするライブラリっていくつかあるんだけど、ただSlackにPostしたいときにライブラリが複雑すぎるものが多くて困った。

なので、golackは今のシンプルな作りを維持したいって思ってる。

他の登壇者の方の発表資料

他の登壇者の方の資料も、connpassのイベントページにUPされてます。

go始めたばかりだったので、色々聞けてすごい勉強になった!go mobileも興味深い!!

kyobashi-go.connpass.com