ものさんの遊び場
ものさんの開発環境
アプリやWebサイトがどんな環境で作られ、どのように公開されているのかを紹介します。
システム構成図
図を選択すると、別タブで大きく表示できます。
開発環境Q&A
Q開発環境にLinux(WSL2)を使っているのはなぜ?
A
ものさんはWindowsユーザーなので、開発環境はほぼWSL2一択でした。Windows上で開発すると環境が散らかりやすく、本番環境との違いによるトラブルも起きやすいため、Linux環境で開発しています。
QWebサイトにSvelteとViteを選んだ理由は?
A
カードのデザインなど、画面の部品を分けて作りやすいところが一番の理由です。Svelteを使ったことがあり、慣れていたのも選んだ理由のひとつです。
Qアプリ開発にFlutterを選んだ理由は?
A
シンプルに興味があったことと、仕事でFlutterを使う機会が増えてきたことが理由です。
QAPIをGoで作っているのはなぜ?
A
Goに興味があったことに加えて、準備や保守の面で楽だと感じたからです。
QWebサイト用とアプリ用でAPIを分けているのはなぜ?
A
Webとアプリでは扱うものがまったく違うため、APIも切り離しています。
Q開発用データベースにPostgreSQLとDockerを使う理由は?
A
PostgreSQLとDockerの組み合わせに一番慣れているからです。
Q本番環境にXserver VPSとDocker Composeを使っている理由は?
A
自分のVPSを持っておきたかったことと、Docker Composeでまとめて管理したほうがデプロイ時に楽だと思ったからです。
QCaddyをHTTPSの入口にしているのはなぜ?
A
このあたりはAIに任せました。手軽に、楽に設定できるものを選んでいます。
Q開発環境から本番環境へ、どんな手順でデプロイしている?
A
①Gitの変更を取得、②DBマイグレーション、③Docker Composeでビルド・起動、④ヘルスチェック、という流れをシェルで実行します。さらに、そのシェルをCodexから起動しています。「デプロイして」と頼めば終わるので、楽ですね。
