28
Google App Engine/Go を ををををを を を 西 golang ををを Bascule をを をを

Google App Engine/Goを触ってみた

Embed Size (px)

Citation preview

Page 1: Google App Engine/Goを触ってみた

Google App Engine/Go を触ってみた第1回 関西 golang 勉強会

Bascule 松本 雅博

Page 2: Google App Engine/Goを触ってみた

自己紹介• 松本 雅博( @massan_77 )• 株式会社 Bascule 大阪オフィス• バックエンドの開発を担当• 所属コミュニティ

– GCPUG 大阪支部長– 関西おうちハッククラウド部長– 関西ハッカソン勉強会– KUG2

Page 3: Google App Engine/Goを触ってみた
Page 4: Google App Engine/Goを触ってみた

• http://www.bascule.co.jp/

• クリエイティブ集団 「自分たちしかできない新しい

クリエイティブ領域でものを創る」

「今これやったらヤバいよね」ってものを創りたい

• 300 以上の賞を受賞 先人の実績です

僕は 2015/6 入社

Page 5: Google App Engine/Goを触ってみた

GCPUG( ジーシーパグ )Google Cloud Platform User Group

• http://gcpug.jp/• GCP を広く普及させる。• GCP の良いところを伸ばし ( 広め )• 良くないところを改善( Google に意見)する。

Page 6: Google App Engine/Goを触ってみた

関西おうちハック• https://kansaiouchihack.doorkeeper.jp/

• 「おうち」をテーマにハック• より快適な「おうち」を作り出していこう

Page 7: Google App Engine/Goを触ってみた

おうちハック

Page 8: Google App Engine/Goを触ってみた

おうちハック

Page 9: Google App Engine/Goを触ってみた
Page 10: Google App Engine/Goを触ってみた

Go 言語歴:1ヶ月

Page 11: Google App Engine/Goを触ってみた

実際に触ったのは1週間

Page 12: Google App Engine/Goを触ってみた

Go 言語をはじめたきっかけ

Page 13: Google App Engine/Goを触ってみた

新しく言語を身につけたかった

Page 14: Google App Engine/Goを触ってみた

新しく言語を身につけたかった• ネットで話題になってる– シンプルらしい– 実行速度が早いらしい– 並列処理が簡単にかけるらしい– スマホアプリもかけるらしい

Page 15: Google App Engine/Goを触ってみた

Google App Engine とは?

Page 16: Google App Engine/Goを触ってみた

A Tour of Go を やってみる

Page 17: Google App Engine/Goを触ってみた

_人人人人人_> 挫折! < ̄ Y^Y^Y^Y

Page 18: Google App Engine/Goを触ってみた

まずは何か作ってみることに環境構築もお手軽に

Page 19: Google App Engine/Goを触ってみた

Google App Engine

Page 20: Google App Engine/Goを触ってみた

Google App Engine とは?• Google の提供する PaaS– Java, Python, PHP, Go をサポート– Go 言語版は 2011 年 5 月よりベータ版を提供

2015 年 7 月より正式版• 2015 年 10 月現在、 Go のバージョンは 1.4– 1.5 への対応予定ありだが時期は未定

Page 21: Google App Engine/Goを触ってみた

なぜ、 Google App Engine ?• 環境がすでにあった– ローカルで動かすことも簡単• SDK を導入するだけ

• 期間の限定なく無料– 1日単位で無料枠がリセットされる

Page 22: Google App Engine/Goを触ってみた

なぜ、 Google App Engine ?• 運用の手間を減らすことができる– スケーリング不要• アクセスに応じて自動的に勝手にスケール

– 起動も早い– PaaS なのでサーバ構築不要• 開発に集中できる

• オールインワン– DataStore, Memcache, TaskQueue など

Page 23: Google App Engine/Goを触ってみた

なぜ、 Google App Engine/Go ?• 起動が早い(スピンアップ)– リクエストをトリガーにインスタンスが起動する• この時間が4言語中でもっとも早い(数 ms)• PaaS 上での処理時間は 40ms だった

– Hello World のみ– 他の言語は試していないので比較してみたい

Page 24: Google App Engine/Goを触ってみた

お手軽さのデモ

Page 25: Google App Engine/Goを触ってみた

制限事項• 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 共通の制約– ローカルファイルにアクセスできないなど

Page 26: Google App Engine/Goを触ってみた

Go を触った感想• 簡単!– 言語仕様がシンプル

• DataStore への CRUD, JSON 返却しかしてないけど• 標準でコード整形機能がある– コーディング規約宗教戦争が起きない

• 未使用 import, 変数があるとビルドエラー– クリーンなコード

Page 27: Google App Engine/Goを触ってみた

今後やりたいこと / しりたいこと• 自動テストの導入– おすすめライブラリとか

• 例外処理についてまなぶ• アプリサーバを書いてみたい– goroutine とか Channel をつかってみたい

Page 28: Google App Engine/Goを触ってみた

ご清聴ありがとうございました!