50
49

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GoogleAppEngine/GOに触ってみたら、チュートリアルに感動しました。

Posted at

GCPのアドベントカレンダー11日目です。

久しぶりにGAE触ったら管理画面の日本語対応が進んでいて嬉しかったので触ってみました。
といってもチュートリアルな感じです。

Goだけ触ったことがなかったので、試してみました。

昔AppEngineを触ってたときがありましたが、そのときと比べてチュートリアルや管理画面が凄く分かりやすくなっていて感動してます。

Google App Engineでアプリケーション作成

  • 今すぐ試す を選択しましょう。

  • 任意のプロジェクト名を入力して 言語はGoを選択します。

  • ソースコードは眺めるくらいでおk

  • Google Cloud SDKをまだインストールしていない場合はインストールしましょう。

  • ~/.bash_profileにaliasを追加しておきます。

alias goapp=~/google-cloud-sdk/platform/google_appengine/goapp
  • gcloud auth loginでログインしておきます。
$ gcloud auth login

ブラウザ側で認証画面が開かれるので認証しましょう。

$ gcloud components update gae-go

  • ローカルサーバーを立ち上げてアプリを起動します。
$ goapp serve appengine-try-go

appengine-try-goフォルダの中ではなくてフォルダがある階層でgoappコマンドを使うと良いみたいです。

  • ブラウザから http://localhost:8080 にアクセスするとHello,world!が表示されますね。

  • ソースコードはこんな感じ
package hello

import (
    "fmt"
    "net/http"
)

func init() {
    http.HandleFunc("/", handler)
}

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprint(w, "Hello, world!")
}

Goのコードってちゃんとみたの初めてかもです。

  • サーバー起動してからサーバーにアクセスがあるとログが表示されます。
$ goapp serve appengine-try-go
INFO     2014-12-10 17:08:17,776 devappserver2.py:745] Skipping SDK update check.
WARNING  2014-12-10 17:08:17,788 simple_search_stub.py:1115] Could not read search indexes from /var/folders/wk/clq1j2m55_515vzfq2mdjzh40000gp/T/appengine.helloworld.sugawara_ryosuke/search_indexes
INFO     2014-12-10 17:08:17,792 api_server.py:172] Starting API server at: http://localhost:51249
INFO     2014-12-10 17:08:17,796 dispatcher.py:186] Starting module "default" running at: http://localhost:8080
INFO     2014-12-10 17:08:17,798 admin_server.py:118] Starting admin server at: http://localhost:8000
INFO     2014-12-10 17:08:23,305 module.py:718] default: "GET / HTTP/1.1" 200 13
INFO     2014-12-10 17:08:23,391 module.py:718] default: "GET /favicon.ico HTTP/1.1" 200 13
INFO     2014-12-10 17:08:23,447 module.py:718] default: "GET /favicon.ico HTTP/1.1" 200 13

  • 最後に実際のサーバーにデプロイします。プロジェクトを作成を押します。

  • プロジェクトが立ち上がるので少し待ちましょう。

  • プロジェクトIDを指定してデプロイします。

今回は自動生成されたプロジェクトIDはlyrical-drive-790です。

$ goapp deploy -oauth -application [プロジェクトID] appengine-try-go

今回の場合は

$ goapp deploy -oauth -application lyrical-drive-790 appengine-try-go

になります。

成功すると http://lyrical-drive-790.appspot.com でwebサーバーが起動します。 アクセスすると先ほどのhelloworldが表示されます。

まとめ

チュートリアルや管理画面が変わって、思った以上に最初のハードルが下がったと思います。
昔AppEngineで挫折した人などはもう一度試してみると良いかもしれないですね。

参考: http://qiita.com/taizo/items/bf1ec35a65ad5f608d45

50
49
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
50
49

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?