Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
35
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

Google App Engine で Go

インストール

Googleのサイト Google App Engine SDK for Go からインストールできる。

でもbrewにあったのでそこから入れてみる。

brew install go-app-engine-64

(32bit版は go-app-engine-32 )

これで dev_appserver.pyappcfg.py/usr/local/bin に配置された。

でもPythonのSDKとかとバッティングしても大丈夫なのかよくわからないので共存させるときは自分で別の場所に配置した方がいいかもしれない。

Hello, Wolrd!

myapp, myapp/hello というディレクトリをつくって2つのファイルを用意する。

myapp/
  app.yaml
  hello/
    hello.go

まず 1 つ目のファイルとして hello サブディレクトリに hello.go ファイルを書く。mainパッケージはSDK側にあるので作らなくていい。

myapp/hello/hello.go
package hello

import (
    "fmt"
    "net/http"
)

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

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

次に 2 つ目のファイルとしてアプリケーション構成 app.yaml ファイルを書く。

app.yaml
application: helloworld
version: 1
runtime: go
api_version: go1

handlers:
- url: /.*
  script: _go_app

そして dev_appserver.py にアプリケーションのディレクトリを渡して起動する。

dev_appserver.py --admin_port=9998 --port=9999 myapp/

http://localhost:9999/ を開くと表示される。

ファイルの変更を監視しているので dev_appserver.py を再起動しなくても、ブラウザをリロードしたら変更を確認できるよとあるが、OS Xの場合、python からシステムにアクセスするために PyObjC が必要。Homebrewでpythonをインストールしていれば pip も入っているので

pip install -U pyobjc

でインストールする。これでGo SDKからファイルの変更が検出できるようになる。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
35
Help us understand the problem. What are the problem?