Excelしか触ってないのに、気づいたらGitHub・Cloudflare・D1・KVを触っていた――Web開発、専門用語のボスラッシュすぎる

表計算しか触ってこなかった人がWeb開発に入ると、最初の感想はだいたいこれである。

この記事をシェア
広告
広告

5秒で結論: キャパを超えるのはかなり自然である。Excelは主に「手元で表を扱う道具」だが、GitHubやCloudflareに入ると、突然「設計図管理」「自動組立」「サーバー」「データベース」「配信網」「障害復旧」まで別レイヤーが一気に登場する。知識不足というより、ゲーム開始直後に中ボスを飛ばして最終ダンジョンへ入っている。

1. Excelの次にGitHubが来ると思ったら、なぜか物流センターまで出てきた

表計算しか触ってこなかった人がWeb開発に入ると、最初の感想はだいたいこれである。

サイト作るだけじゃなかったの?

HTMLくらいならまだ分かる。

ところが少し進むと、

  • Git
  • GitHub
  • repository
  • branch
  • commit
  • build
  • deploy
  • Worker
  • D1
  • KV
  • DNS
  • CDN
  • CI/CD

が一斉に出てくる。

RPGで最初の村を出たら、スライムではなく「分散システム概論」が立っている。

しかも本人は「Webページを出したかっただけ」である。

この混乱には理由がある。Excelは基本的に一つのアプリの中で作業が完結しやすい。一方、Webサービスは「作る」「保存する」「変換する」「動かす」「配る」「記録する」が別々の仕組みに分かれている。

2. 本当に起きているのは「難しい」のではなく「レイヤーを飛ばしている」

一般的な学習順は、必ずしも一つではない。

ただ、Web開発では概念上、

  1. ファイルを書く
  2. Gitで変更履歴を持つ
  3. GitHubで共有・保管する
  4. ビルドする
  5. サーバーへ配置する
  6. APIを動かす
  7. DBをつなぐ
  8. 自動化する
  9. 障害時の再実行を考える

のように層が増えていく。

ところが実際の個人開発では、AIやテンプレートのおかげで1〜3を十分に理解する前に、いきなり7〜9まで到達できる。

便利である。

同時に、脳には優しくない。

「GitHubって保存場所だよね?」と理解した翌日に「Workers Buildsのroot設定が」「D1 bindingが」「KVはeventual consistencyで」と言われる。

昨日まで冷蔵庫を使っていた人に、今日は食品工場のHACCPと物流WMSを説明しているようなものである。

3. GitHubは何者か――基本は「設計図倉庫+履歴書」

GitHubの中心は、ソースコードや文章などをGitリポジトリとして管理することだ。

たとえばWebサイトなら、

  • 記事
  • HTML
  • CSS
  • JavaScript
  • 設定ファイル
  • テスト
  • スクリプト

などが置かれる。

そして「誰が、いつ、何を変えたか」をcommitとして残せる。

だから一番雑に言えば、

GitHub = 設計図倉庫+変更履歴

である。

もちろんGitHub Pagesなら静的サイトを公開できるし、GitHub Actionsならビルド・テスト・デプロイも自動化できる。

ここがややこしい。

GitHubは「倉庫だけ」ではない。

倉庫に小型工場まで付いている。

ただし、それでもGitHubの本業は「コードと変更の管理」の側にある。

4. Cloudflareは何者か――急に工場・店・配送・警備まで全部やり出す

Cloudflare側へ行くと役割が一気に増える。

ざっくり、

  • Webサイトを配る
  • Workerでサーバー処理を動かす
  • Buildする
  • Deployする
  • D1でSQLデータを持つ
  • KVで高速なキー値データを持つ
  • CDNで世界中へ配る
  • DNSでドメインを案内する
  • セキュリティ機能を置く
  • Workflowsで複数工程を持続実行する

ということができる。

もう「サーバー会社」と呼ぶだけでは足りない。

工場+店舗+倉庫+配送センター+警備室

である。

しかも同じ敷地にDBまである。

そのため、GitHubとCloudflareを初めて並べて見ると「どっちもサイトを出せるし、自動化もできるし、何が違うんだ」となる。

正しい。

少しかぶっている。

でも中心業務が違う。

5. Buildとは何か――設計図を完成品にする工程

Buildは、初心者にとって特に意味不明な単語である。

日本語にすると「組み立て」が近い。

GitHubに置いてあるのは、そのままでは完成サイトではないことが多い。

たとえばAstroなどのフレームワークでは、

記事、部品、設定、プログラム

を材料として、

HTML、CSS、JavaScriptなどの配信用ファイル

へ変換する。

これがBuild。

Cloudflare Workers Buildsでは、GitHubなどのGitリポジトリに変更がpushされると、設定されたBuild commandを実行し、その後Deploy commandでCloudflareへ配置できる。

