基礎がすべて — 書籍・サイトを補助に使う
なぜ Web 開発で「基礎」がすべてを決めるのか、そして本カリキュラムの補足として使うべき書籍・サイトをまとめた章です
- この章で学ぶこと:Web 開発における「基礎」とは何か、なぜ応用よりも基礎が結果を決めるのか、そして本カリキュラムの補助として使うべき書籍・サイトをご紹介します。
- なぜ学ぶのか:新しいフレームワークや AI ツールに飛びつく前に、一生使える「土台」を固めた方が長期的に速くなるためです。
- Web 開発のどの領域か:全領域に通底するマインドセットの章です。
前提: 特にありません。この章から読み始めていただいて構いません。
所要時間: 15 分(読解 10 分 + 確認クイズ 5 分)
到達目標: 書籍・サイトを 2–3 冊・2–3 サイト手元にブックマークし、「詰まったらここに戻る」場所を決められる状態。
なぜ基礎がすべてなのか
フレームワークは 3 年で半分が入れ替わります。React も Next.js も Hono も、5 年前と今では別物と言っていいほど API が変わりました。一方、次の 4 つは 20 年変わっていません。
- HTTP(リクエスト・レスポンス・ステータスコード)
- SQL(SELECT・JOIN・トランザクション・インデックス)
- TCP/IP・DNS(通信が届く仕組み)
- プロセス・ファイル・権限(OS の抽象)
この 4 つを深く理解している人は、新しいフレームワークが出ても 「今回は名前が変わっただけだな」と一瞬で分類できます。逆に、基礎を飛ばして React のチュートリアルだけ終えた人は、次の波が来るたびに最初から学び直すことになります。
直感的な言い方: フレームワークは「料理のレシピ」、基礎は「包丁の使い方」です。レシピは流行で変わりますが、包丁の握り方は一生変わりません。
では「基礎」とは具体的に何か
「基礎が大事」と言われても、実務に落とし込めなければ意味がありません。本カリキュラムで「基礎」と呼ぶのは、次の 6 領域を指します。
| 領域 | 具体的に身につけること | 扱う章 |
|---|---|---|
| HTTP | method・status・header・body の意味/REST の 4 動詞/Cookie と認証 | b06 系 |
| SQL | SELECT・JOIN・集計/トランザクション/インデックス/N+1 問題 | b06b, b15, b16 |
| ネットワーク | DNS 解決/TLS ハンドシェイク/CORS/ポート・プロキシ | b00-3, b00-4 |
| OS・シェル | プロセス・シグナル/ファイル権限/環境変数/標準入出力 | b01, b01b |
| Git | コミット単位/ブランチ/衝突解決/履歴の読み方 | b02, b03 |
| データ設計 | 正規化/外部キー/不整合を起こさないスキーマ | b07-er, b15 |
この 6 領域を押さえると、React のバグも AWS のハマりも「どの層の問題か」が即座に切り分けられる ようになります。逆にこの切り分けができないと、エラーメッセージを AI に貼るループから抜け出せません。
なぜ応用だけでは足りないのか
よくある失敗パターンを 3 つ挙げます。どれも「基礎が薄いまま応用を積んだ」結果として起きます。
-
フレームワーク固有の呪文を覚えるだけになる
「useEffectの第二引数に空配列を渡せばマウント時だけ動く」と暗記していても、なぜそうなのか(レンダリングと副作用の分離) を理解していないと、依存配列にオブジェクトを入れた瞬間に無限ループを起こします。 -
エラーメッセージを読まずに検索する癖がつく
ECONNREFUSEDを見たときに「TCP 接続が拒否された=サーバーが立っていないかポートが違う」と即座に読める人と、エラー全文をコピペして検索する人とでは、デバッグ時間が 10 倍違います。 -
AI に聞いた答えの正否を判定できない
LLM は平気で存在しない API を提案します。基礎があれば「これはfetchの仕様的にあり得ない」と 3 秒で却下できますが、基礎がないと試して動かないで 30 分溶かします。
補助として使ってほしい書籍・サイト
本カリキュラムは「動かしながら基礎を固める」設計ですが、活字で体系立てて学びたいとき、違う角度の説明を読みたいときに効く書籍・サイトをご紹介します。必読ではありません。補助として使ってください。
書籍(日本語)
| 書籍 | カバー領域 | 読み方 |
|---|---|---|
| 『Web を支える技術』山本陽平(技術評論社) | HTTP・REST・URI | b06 に入る前後で通読 |
| 『達人に学ぶ DB 設計徹底指南書』ミック(翔泳社) | 正規化・ER 図・インデックス | b15 の章でつまずいたら辞書引き |
| 『データ指向アプリケーションデザイン』Martin Kleppmann(オライリー) | 分散システム・整合性 | インフラ編 b17 以降で効く大著。一気に読まず章ごとに |
| 『プロになるための Web 技術入門』小森裕介(技術評論社) | Web 全体の歴史と仕組み | b00 の副読本として |
| 『リーダブルコード』Dustin Boswell(オライリー) | 可読性・命名・コメント | どの章でも効く。PR を書く前に再読 |
| 『オブジェクト指向設計実践ガイド』Sandi Metz(技術評論社) | クラス設計・責務分離 | b12 系のコンポーネント分割で効く |
サイト(日本語)
- MDN Web Docs(ja) — HTML・CSS・JS・Web API の一次情報に最も近い日本語ドキュメント。迷ったらここ。
- TypeScript 公式ハンドブック(ja) — 型システムを体系立てて学ぶなら公式が最短。
- React 公式チュートリアル(ja) — 本カリキュラムの構成・粒度の参考元です。
- Rails Guides(ja) — 「フレームワークの Why を含めた網羅的解説」の手本。TypeScript でも考え方はそのまま活きます。
- PostgreSQL 日本語マニュアル — SQL で迷ったら Stack Overflow より先にここ。
- caniuse.com — 「この CSS / JS 機能、ブラウザで使える?」を 3 秒で判定。
- HTTP Status Codes — httpstat.us — 任意のステータスコードを返してくれるので動作検証に便利。
サイト(英語・余力があれば)
- web.dev — Google が運営。パフォーマンス・アクセシビリティ・SEO の現代のベストプラクティス。
- High Performance Browser Networking(Ilya Grigorik、無料で全文公開) — HTTP/2・TLS・WebSocket を底からすべて知りたい方向け。
補助リソースの使い方・3 つの原則
- 章で詰まったら、まず当該章の
参考リソースセクションを見る — 章末に該当書籍・サイトを配置しています。 - 通読しようとしない — 技術書は「辞書」として使うのが本筋です。目次で該当章を特定し、必要な部分だけ読む。
- 読んだことを必ずコードで確認する — 本カリキュラムの各章には verify スクリプトがあります。書籍で理解した概念を
bash exercises/scripts/verify-*.shで裏取りしてください。
よくある詰まりポイント
- 「基礎が大事」という言葉を信じ過ぎて、書籍を 3 冊並行で読み始めて 1 冊も終わらない — まず 1 冊を章単位で薄く通し、詰まったところだけ深堀りしてください。
- フレームワークのドキュメントを読まずに AI に聞いてばかりで、公式のリリースノートを見落とす — 月に 1 度、主要フレームワークの CHANGELOG を眺める習慣が効きます。
- 「新しい技術を追わないと取り残される」と焦って基礎を飛ばす — 3 年後にも残るのは基礎です。残る知識に時間を使ってください。
参考リソース
上記「補助として使ってほしい書籍・サイト」のとおりです。次の章(b00-1 Web とは何か)から、手を動かしながら基礎を積み上げていきます。
確認クイズ
Q1. 本章で「20 年変わっていない」と紹介されている基礎領域の組み合わせはどれですか。
- A. React・Vue・Svelte・Angular
- B. HTTP・SQL・TCP/IP/DNS・プロセス/ファイル/権限
- C. Docker・Kubernetes・Terraform・Ansible
- D. GraphQL・gRPC・WebSocket・WebRTC
正解: B. HTTP・SQL・TCP/IP/DNS・プロセス/ファイル/権限
解説: フレームワーク(A)・インフラツール(C)・プロトコル(D)はどれも流行・世代交代があります。一方、HTTP・SQL・ネットワーク層・OS の抽象は 20 年単位で変わっておらず、先に固めるべき土台として位置付けています。
Q2. 本章で「基礎」と呼んでいる 6 領域に含まれないものはどれですか。
- A. HTTP
- B. SQL
- C. Kubernetes
- D. Git
正解: C. Kubernetes
解説: HTTP・SQL・ネットワーク・OS/シェル・Git・データ設計の 6 領域を「基礎」と定義しています。Kubernetes は基礎の上に乗る応用領域で、インフラ編(b17 以降)で扱います。
Q3. 「基礎を飛ばした結果として起こる失敗」として本章で挙げていないものはどれですか。
- A. フレームワーク固有の呪文を覚えるだけになる
- B. エラーメッセージを読まずに検索する癖がつく
- C. AI に聞いた答えの正否を判定できない
- D. Git のコマンドを全部覚えないと怖くなる
正解: D. Git のコマンドを全部覚えないと怖くなる
解説: 本章で挙げた失敗は A・B・C の 3 つです。D は本章の主張とは逆で、基礎(コミット単位・ブランチの意味)を理解していればコマンドを全部覚える必要はありません。
Q4. 補助として使ってほしい書籍・サイトの「使い方の原則」として本章で挙げていないものはどれですか。
- A. 章で詰まったら、まず当該章の参考リソースを見る
- B. 通読しようとしない(辞書として使う)
- C. 読んだことをコードで確認する
- D. 書籍は必ず 3 冊以上を並行して読む
正解: D. 書籍は必ず 3 冊以上を並行して読む
解説: むしろ本章では「3 冊並行で読み始めて 1 冊も終わらない」のが典型的な詰まりポイントとして挙げています。1 冊を薄く通し、詰まったところだけ深堀りする読み方を推奨しています。
Q5. 本章が伝える「基礎が応用より強い」理由として最も適切なものはどれですか。
正解: フレームワークは数年で入れ替わるが、HTTP・SQL・ネットワーク・OS の基礎は 20 年変わらず、新しい技術が出ても「名前が変わっただけ」と即座に分類できるためです。
解説: 本章は「料理のレシピ(=フレームワーク)は流行で変わるが、包丁の握り方(=基礎)は一生変わらない」という比喩で、長期的な学習投資として基礎を優先することを勧めています。