Skip to content

Commit 30b3fe0

Browse files
author
Atsushi Ambo
committed
update
1 parent 2549a64 commit 30b3fe0

File tree

2 files changed

+45
-42
lines changed

2 files changed

+45
-42
lines changed

docs/ops-essentials/level1.md

Lines changed: 38 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -186,16 +186,15 @@ graph TD
186186

187187
GitHubは2008年のローンチ当初、2層構成のシンプルなアーキテクチャを採用していました。Nginxをフロントエンドに配置し、Ruby on RailsアプリケーションとMySQLデータベースで構成されていました。この構成は、初期の段階では十分なパフォーマンスを発揮しましたが、ユーザー数の増加に伴い、データベースのスケーリングが課題となりました。この経験から、GitHubは段階的にアーキテクチャを改善し、現在のマイクロサービスアーキテクチャへと発展させました。
188188

189-
<details class="quiz">
190-
<summary>クイズ: サーバーレスアーキテクチャ</summary>
191-
<p>サーバーレスアーキテクチャの特徴として正しいのは?</p>
192-
<ul class="quiz-options">
193-
<li data-correct="false" data-explain="サーバーレスでもサーバーは存在しますが、管理が不要になるという点が異なります。">物理サーバーが全く不要</li>
194-
<li data-correct="true" data-explain="サーバーレスでは、使用した分だけのリソースに対して課金されるため、コスト効率が良い場合が多いです。">使用量に応じた課金モデル</li>
195-
<li data-correct="false" data-explain="サーバーレスはステートフルな処理よりも、ステートレスな処理に適しています。">ステートフルな処理に最適</li>
196-
<li data-correct="false" data-explain="サーバーレスでも、コールドスタートによるレイテンシが発生する可能性があります。">常に低レイテンシが保証される</li>
197-
</ul>
198-
</details>
189+
???+ quiz "クイズ: サーバーレスアーキテクチャ"
190+
サーバーレスアーキテクチャの特徴として正しいのは?
191+
192+
<ul class="quiz-options">
193+
<li data-correct="false" data-explain="サーバーレスでもサーバーは存在しますが、管理が不要になるという点が異なります。">物理サーバーが全く不要</li>
194+
<li data-correct="true" data-explain="サーバーレスでは、使用した分だけのリソースに対して課金されるため、コスト効率が良い場合が多いです。">使用量に応じた課金モデル</li>
195+
<li data-correct="false" data-explain="サーバーレスはステートフルな処理よりも、ステートレスな処理に適しています。">ステートフルな処理に最適</li>
196+
<li data-correct="false" data-explain="サーバーレスでも、コールドスタートによるレイテンシが発生する可能性があります。">常に低レイテンシが保証される</li>
197+
</ul>
199198

200199
## 1-F まとめチェックリスト
201200

@@ -207,37 +206,34 @@ GitHubは2008年のローンチ当初、2層構成のシンプルなアーキテ
207206

208207
## 章末クイズ
209208

