現在の Web アプリケーション開発の中心は「JavaScript」です。Rails や PHP の時代は過ぎ去りました。そしてブラウザでは JavaScript だけが動きます。

JavaScript 中心の Web アプリケーション開発を促進するために、この一連の記事では「インフラ + 永続化層」のスキルセットを、フロントエンドが強い JavaScript エンジニアのために解説します。React, TypeScript, GraphQL, Webpack といった JavaScript 関連の知識は十分に持っていることを前提とします。

結果として「仕様の策定、インフラの構築/運用、DB の構築/運用、ウェブアプリケーションの開発」を担える JavaScript エンジニアを排出し、JavaScript による高速、堅牢なアプリケーション開発の時代を実現します。

  • PostgresDB の操作に慣れる

  • PostgresDB を Node から操作する

    • GCP の Cloud SQL で PostgresDB を用意する
    • LocalDev から Cloud SQL を叩く(開発用の Cloud Proxy を使う)
    • LocalDev の Node App から Cloud Proxy 経由で Cloud SQL の PostgresDB を叩く
    • Node App での PGDB クライアントの解説(CRUD)
  • Google App Engine で React + Node App をデプロイする

    • app.yaml による GAE の環境設定
    • app.yaml による raect-router への対応
    • GAE から Cloud SQL への接続設定
  • Cloud Run を用いた Container ベース環境での開発

    • DB へのクライアントとしてより強力な Prisma を使用する
    • Cloud Run への deploy
    • Cloud Build を用いたデプロイの最適化
    • 独自ドメインの付与
  • Cloud Run と Hasura を用いた GraphQL ベースの API

    • Hasura 概要
    • Migration
  • 永続化層の運用

    • バックアップ
    • マイグレーション
  • Google Kubernetes Engine で Hasura + React + TypeScript を動かす

    • K8S に関しては推薦図書3冊を読んでもらればわかるので、
    • GCP の具体的な操作について解説