Google App EngineがGoに対応したとかで、とりあえず試してみることにした。
インストール
何はともあれSDKをダウンロードしてきてパスを通す。
$ cd ~/lib $ wget http://googleappengine.googlecode.com/files/go_appengine_sdk_linux_386-1.5.0.zip $ unzip go_appengine_sdk_linux_386-1.5.0.zip $ export PATH=~/lib/google_appengine/:$PATH
サンプルの作成と実行
サンプルの作成手順は本家ドキュメントに任せるとして、ここでは実際の実行結果を見ていく。
$ dev_appserver.py myapp/ Warning: You are using a Python runtime (2.6) that is more recent than the production runtime environment (2.5). Your application may use features that are not available in the production environment and may not work correctly when deployed to production. INFO 2011-05-17 14:17:10,225 appengine_rpc.py:159] Server: appengine.google.com INFO 2011-05-17 14:17:10,229 appcfg.py:440] Checking for updates to the SDK. INFO 2011-05-17 14:17:10,550 appcfg.py:457] The SDK is up to date. WARNING 2011-05-17 14:17:10,550 datastore_file_stub.py:657] Could not read datastore data from /tmp/dev_appserver.datastore INFO 2011-05-17 14:17:10,552 rdbms_sqlite.py:58] Connecting to SQLite database '' with file '/tmp/dev_appserver.rdbms' INFO 2011-05-17 14:17:10,598 dev_appserver_multiprocess.py:637] Running application helloworld on port 8080: http://localhost:8080
これでGoogle App Engineのサーバーがローカルで起動したので、あとはブラウザからhttp://localhost:8080/にアクセスすると、"Hello, World!"と記載されただけのページが表示される。それに併せて、dev_appserver側では以下のログが出てくる。そのログを見ると、実行時にGoのソースをコンパイルして即実行してるのがわかる。
INFO 2011-05-17 14:17:36,341 __init__.py:284] building _go_app INFO 2011-05-17 14:17:37,011 __init__.py:276] running _go_app INFO 2011-05-17 14:17:37,080 dev_appserver.py:4200] "GET / HTTP/1.1" 200 - INFO 2011-05-17 14:17:37,139 dev_appserver.py:4200] "GET /favicon.ico HTTP/1.1" 200 - INFO 2011-05-17 14:17:40,245 dev_appserver.py:4200] "GET /favicon.ico HTTP/1.1" 200 -
0 件のコメント:
コメントを投稿