Upload
masahiro-matsumoto
View
849
Download
0
Embed Size (px)
Citation preview
Google App Engine/Go を触ってみた第1回 関西 golang 勉強会
Bascule 松本 雅博
自己紹介• 松本 雅博( @massan_77 )• 株式会社 Bascule 大阪オフィス• バックエンドの開発を担当• 所属コミュニティ
– GCPUG 大阪支部長– 関西おうちハッククラウド部長– 関西ハッカソン勉強会– KUG2
• http://www.bascule.co.jp/
• クリエイティブ集団 「自分たちしかできない新しい
クリエイティブ領域でものを創る」
「今これやったらヤバいよね」ってものを創りたい
• 300 以上の賞を受賞 先人の実績です
僕は 2015/6 入社
GCPUG( ジーシーパグ )Google Cloud Platform User Group
• http://gcpug.jp/• GCP を広く普及させる。• GCP の良いところを伸ばし ( 広め )• 良くないところを改善( Google に意見)する。
関西おうちハック• https://kansaiouchihack.doorkeeper.jp/
• 「おうち」をテーマにハック• より快適な「おうち」を作り出していこう
おうちハック
おうちハック
Go 言語歴:1ヶ月
実際に触ったのは1週間
Go 言語をはじめたきっかけ
新しく言語を身につけたかった
新しく言語を身につけたかった• ネットで話題になってる– シンプルらしい– 実行速度が早いらしい– 並列処理が簡単にかけるらしい– スマホアプリもかけるらしい
Google App Engine とは?
A Tour of Go を やってみる
_人人人人人_> 挫折! < ̄ Y^Y^Y^Y
 ̄
まずは何か作ってみることに環境構築もお手軽に
Google App Engine
Google App Engine とは?• Google の提供する PaaS– Java, Python, PHP, Go をサポート– Go 言語版は 2011 年 5 月よりベータ版を提供
2015 年 7 月より正式版• 2015 年 10 月現在、 Go のバージョンは 1.4– 1.5 への対応予定ありだが時期は未定
なぜ、 Google App Engine ?• 環境がすでにあった– ローカルで動かすことも簡単• SDK を導入するだけ
• 期間の限定なく無料– 1日単位で無料枠がリセットされる
なぜ、 Google App Engine ?• 運用の手間を減らすことができる– スケーリング不要• アクセスに応じて自動的に勝手にスケール
– 起動も早い– PaaS なのでサーバ構築不要• 開発に集中できる
• オールインワン– DataStore, Memcache, TaskQueue など
なぜ、 Google App Engine/Go ?• 起動が早い(スピンアップ)– リクエストをトリガーにインスタンスが起動する• この時間が4言語中でもっとも早い(数 ms)• PaaS 上での処理時間は 40ms だった
– Hello World のみ– 他の言語は試していないので比較してみたい
お手軽さのデモ
制限事項• goroutine は実質使えない
– The Go runtime environment for App Engine provides full support for goroutines, but not for parallel execution: goroutines are scheduled onto a single operating system thread.
– IO 待ち等で他の goroutine に処理を渡すので、 GAE でも利用します( @sinmetal)
• Google App Engine 共通の制約– ローカルファイルにアクセスできないなど
Go を触った感想• 簡単!– 言語仕様がシンプル
• DataStore への CRUD, JSON 返却しかしてないけど• 標準でコード整形機能がある– コーディング規約宗教戦争が起きない
• 未使用 import, 変数があるとビルドエラー– クリーンなコード
今後やりたいこと / しりたいこと• 自動テストの導入– おすすめライブラリとか
• 例外処理についてまなぶ• アプリサーバを書いてみたい– goroutine とか Channel をつかってみたい
ご清聴ありがとうございました!