スキップしてメイン コンテンツに移動

windowsからGAE/GoでHello world

環境

  • OS : Win 7 64bit
  • Go : go1.5.1.windows-amd64.msi
  • Google App Engine SDK : go_appengine_sdk_windows_amd64-1.9.26.zip
  • Python : python-2.7.4

まずは、コマンドでHello world

Goをインストール

The Go Programming Languageから、Windows 64bit用インストーラをダウンロードしてインストール。コマンドプロンプトを開いて、go versionと入力してバージョンが表示されたらOK

hello worldのコード

これをコンパイル
go build hello.go
を実行すると、hello.exeが作成される。helloと実行すると、Hello worldが表示される

GAE SDK for Goのインストール

以下からダウンロードしてzipファイルを解凍。
Download the Google App Engine SDK - App Engine — Google Cloud Platform

パスについて

zipファイルを解凍したディレクトリにパスを通しておくとGoをラップしたgoappコマンドが使えて便利だが、重複しているコマンドもあるとのこと
Windowsでの Go 1.3 & Google App Engine SDK for GO 1.9.6 のセットアップ - belbomemo
SDK には gofmt, godoc という、Go が持つコマンドとの重複したものが含まれています。 もちろん、gofmt や godoc は、Go 側でも SDK 側でも、そう大きな違いは無いはずですが、問題となる可能性も残ります。

Python 2.7.x が必要

Pythonバージョン2.7系が必要でそれより上のバージョンでもダメらしい。
pythonをコマンドで確認。python -V

Python 2.7.4 Release | Python.orgからpython-2.7.4.msiをダウンロード。
Goのインストーラーと違って、パスは通してくれないようなので、 PathにPythonがインストールされたディレクトリを入れておく。例)” C:\Python27”

Webアプリ作成と実行

まず、デベロッパーコンソールでプロジェクトを作成。

この時入力したプロジェクトIDをメモしておく(例:hogehogeID)。ファイルは以下2つが必要
  • app.yaml(アプリケーション情報)
  • main.go

とりあえずローカルで実行

作成した2ファイルがあるディレクトリでgoapp serve
起動したらブラウザで確認→ http://localhost:8080/

※本文の表示は拡大しています

デプロイ

同ディレクトリで、 goapp deploy
ブラウザが起動して、Googleへのログインを要求される。

「許可」ボタンを押下すると、「The authentication flow has completed.」と唐突に表示されるが完了した模様。

http://(プロジェクトID).appspot.com/

にアクセスすると、Hello, worldが表示される

参考

コメント

このブログの人気の投稿

GolangでWindows GUIアプリケーション

GUIアプリ作成の前提 社内ツールとしてexeで配布 開発環境はGoLandを使う 社内ツールとしてexeを配布ということであれば、Visual StudioでC#による開発だと思います。しかしながら、Go言語を習得したいのと、GoLandの補完機能が便利で、Android Studio使っていたこともあり、とっつきやすいという点からGo縛りでGUIアプリケーションを考えたいと思います。 lxn/walk Windows application library kit for Go. Windows向けしか考えていないので、まずこのライブラリなのですが、ボタンやコンボボックスが思ったように並ばなかったり、手軽にイメージボタンを配置したりなど、簡単にレイアウトを変更できない課題に直面しました。レイアウト作成だけで時間を取られてしまいます。そう言えば、Androidアプリ開発のときは、XMLでデザイン部分を切り離してたのを思い出して、今回の調査の運びとなりました。 fyne-io/fyne Cross platform native GUIs designed for Go based on Material Design. Supports: Linux, macOS, Windows, BSD, iOS and Android. walkと比べると、クロスプラットフォームで作成できるのですが、こちらもコードの中にデザインを書いていく形でした。 therecipe/qt therecipe/qt allows you to write Qt applications entirely in Go or JavaScript. Qt Creatorなるものがあるようで、デザイン部分を切り離せる印象はあるものの、最新のPCでもビルドに時間がかかるようで、学習コストもかかるという記事を見かけて断念しました。 どうしたものかとツイートしましたら、下記のようにご助言をいただいた。 同じ課題に対し色々試した結果、PWAのフルキャッシュドに落ち着いた。中身はGo+WASMで。 https://t.co/e60whDTV16 — のぼのぼ📡 (@nobonobo) July 21, 2020 PWA 早速調べてみました。Googleが進めているプロジェクトで、ネイティブアプリのよ

Eclipseで一通り基本的なGitを使ってみる

備忘録的にまとめておきたいと思います。おかしな点があればご指摘いただければ幸いです。 目次 環境 プロジェクト作成~初コミットまで コミットの履歴&差分を見る 元に戻す ブランチについて ブランチを作成してみる ブランチを統合するには マージする Rebaseする ローカルリポジトリからプロジェクトを取り込む コミットしたメッセージの修正 環境 Eclipse IDE for Java Developers:Juno Service Release 1 Git:上記Eclipseのプリインストール版

Javaでprivateなfieldやmethodにアクセスする

JUnitでテストしてると、privateなフィールドにアクセスして、値を参照したりセットしたりしたくなるわけですが、よく使うのでメモしておきます。 例えば、次のような対象のクラスがあるとします。 public class ParentClass { private String hoge = "ParentClass!!"; public void dispMsg() { System.out.println("dispMsg:" + hoge); } private void privateDispMsg(String msg) { System.out.println("dispMsg:" + msg); } }