Slide 1

Slide 1 text

GAE/Goで 1. 11 にしたら、 ローカルコンパイル スピードが 100倍になった話 瀬上 祐匡

Slide 2

Slide 2 text

自己紹介 瀬上 祐匡(せのうえ ひろまさ) びでおまーけっと サーバサイドエンジニア Go、Python、js、PHPとかを、 程よく触っています。 中学校のPTA会長(2期目)やったり、 ハリネズミ飼ってたり、モノノフだったりします 2

Slide 3

Slide 3 text

本題 何が起きたのか 昨年11月くらいから、GoでAPI開発をスタート Goは、改修程度で触ったことがあるくらい GAEは、遊び程度の知識 GCPは、この直前の業務で、 BigQuery、CloudFunctionで DWHをつくったりしてました。 3

Slide 4

Slide 4 text

試行錯誤しつつも 環境の構築 環境 ● docker (CentOS7) ● GAE/Go1.9 ● Gin/Gorm ● CloudSQL 5.7

Slide 5

Slide 5 text

順調に開発が進んで、 12月ころから ● ローカルのコンパイルが遅い ● PCのファンがドローンのように唸っている   (飛び上がる危険性) ● 日々大きくなるソース・・・ この頃から、PCは 悲鳴をあげ、コンパイルに、 時間がかかるように... 5

Slide 6

Slide 6 text

とりあえず、 このままで... そっとしておこう。。。 6

Slide 7

Slide 7 text

ある日、 こんな会話が・・・ 7 コンパイルおそくね? そうなんす、日に日に・・ なんでだろ? ファイル数なんすかね?

Slide 8

Slide 8 text

“ 8 第8話バージョンアップは 突然に 8 やっておきまー おっけー、ついでに、 Go1.11にしよう 基本動作はほぼできたんで、 リファクタしますね

Slide 9

Slide 9 text

バージョンアップでやっ たこと ● ローカル環境も、Go.1.11.5にVUP ● dep→Modulesに ● Ciでの、deploy ● Yamlファイルの書き直し ● 若干のリファクタ サクッとVUPを完了し、 環境を実行... 9

Slide 10

Slide 10 text

あれ、コンパイル早く ね???? 一体何が、、、 10

Slide 11

Slide 11 text

00:09:98sec これが本来のスピード でも、 100倍は言いすぎだよね? 言い過ぎました・・・ 11

Slide 12

Slide 12 text

12月時の コンパイルスピード 12 1 コ ー ド修 正 約 5分 2 ロ ー カ ル 環 境 コ ン パ イ ル 約 5分 3 コ ー ヒ ー を 入 れ に 行 く 約 5分 合計約15分 約900秒ロス 9sec×100 = 900sec

Slide 13

Slide 13 text

まとめ 13

Slide 14

Slide 14 text

というわけで GAEでGoはいいぞ GAE ● 思ってたより安い ● SSLがついてる ● 独自ドメイン設定も すごく簡単 ● F/Wがすごく便利 ● Stackdriverも便利 14 Go ● 想像以上に、作りやすい ● すげー早い ● ドキュメントが少ない ● やってる人もまだ少ない ● 1.10〜キャッシュビルドが使えるように なった

Slide 15

Slide 15 text

デモ します 15 コード総数  12,000行 ファイル数  80ファイル 実際の画面

Slide 16

Slide 16 text

Thanks! ご清聴ありがとうございました You can find me at: ● @senoue ● @hiromasa.senoue ● https://github.com/Senoue/vm-titles Go1.11とG01.9の環境を公開してます 16