『メルカリ』のアップデート監視を支える(かもしれない)技術 をKyobashi.go #1で話してきました。
この発表のためにgoを始めてみたけど、goいいねー!
元々C言語の経験はあったので、ポインタや構造体で困ることがなかったので、go特有の部分だけ覚えるだけでとりあえず色々試せた。
後はみんな言ってるけど「go get」が素晴らしいという話。モダンな開発に向いてる機能がいくつもあって、開発してて楽しさが増すよねー。
発表資料
いつか今回紹介したアップデートを監視するTool 「TONKOTSU」の内部の話もしてみたいと思ってる。
設定ファイルのフォーマットに使っているTOMLや使っているライブラリの話とかもしてみたいし。
そんなに複雑じゃないので、ソースコードを読めば理解できるレベルですけどね。
そもそもアップデートの瞬間は重要か?問題
懇親会でAndroidやiOSのアプリを開発している人に、「アプリがアップデートされたかどうかってどうやって見てるんですか?」という質問をしてみた。
ほぼほぼ「リリースしてから、一時間後くらいにアップデートされてるか見てます」くらいな感じ。
なるほど、みんなそんなにアップデートされる瞬間を厳密には見てないのか・・・(´・ω・`)
メルカリにとっては、アップデート後がとても大事だと思ってる。
アプリの不具合やサーバのトラフィック等を監視して、問題があればすぐに修正・再リリースというActionを早くできることは、アップデートの瞬間を厳密に見ることのメリットだと思ってる。
なので、アプリによってアップデートの瞬間を監視するかどうかの意識レベルは大きく変わるね。
TONKOTSU
こいつがアプリのアップデート日を監視して、アップデートがされていたらSlackにアップデートしたよーって通知するやつ。
cli toolなので、なんか名前つけたいなーって考えて、色んな理由から「TONKOTSU」と名付けることにした。
実際にアップデート監視で実践投入済みですが、問題点や改善点がまだまだあるので、今後もアップデートしていくつもり。
今はGoogle Playの監視(Androidアプリのアップデート監視)しかできないけど、今後はApp Storeの監視(iOSアプリのアップデート監視)もできるようにしたい。
アップデートの監視で困ってた人は、ご自由にお使いください!
golack
んで、こいつがTONKOTSU内部で使っているgoからSlackにPostする機能を持ったライブラリ。
最低限の実装しかしてないけど、まあ個人的には不満なく動いてるので問題ない。
goからSlackを扱えるようにするライブラリっていくつかあるんだけど、ただSlackにPostしたいときにライブラリが複雑すぎるものが多くて困った。
なので、golackは今のシンプルな作りを維持したいって思ってる。
他の登壇者の方の発表資料
他の登壇者の方の資料も、connpassのイベントページにUPされてます。
go始めたばかりだったので、色々聞けてすごい勉強になった!go mobileも興味深い!!