Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GCPUG 仙台
Search
Senoue
March 26, 2019
Technology
1
460
GCPUG 仙台
Senoue
March 26, 2019
Tweet
Share
More Decks by Senoue
See All by Senoue
Goカードゲームを 作ってみた!
senoue
0
160
App_RunnerとRDSを活用したスケーラブルなWebAPI構築とインフラの自動化.pdf
senoue
1
110
チャンネルを完全に理解する
senoue
0
63
Real-time Communication in Go with Melody and WebSockets
senoue
0
160
Adobeの生成AIのこと を調べてみた
senoue
0
200
ソフトウェア開発におけるAI :CopilotとGenie
senoue
0
200
Sendai.go x GDG Cloud 仙台 ハンズオン
senoue
0
62
GoでMecab
senoue
0
380
GKEとGoでエフェメラルなサービス
senoue
0
400
Other Decks in Technology
See All in Technology
Active Directory 勉強会 第 6 回目 Active Directory セキュリティについて学ぶ回
eurekaberry
16
5.4k
今すぐGoogle Antigravityを触りましょう
rfdnxbro
0
250
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
970
なぜフロントエンド技術を追うのか?なぜカンファレンスに参加するのか?
sakito
8
1.8k
Bakuraku Engineering Team Deck
layerx
PRO
6
1.3k
GitHub を組織的に使いこなすために ソニーが実践した全社展開のプラクティス
sony
20
11k
LangChain v1.0にトライ~ AIエージェントアプリの移行(v0.3 → v1.0) ~
happysamurai294
0
150
履歴テーブル、今回はこう作りました 〜 Delegated Types編 〜 / How We Built Our History Table This Time — With Delegated Types
moznion
14
8.8k
TypeScript×CASLでつくるSaaSの認可 / Authz with CASL
saka2jp
2
170
How native lazy objects will change Doctrine and Symfony forever
beberlei
1
320
"なるべくスケジューリングしない" を実現する "PreferNoSchedule" taint
superbrothers
0
130
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Designing for humans not robots
tammielis
254
26k
Unsuck your backbone
ammeep
671
58k
Designing for Performance
lara
610
69k
A Modern Web Designer's Workflow
chriscoyier
697
190k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Practical Orchestrator
shlominoach
190
11k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Speed Design
sergeychernyshev
33
1.3k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Transcript
GAE/Goで 1. 11 にしたら、 ローカルコンパイル スピードが 100倍になった話 瀬上 祐匡
自己紹介 瀬上 祐匡(せのうえ ひろまさ) びでおまーけっと サーバサイドエンジニア Go、Python、js、PHPとかを、 程よく触っています。 中学校のPTA会長(2期目)やったり、 ハリネズミ飼ってたり、モノノフだったりします
2
本題 何が起きたのか 昨年11月くらいから、GoでAPI開発をスタート Goは、改修程度で触ったことがあるくらい GAEは、遊び程度の知識 GCPは、この直前の業務で、 BigQuery、CloudFunctionで DWHをつくったりしてました。 3
試行錯誤しつつも 環境の構築 環境 • docker (CentOS7) • GAE/Go1.9 • Gin/Gorm
• CloudSQL 5.7
順調に開発が進んで、 12月ころから • ローカルのコンパイルが遅い • PCのファンがドローンのように唸っている (飛び上がる危険性) • 日々大きくなるソース・・・ この頃から、PCは
悲鳴をあげ、コンパイルに、 時間がかかるように... 5
とりあえず、 このままで... そっとしておこう。。。 6
ある日、 こんな会話が・・・ 7 コンパイルおそくね? そうなんす、日に日に・・ なんでだろ? ファイル数なんすかね?
“ 8 第8話バージョンアップは 突然に 8 やっておきまー おっけー、ついでに、 Go1.11にしよう 基本動作はほぼできたんで、 リファクタしますね
バージョンアップでやっ たこと • ローカル環境も、Go.1.11.5にVUP • dep→Modulesに • Ciでの、deploy • Yamlファイルの書き直し
• 若干のリファクタ サクッとVUPを完了し、 環境を実行... 9
あれ、コンパイル早く ね???? 一体何が、、、 10
00:09:98sec これが本来のスピード でも、 100倍は言いすぎだよね? 言い過ぎました・・・ 11
12月時の コンパイルスピード 12 1 コ ー ド修 正 約 5分
2 ロ ー カ ル 環 境 コ ン パ イ ル 約 5分 3 コ ー ヒ ー を 入 れ に 行 く 約 5分 合計約15分 約900秒ロス 9sec×100 = 900sec
まとめ 13
というわけで GAEでGoはいいぞ GAE • 思ってたより安い • SSLがついてる • 独自ドメイン設定も すごく簡単
• F/Wがすごく便利 • Stackdriverも便利 14 Go • 想像以上に、作りやすい • すげー早い • ドキュメントが少ない • やってる人もまだ少ない • 1.10〜キャッシュビルドが使えるように なった
デモ します 15 コード総数 12,000行 ファイル数 80ファイル 実際の画面
Thanks! ご清聴ありがとうございました You can find me at: • @senoue •
@hiromasa.senoue • https://github.com/Senoue/vm-titles Go1.11とG01.9の環境を公開してます 16