迷路が好きなだけできるサイト
Table of Contents
迷路が無料で好きなだけできるサイトURL
子供が迷路好きなので。 というか、自分も小さい時迷路好きだった。
Architecture
- Go + Gin(API)
- Docker + Cloud Run
ポイント
Cloud Runの無料枠
- 毎月最初の 180,000 vCPU 秒は無料
- 毎月最初の 360,000 GiB 秒は無料
- 毎月 200 万リクエストは無料
- 北米内の下り(外向き)は毎月 1 GiB まで無料
流行るかどうかわからないけど、過疎ってれるうちはほぼ無料で運用できそう。
SPAにするかどうか
SPAにはしなかった。
無料でいけそうとは言いながら、広告くらいは載せたい。 (SPAより画面遷移のあるサイトの方が広告との相性がいい)
そのため、最近流行りの仕組みにはなってない。
クリックしたら次のステージ・次のレベルのURLへ飛ばします。
レスポンス数を節約するために、JavaScriptもCSSも別URLを読み込むようにはしない(今の所)。もし、流行ったりしたら,ファイルを分けてキャッシュを利かせたほうが転送データ量的には、有利になるはずだけど。
迷路の描画
迷路の作り方は、穴掘り法。Goで生成して、fetch関数でとってきて描画する。
テーマを選択できるようにする予定。 可愛くしないと小さい子が使ってくれない。 ブロック並べただけじゃなくて、海ステージとか、犬が骨を探すとか、絵を変えられるようにする。(まだ未実装)
とりあえずdocker build
API Serverが./mazeで起動するようにしてるとすると
Dockerfile:
from golang:latest
COPY cmd /cmd
WORKDIR /cmd/maze
CMD ["./maze"]
$ gcloud builds submit --tag gcr.io/PROJECT_ID/IMAGE_NAME
Cloud Run
Cloud Runのコンソールに言って、「サービスの作成」からリージョンと名前を決めて、デプロイするコンテナイメージを選ぶ
1回作ってからそのサービスを開くと、「継続的デプロイ」が使えるようになって、githubのリポジトリからpushをトリガにして、自動でアップデートできる。
すごい便利。
private リポジトリでも大丈夫。
Domain
ドメインはGoogle Domainsで購入したので、自分のドメインのページを開いて、「 DNS」→「カスタムリソースレコード」の欄に[CNAME 1h ghs.googlehosted.com] を登録。
この設定は、「カスタムドメインを管理」からドメインマッピングを開いて、対象ドメインの「操作」→「DNS」を選ぶと見ることができる。
完成!!!