Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Google App Engine/Goを触ってみた

1,223 views

Published on

第1回 関西golang勉強会 LT登壇資料です

@sinmetal さんより頂いた指摘を記載しました。
P.25 - goroutineは実質使えない IO待ちなどで他のgoroutineに処理を渡すのでGAEでも利用します。

Published in: Technology
  • Be the first to comment

Google App Engine/Goを触ってみた

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

×