つまり、

GitHub = プラモデルの箱

Build = 組み立て

Deploy = 完成品を店頭に置く

である。

Buildログが長いのは、工場の製造記録を全部見せられているからだ。

「依存関係を入れた」「テストした」「この工程で失敗した」まで出る。

サイトを見たいだけなのに、製造ラインのPLCログを渡される。

6. D1とKV――どっちもデータなのに、なぜ二つある

D1はCloudflareのサーバーレスSQLデータベースで、SQLite系のSQLセマンティクスを使う。

イメージは正式な台帳。

ID user plan count
1 A free 3
2 B pro 57

のように、行と列を持ち、条件検索や関係を扱える。

一方、KVはKey-Value。

  • site_mode → normal
  • feature_x → true
  • user_123_theme → dark

のような、巨大な辞書に近い。

一個のキーから値を高速に読むのが得意で、世界中へキャッシュされる。

ただしKVはeventual consistency、つまり更新が全拠点へ即時に完全同期するとは限らない。Cloudflareの説明では、別の場所では古い値が最大60秒以上見えることもある。

したがって、

D1 = 正式な台帳

KV = よく見る付箋・辞書

と考えると分かりやすい。

「全部データだから一個にしてくれ」と思うが、世界はそんなに親切ではない。

7. GitHubとCloudflare、どっちが自走するのか

これも役割で違う。

GitHub Actionsは、イベントに応じてビルド、テスト、デプロイなどのジョブを実行できる。

つまり、

「pushされたら検査して公開」

のような自動化に強い。

Cloudflareはさらに、Workersで24時間APIとして動作し、Workflowsでは複数ステップの状態を保存しながら、失敗時の自動retry、待機、再開まで扱える。

だから比喩でいうと、

GitHub = 設計・修理・変更管理に強いエンジニア

Cloudflare = 決めた工程を止まらず回す自動工場

に近い。

コードの問題を発見して直す文脈ではGitHub側が自然。

「この処理を最後まで運べ」「途中失敗したら再試行しろ」ではCloudflare側が自然。

どちらが上ではなく、職種が違う。

8. みんなこれはいつ学ぶのか――全員が学校で習っているわけではない

ここは安心してよい。

GitHubは情報系の授業、研究室、ソフトウェア開発の仕事などで触る人が多い。

一方Cloudflare、AWS、GCP、DB、CI/CDのような領域は、Webサービスを公開・運用する必要が出た段階で初めて触る人も多い。

非エンジニアなら、一生Cloudflare Workersを触らなくても普通に生活できる。

経済・営業・人事・会計などの仕事で、Excelが主役のまま何年も進むことも珍しくない。

つまり、

「みんな知っているのに自分だけ知らなかった」ではない。

そもそも別の専門職の道具箱を開けている。

経済学の講義で「限界効用」をやっていた人が、数年後に「KVの整合性モデル」で殴られている。

カリキュラムにない。

9. 結論――全部覚える必要はない。「誰の仕事か」が分かればかなり勝ち

最初に覚えるべきなのは細かいコマンドではない。

この地図で十分である。

名前 一言
GitHub 設計図と履歴
Build 設計図から完成品を作る
Deploy 完成品を本番へ置く
Cloudflare Workers サーバー処理
D1 SQLの正式台帳
KV 高速な辞書・設定置き場
GitHub Actions GitHub側の自動作業
Cloudflare Workflows 状態を持つ長い自動工程

これだけ分かれば、エラーが出たときに、

「これはGitHubの問題か?」

「Buildの問題か?」

「Workerの問題か?」

「DBの問題か?」

を分けられる。

それだけで世界はだいぶ静かになる。

キャパを超えた原因は、理解力が足りないからではない。

Excelという一部屋の道具から、いきなりWebサービスというショッピングモールの設備管理室へ入ったからである。

照明だけ直したかった。

なぜか今、変電設備と防火シャッターの説明を受けている。

参考資料


広告

他の記事を探す

すべての記事

めんどいちゃん

この記事を書いた人

めんどいちゃん

仕事や日常の「めんどい」を構造化して、次に動きやすくする記事を書いています。

このサイトについて
広告

新着記事

  1. 1「孫を見せられなくてすまん」って本当に必要?――親は成人した子が帰ってきて飯を食うだけでも普通にうれしい説
  2. 240歳VTuberが「デジタル公民館」になった日──年齢で需要は消えず、形を変える
  3. 3AI AgentはIQより物量?
  4. 4AIは超有能。でも「で、何作る?」で工場が止まる――アイデアの着火役がいると、AIは能力から生産設備になる
  5. 5仕事が一生味するガムになった――AIにPMまで任せたら、ゲームより終わらない「一人会社」になった

あわせて読みたい

広告