System Design for Beginners (2026)
システム設計とは、ソフトウェアの問題を解決するために、適切なコンポーネントを選択し、適切な場所に配置することです。このビデオでは、10ドルのサーバー1台から始めて、実際の写真共有アプリをゼロから構築し、本番環境で実際に発生するであろう障害を検証します。
抽象的な概念を講義するのではなく、実際のアプリケーションを一緒に設計し、必要な場合にのみコンポーネントを追加していきます。ロードバランサーの存在意義、キャッシュが実際に役立つ場面、レプリケーションがデータを保護する仕組み、シャーディングの目的など、すべてを理解できます。すべての機器には理由があります。
このコースには、実際のインフラストラクチャで実践できる4つの無料ハンズオンラボが付属しています。ロードバランサーの設定とフェイルオーバーの動作確認、データベースインデックスの追加と500万行のクエリの実行時間を数秒から数ミリ秒に短縮する様子、Redisキャッシングを使用してキャッシュヒットと古いデータの読み取りを理解する方法、プライマリサーバーがダウンした際に昇格させるPostgresレプリカの実行などを行います。
🧪 無料のハンズオンラボ:https://kode.wiki/4fpJtkE
🚀 初心者向けシステム設計コースはこちら:https://kode.wiki/3TSidUE
📚 学習内容:
1️⃣ 機能要件と非機能要件の違い(そして要件が設計より優先される理由)
2️⃣ 垂直スケーリングと水平スケーリング、そしてそれぞれが有効な場面
3️⃣ ロードバランサーによるトラフィック分散とヘルスチェックによるサーバーの稼働維持
4️⃣ ステートレスサーバーの重要性とログインセッションの保存場所
5️⃣ インデックス作成、キャッシング、レプリケーション、シャーディング(実際の障害事例付き)
⏰ タイムスタンプ:
00:00:00 - システム設計の概要
00:01:56 - サーバーとは何か、コードはどこに保存されるのか
00:02:55 - 障害事例1:CPUとRAMの枯渇(ロードバランサー)
00:03:37 - 障害事例#2: データベースの過負荷 (キャッシング)
00:04:06 - 障害 #3: マシンの停止 (レプリケーションとバックアップ)
00:05:37 - HLD と LLD の比較
00:07:45 - インタビュー バイト 1
00:08:56 - 機能要件と非機能要件
00:12:20 - 設計前に確認すべき 5 つの質問
00:16:22 - インタビュー バイト 2
00:17:30 - モノリスとマイクロサービス (分割のタイミング)
00:21:24 - 垂直スケーリングと水平スケーリング
00:24:28 - インタビュー バイト 3
00:25:48 - リクエストが実際にどのように伝わるか
00:29:44 - ロードバランサー: ヘルスチェックと分散
00:35:40 - ステートレスとステートフル
00:41:58 - インタビュー バイト4
00:43:04 - 無料ラボ 1 - ロードバランサー
00:43:49 - データモデリング:アクセスパターンの特定
00:50:43 - SQL vs. NoSQL
00:56:02 - インタビュー バイト 5
00:57:15 - データベースインデックス
01:01:06 - 無料ラボ 2 - データベースインデックス
01:02:22 - キャッシング
01:11:21 - インタビュー バイト 6
01:12:53 - 無料ラボ 3 - Redis によるキャッシング
01:13:01 - レプリケーション
01:19:34 - シャーディング
01:24:03 - 無料ラボ 4 - レプリケーション
01:24:27 - これまでの設計
🧪 無料ハンズオンラボ:https://kode.wiki/4fpJtkE
🔔 より多くのシステム情報を受け取るにはチャンネル登録してください設計、バックエンドエンジニアリング、そして実世界の拡張パターン
#システム設計 #バックエンドエンジニアリング #KodeKloud #データベース設計 #拡張 #ロードバランシング #キャッシング #データベースレプリケーション #分散システム #シャーディング #マイクロサービス #技術面接 #クラウドアーキテクチャ #ソフトウェアアーキテクチャ #データモデリング
コメント 読み込み中…