210-
<details class="quiz">
211-
<summary>クイズ: データベースの基本</summary>
212-
<p>リレーショナルデータベースの特徴として正しいのは?</p>
213-
<ul class="quiz-options">
214-
<li data-correct="false" data-explain="スキーマレスはNoSQLデータベースの特徴です。リレーショナルデータベースは構造化されたスキーマを定義します。">スキーマレスで柔軟なデータ構造</li>
215-
<li data-correct="true" data-explain="リレーショナルデータベースはACID特性を備え、トランザクション処理に優れています。">トランザクション処理に優れている</li>
216-
<li data-correct="false" data-explain="非構造化データの処理はNoSQLデータベースの得意分野です。">大量の非構造化データに適している</li>
217-
<li data-correct="false" data-explain="リレーショナルデータベースは垂直スケーリングが主で、水平スケーリングは苦手とします。">水平スケーリングが得意</li>
218-
</ul>
219-
</details>
220-
221-
<details class="quiz">
222-
<summary>クイズ: ロードバランサー</summary>
223-
<p>ロードバランサーの主な役割は?</p>
224-
<ul class="quiz-options">
225-
<li data-correct="true" data-explain="ロードバランサーの主な役割は、複数のサーバーにリクエストを分散し、負荷を均一に保つことです。これにより、単一障害点を防ぎ、スケーラビリティを向上させます。">トラフィックの分散</li>
226-
<li data-correct="false" data-explain="データの暗号化はTLS/SSLの役割で、ロードバランサーは暗号化を終端させることはできますが、主な役割ではありません。">データの暗号化</li>
227-
<li data-correct="false" data-explain="コンテンツのキャッシュはCDNやリバースプロキシの役割で、ロードバランサーの主な機能ではありません。">コンテンツのキャッシュ</li>
228-
<li data-correct="false" data-explain="ドメイン名の解決はDNSサーバーの役割です。">ドメイン名の解決</li>
229-
</ul>
230-
</details>
231-
232-
<details class="quiz">
233-
<summary>クイズ: CDNの利点</summary>
234-
<p>CDNの主な利点は?</p>
235-
<ul class="quiz-options">
236-
<li data-correct="false" data-explain="CDNは静的コンテンツの配信が目的で、データベースのバックアップ機能はありません。">データベースのバックアップ</li>
237-
<li data-correct="false" data-explain="アプリケーションの実行はCDNの役割ではありません。CDNは静的コンテンツの配信に特化しています。">アプリケーションの実行</li>
238-
<li data-correct="true" data-explain="CDNは世界中に分散したエッジサーバーでコンテンツをキャッシュし、ユーザーに近い場所から配信することで高速化を実現します。">コンテンツ配信の高速化</li>
239-
<li data-correct="false" data-explain="ユーザー認証はアプリケーションサーバーやIDプロバイダーの役割で、CDNの機能ではありません。">ユーザー認証</li>
240-
</ul>
241-
</details>
209+
???+ quiz "クイズ: データベースの基本"
210+
リレーショナルデータベースの特徴として正しいのは?
211+
212+
<ul class="quiz-options">
213+
<li data-correct="false" data-explain="スキーマレスはNoSQLデータベースの特徴です。リレーショナルデータベースは構造化されたスキーマを定義します。">スキーマレスで柔軟なデータ構造</li>
214+
<li data-correct="true" data-explain="リレーショナルデータベースはACID特性を備え、トランザクション処理に優れています。">トランザクション処理に優れている</li>
215+
<li data-correct="false" data-explain="非構造化データの処理はNoSQLデータベースの得意分野です。">大量の非構造化データに適している</li>
216+
<li data-correct="false" data-explain="リレーショナルデータベースは垂直スケーリングが主で、水平スケーリングは苦手とします。">水平スケーリングが得意</li>
217+
</ul>
218+
219+
???+ quiz "クイズ: ロードバランサー"
220+
ロードバランサーの主な役割は?
221+
222+
<ul class="quiz-options">
223+
<li data-correct="true" data-explain="ロードバランサーの主な役割は、複数のサーバーにリクエストを分散し、負荷を均一に保つことです。これにより、単一障害点を防ぎ、スケーラビリティを向上させます。">トラフィックの分散</li>
224+
<li data-correct="false" data-explain="データの暗号化はTLS/SSLの役割で、ロードバランサーは暗号化を終端させることはできますが、主な役割ではありません。">データの暗号化</li>
225+
<li data-correct="false" data-explain="コンテンツのキャッシュはCDNやリバースプロキシの役割で、ロードバランサーの主な機能ではありません。">コンテンツのキャッシュ</li>
226+
<li data-correct="false" data-explain="ドメイン名の解決はDNSサーバーの役割です。">ドメイン名の解決</li>
227+
</ul>
228+
229+
???+ quiz "クイズ: CDNの利点"
230+
CDNの主な利点は?
231+
232+
<ul class="quiz-options">
233+
<li data-correct="false" data-explain="CDNは静的コンテンツの配信が目的で、データベースのバックアップ機能はありません。">データベースのバックアップ</li>
234+
<li data-correct="false" data-explain="アプリケーションの実行はCDNの役割ではありません。CDNは静的コンテンツの配信に特化しています。">アプリケーションの実行</li>
235+
<li data-correct="true" data-explain="CDNは世界中に分散したエッジサーバーでコンテンツをキャッシュし、ユーザーに近い場所から配信することで高速化を実現します。">コンテンツ配信の高速化</li>
236+
<li data-correct="false" data-explain="ユーザー認証はアプリケーションサーバーやIDプロバイダーの役割で、CDNの機能ではありません。">ユーザー認証</li>
237+
</ul>
242238

243239
[次のレベルへ →](../ops-essentials/level2.md){ .md-button }

docs/theme/quiz.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,13 @@ document.addEventListener("DOMContentLoaded", () => {
1919
list.querySelectorAll("li").forEach((li) => {
2020
li.addEventListener("click", (e) => {
2121
const li = e.currentTarget; // Use the element that was actually clicked
22+
23+
// Guard: highlight li's missing dataset
24+
if (!li.hasAttribute("data-correct")) {
25+
console.warn("quiz-options > li missing data-correct attribute:", li);
26+
return;
27+
}
28+
2229
// Prevent multiple clicks
2330
if (li.classList.contains("clicked")) return;
2431

0 commit comments

Comments
 (0)