迷路が好きなだけできるサイト

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」を選ぶと見ることができる。

完成!!!

kokardy avatar
kokardy
a pharmacist and a software engineer