🔧
【DAY73】無料でWEB公開はあきらめ、バックエンドを再勉強しようと思う
無料でWEB公開をあきらめた理由
個人開発でよくぶつかる壁の一つが「無料でどこまでできるか」。特にWebアプリの公開においては、無料のホスティングやクラウドサービスを探しては、制限にぶつかり、そのたびに遠回りする──この繰り返しだった。
例えば、VercelやNetlifyはフロントエンドには最高だが、バックエンドの処理やDBとの連携が絡むと一気に厳しくなる。無料枠では常時稼働が難しかったり、スリープしてしまったり、DB接続が制限されたりする。また、Cloudflare Workersなども試したが、使いこなすにはそれなりの前提知識が求められる。
結局のところ、無料で完結する方法を探すことが目的化していた。そして、その探求がプロダクト開発よりも優先されてしまっていた。これでは本末転倒だ。
バックエンドを「再勉強」することにした
この経験を踏まえ、改めてバックエンドの基礎から見直すことにした。選んだのは以下の技術スタック:
- Node.js(Express)
- PostgreSQL(DB)
- Prisma(ORM)
- Docker(開発環境)
- Railway(有料プランを想定)
バックエンドの勉強というと、昔はPHP + MySQLだったが、今は選択肢も設計思想もかなり変わっている。中でもPrismaは型安全で、フロントエンドエンジニアにも優しい感触。PostgreSQLも無料枠では厳しいが、ローカルでしっかり構築できれば応用が利く。
結局、有料でも「自分で理解できる」ことが最重要
無料を追いかけると、サービスの制限や非公式な回避策に振り回されがち。逆に、有料でも「自分がコードを書いて、自分が動かせる」環境の方が成長にもつながると実感した。
正直なところ、最初はコストを理由に有料を避けていた。でも、たった月1000〜2000円で、学習効率も開発体験も圧倒的に変わるなら、それは「投資」と呼べる。しかも、その知識は転職や業務にも応用できる。
今後のTODO
- Dockerでのローカル環境構築
- Prismaを使ったスキーマ設計とマイグレーション
- ExpressのルーティングとAPI設計
- 最低限の認証(JWT)とセッション管理
- Railway(またはRender)へのデプロイとCI設定
無料の限界に気づいた今、自分の技術を高める方向にシフトしたい。表面的な「動く」よりも、内部構造を「理解する」。
Discussion