fix indexlinks

pull/114/head
colorful-board 2017-10-27 13:14:18 +09:00
parent 689b404e97
commit e26ce90d49
1 changed files with 76 additions and 76 deletions

View File

@ -35,11 +35,11 @@
面接準備に役立つその他のトピック: 面接準備に役立つその他のトピック:
* [学習指針](#study-guide) * [学習指針](#学習指針)
* [システム設計面接課題にどのように準備するか](#how-to-approach-a-system-design-interview-question) * [システム設計面接課題にどのように準備するか](#システム設計面接にどのようにして臨めばいいか)
* [システム設計課題例 **とその解答**](#system-design-interview-questions-with-solutions) * [システム設計課題例 **とその解答**](#システム設計課題例とその解答)
* [オブジェクト思考設計課題例, **とその解答**](#object-oriented-design-interview-questions-with-solutions) * [オブジェクト思考設計課題例, **とその解答**](#オブジェクト志向設計問題と解答)
* [その他のシステム設計面接課題例](#additional-system-design-interview-questions) * [その他のシステム設計面接課題例](#他のシステム設計面接例題)
## 暗記カード ## 暗記カード
@ -95,84 +95,84 @@
<br/> <br/>
</p> </p>
* [システム設計トピック: まずはここから](#system-design-topics-start-here) * [システム設計トピック: まずはここから](#システム設計トピックス-まずはここから)
* [Step 1: スケーラビリティに関する動画を見る](#step-1-review-the-scalability-video-lecture) * [Step 1: スケーラビリティに関する動画を見る](#ステップ-1-スケーラビリティに関する動画を観て復習する)
* [Step 2: スケーラビリティに関する記事を読む](#step-2-review-the-scalability-article) * [Step 2: スケーラビリティに関する記事を読む](#ステップ-2-スケーラビリティに関する資料を読んで復習する)
* [Next steps](#next-steps) * [Next steps](#次のステップ)
* [パフォーマンス vs スケーラビリティ](#performance-vs-scalability) * [パフォーマンス vs スケーラビリティ](#パフォーマンス-vs-スケーラビリティ)
* [レイテンシー vs スループット](#latency-vs-throughput) * [レイテンシー vs スループット](#レイテンシー-vs-スループット)
* [可用性 vs 一貫性](#availability-vs-consistency) * [可用性 vs 一貫性](#可用性-vs-一貫性)
* [CAP 定理](#cap-theorem) * [CAP 定理](#cap-理論)
* [CP - 一貫性(consistency)と分割性(partition)耐性](#cp---consistency-and-partition-tolerance) * [CP - 一貫性(consistency)と分割性(partition)耐性](#cp---一貫性と分断耐性consistency-and-partition-tolerance)
* [AP - 可用性(availability)と分割性(partition)耐性](#ap---availability-and-partition-tolerance) * [AP - 可用性(availability)と分割性(partition)耐性](#ap---可用性と分断耐性availability-and-partition-tolerance)
* [一貫性 パターン](#consistency-patterns) * [一貫性 パターン](#一貫性パターン)
* [弱い一貫性](#weak-consistency) * [弱い一貫性](#弱い一貫性)
* [結果整合性](#eventual-consistency) * [結果整合性](#結果整合性)
* [強い一貫性](#strong-consistency) * [強い一貫性](#強い一貫性)
* [可用性 パターン](#availability-patterns) * [可用性 パターン](#可用性パターン)
* [フェイルオーバー](#fail-over) * [フェイルオーバー](#フェイルオーバー)
* [レプリケーション](#replication) * [レプリケーション](#レプリケーション)
* [ドメインネームシステム(DNS)](#domain-name-system) * [ドメインネームシステム(DNS)](#ドメインネームシステム)
* [コンテントデリバリーネットワーク(CDN)](#content-delivery-network) * [コンテントデリバリーネットワーク(CDN)](#コンテントデリバリーネットワークcontent-delivery-network)
* [プッシュCDN](#push-cdns) * [プッシュCDN](#プッシュcdn)
* [プルCDN](#pull-cdns) * [プルCDN](#プルcdns)
* [ロードバランサー](#load-balancer) * [ロードバランサー](#ロードバランサー)
* [アクティブ/パッシブ構成](#active-passive) * [アクティブ/パッシブ構成](#アクティブパッシブ)
* [アクティブ/アクティブ構成](#active-active) * [アクティブ/アクティブ構成](#active-active)
* [Layer 4 ロードバランシング](#layer-4-load-balancing) * [Layer 4 ロードバランシング](#layer-4-ロードバランシング)
* [Layer 7 ロードバランシング](#layer-7-load-balancing) * [Layer 7 ロードバランシング](#layer-7-ロードバランシング)
* [水平スケーリング](#horizontal-scaling) * [水平スケーリング](#水平スケーリング)
* [リバースプロキシ (WEBサーバー)](#reverse-proxy-web-server) * [リバースプロキシ (WEBサーバー)](#リバースプロキシwebサーバー)
* [ロードバランサー vs リバースプロキシ](#load-balancer-vs-reverse-proxy) * [ロードバランサー vs リバースプロキシ](#ロードバランサー-vs-リバースプロキシ)
* [アプリケーションレイヤー](#application-layer) * [アプリケーションレイヤー](#アプリケーション層)
* [マイクロサービス](#microservices) * [マイクロサービス](#マイクロサービス)
* [サービスディスカバリー](#service-discovery) * [サービスディスカバリー](#service-discovery)
* [データベース](#database) * [データベース](#データベース)
* [リレーショナルデータベースマネジメントシステム (RDBMS)](#relational-database-management-system-rdbms) * [リレーショナルデータベースマネジメントシステム (RDBMS)](#リレーショナルデータベースマネジメントシステム-rdbms)
* [マスター/スレーヴ レプリケーション](#master-slave-replication) * [マスター/スレーヴ レプリケーション](#マスタースレーブ-レプリケーション)
* [マスター/マスター レプリケーション](#master-master-replication) * [マスター/マスター レプリケーション](#マスターマスター-レプリケーション)
* [フェデレーション](#federation) * [フェデレーション](#federation)
* [シャーディング](#sharding) * [シャーディング](#シャーディング)
* [デノーマライゼーション](#denormalization) * [デノーマライゼーション](#非正規化)
* [SQL チューニング](#sql-tuning) * [SQL チューニング](#sqlチューニング)
* [NoSQL](#nosql) * [NoSQL](#nosql)
* [キー/バリューストア](#key-value-store) * [キー/バリューストア](#キーバリューストア)
* [ドキュメントストア](#document-store) * [ドキュメントストア](#ドキュメントストア)
* [ワイドカラムストア](#wide-column-store) * [ワイドカラムストア](#ワイドカラムストア)
* [グラフ データベース](#graph-database) * [グラフ データベース](#グラフデータベース)
* [SQL or NoSQL](#sql-or-nosql) * [SQL or NoSQL](#sqlかnosqlか)
* [キャッシュ](#cache) * [キャッシュ](#キャッシュ)
* [クライアントキャッシング](#client-caching) * [クライアントキャッシング](#クライアントキャッシング)
* [CDNキャッシング](#cdn-caching) * [CDNキャッシング](#cdnキャッシング)
* [Webサーバーキャッシング](#web-server-caching) * [Webサーバーキャッシング](#webサーバーキャッシング)
* [データベースキャッシング](#database-caching) * [データベースキャッシング](#データベースキャッシング)
* [アプリケーションキャッシング](#application-caching) * [アプリケーションキャッシング](#アプリケーションキャッシング)
* [データベースクエリレベルでキャッシングする](#caching-at-the-database-query-level) * [データベースクエリレベルでキャッシングする](#データベースクエリレベルでのキャッシング)
* [オブジェクトレベルでキャッシングする](#caching-at-the-object-level) * [オブジェクトレベルでキャッシングする](#オブジェクトレベルでのキャッシング)
* [いつキャッシュを更新するのか](#when-to-update-the-cache) * [いつキャッシュを更新するのか](#いつキャッシュを更新するか)
* [キャッシュアサイド](#cache-aside) * [キャッシュアサイド](#キャッシュアサイド)
* [ライトスルー](#write-through) * [ライトスルー](#ライトスルー)
* [ライトビハインド (ライトバック)](#write-behind-write-back) * [ライトビハインド (ライトバック)](#ライトビハインド-ライトバック)
* [リフレッシュアヘッド](#refresh-ahead) * [リフレッシュアヘッド](#リフレッシュアヘッド)
* [異時性](#asynchronism) * [非同期処理](#非同期処理)
* [メッセージキュー](#message-queues) * [メッセージキュー](#メッセージキュー)
* [タスクキュー](#task-queues) * [タスクキュー](#タスクキュー)
* [バックプレッシャー](#back-pressure) * [バックプレッシャー](#バックプレッシャー)
* [通信](#communication) * [通信](#通信)
* [伝送制御プロトコル (TCP)](#transmission-control-protocol-tcp) * [伝送制御プロトコル (TCP)](#transmission-control-protocol-tcp)
* [ユーザデータグラムプロトコル (UDP)](#user-datagram-protocol-udp) * [ユーザデータグラムプロトコル (UDP)](#user-datagram-protocol-udp)
* [遠隔手続呼出 (RPC)](#remote-procedure-call-rpc) * [遠隔手続呼出 (RPC)](#remote-procedure-call-rpc)
* [Representational state transfer (REST)](#representational-state-transfer-rest) * [Representational state transfer (REST)](#representational-state-transfer-rest)
* [セキュリティ](#security) * [セキュリティ](#セキュリティ)
* [補遺](#appendix) * [補遺](#補遺)
* [2の指数表](#powers-of-two-table) * [2の乗数表](#2の乗数表)
* [全てのプログラマーが知っておくべきレイテンシの参考値](#latency-numbers-every-programmer-should-know) * [全てのプログラマーが知るべきレイテンシー値](#全てのプログラマーが知るべきレイテンシー値)
* [その他システム設計面接での質問例](#additional-system-design-interview-questions) * [他のシステム設計面接例題](#他のシステム設計面接例題)
* [実世界でのアーキテクチャ](#real-world-architectures) * [実世界でのアーキテクチャ](#実世界のアーキテクチャ)
* [各企業のアーキテクチャ](#company-architectures) * [各企業のアーキテクチャ](#各企業のアーキテクチャ)
* [各企業のエンジニアリングブログ](#company-engineering-blogs) * [企業のエンジニアブログ](#企業のエンジニアブログ)
* [作業中](#under-development) * [作業中](#進行中の作業)
* [クレジット](#credits) * [クレジット](#クレジット)
* [連絡情報](#contact-info) * [連絡情報](#contact-info)
* [ライセンス](#license) * [ライセンス](#license)
@ -1524,7 +1524,7 @@ RESTはデータを公開することに焦点を当てています。クライ
* [開発者のためのセキュリティガイド](https://github.com/FallibleInc/security-guide-for-developers) * [開発者のためのセキュリティガイド](https://github.com/FallibleInc/security-guide-for-developers)
* [OWASP top ten](https://www.owasp.org/index.php/OWASP_Top_Ten_Cheat_Sheet) * [OWASP top ten](https://www.owasp.org/index.php/OWASP_Top_Ten_Cheat_Sheet)
## 付録 ## 補遺
暗算で、推計値を求める必要があることも時にはあります。例えば、ディスクから100枚イメージ分のサムネイルを作る時間を求めたり、その時にどれだけディスクメモリーが消費されるかなどの値です。**2の乗数表** と **全てのプログラマーが知るべきレイテンシー値** は良い参考になるでしょう。 暗算で、推計値を求める必要があることも時にはあります。例えば、ディスクから100枚イメージ分のサムネイルを作る時間を求めたり、その時にどれだけディスクメモリーが消費されるかなどの値です。**2の乗数表** と **全てのプログラマーが知るべきレイテンシー値** は良い参考になるでしょう。