本文へ移動

ホーム / ラボ

ラボ

ブラウザの中で実際に動かして試せる教材です。職種で絞り込めます。

職種のタグがないものは、全職種向けの基礎です。

DBラボ (41)

本物の MariaDB(MySQL互換)・PostgreSQL・SQLite・Redis。セッション A・B の2つの端末で同時実行まで。Redis はキャッシュ・キュー・ランキング・メモリの上限も。 DBラボを開く →

演習職種ID
まずは触ってみる
本物のクライアントで自由に SQL
基礎basic
EXPLAIN を読む
フルスキャンかインデックスか
基礎explain
インデックスの効果を測る
作る前と後の時間を比べる
基礎index
複合インデックスと左端一致
列の順番で使える・使えないが決まる
基礎composite
N+1問題
ループで1件ずつ vs まとめて1回
基礎n1
トランザクション
ROLLBACK と原子性
基礎tx
行ロックの待ち
FOR UPDATE とロック待ち
基礎lock
デッドロック
お互いに相手のロックを待つ
基礎deadlock
分離レベルの違い
他の人のコミットが見えるか
基礎isolation
ダーティリード
READ UNCOMMITTED
基礎dirty
ギャップロックとファントム
範囲のロックで挿入を防ぐ?
基礎gap
MVCC(行のバージョン)
更新は「書き換え」ではない
基礎mvcc
楽観ロック
バージョン列で同時更新を検出
基礎optimistic
ウィンドウ関数
ランキング・前月比
基礎window
正規化と更新異常
同じ情報を何か所にも持つと
基礎normalize
論理削除と監査ログ
deleted_at とトリガー
基礎softdelete
ページング(OFFSET とキーセット)
深いページほど遅くなる理由
WebApppaging
UPSERT(あれば更新・なければ追加)
カートに同じ商品を入れたら
WebAppDataupsert
二重登録の競合
アプリのチェックでは防げない
WebAppunique-race
SQL インジェクション
文字列をつなげて SQL を作ると
Websqli
全文検索
LIKE '%…%' の代わり
WebDatafulltext
稼働中の ALTER TABLE
メタデータロック待ちの連鎖
WebSREonline-ddl
スキーマの移行(マイグレーション)
アプリの更新で DB の形を変える
WebAppmigration
オフライン同期の衝突
2台の端末で同じメモを編集
Appoffline-sync
特徴量づくり(リークに注意)
ウィンドウ関数で過去だけを集計
MLDataml-features
ベクトル検索(似ているものを探す)
埋め込みと近傍検索
WebMLvector
集計(ROLLUP・CUBE・ピボット)
小計・合計を1回で
MLDataolap
パーティション分割
月ごとに分けて、必要な月だけ読む
SREDatapartition
履歴を残す(SCD Type 2)と冪等な読み込み
「当時の値」で集計する
Datascd2
データ品質チェック
NULL・重複・孤児・範囲・鮮度
MLDatadata-quality
アカウントの棚卸し
退職者・不明なアカウントを探す
情シスaccount-audit
Redis:Redis のデータ型
文字列・ハッシュ・リスト・セット・ソート済みセット
WebAppSREredis-basic
Redis:キャッシュと TTL
cache-aside・期限切れ・キャッシュの削除
WebAppSREredis-cache
Redis:レート制限とカウンター
INCR と EXPIRE
WebAppSREredis-ratelimit
Redis:ランキング
ソート済みセット(ZADD・ZREVRANGE)
WebAppredis-ranking
Redis:キューとストリーム
LPUSH / BRPOP・XADD / XREADGROUP
WebAppSREredis-queue
Redis:Pub/Sub
2つの接続でメッセージを配る
WebAppredis-pubsub
Redis:分散ロックとトランザクション
SET NX PX・MULTI / WATCH
WebAppSREredis-lock
Redis:KEYS で止まる
SCAN・SLOWLOG・大きなキー
WebSREredis-keys
Redis:メモリがいっぱい
maxmemory と追い出し(eviction)
WebSREredis-memory
Redis:永続化(RDB と AOF)
メモリのデータをディスクに残す
SREredis-persist

動くネットワーク図 (36)

立体図・構成図・シーケンス図・レイヤー・タイムラインで、パケットの流れを再生。 動くネットワーク図を開く →

演習職種ID
URL入力から表示まで基礎url
DNSの名前解決基礎dns
TCPの接続と切断基礎tcp
TLS 1.3 ハンドシェイク基礎tls
ロードバランサとフェイルオーバー基礎lb
DBレプリケーション基礎repl
CDN と HTTP キャッシュ(静的ファイルの配信)基礎cdn
メールの送受信(SMTP・IMAP)基礎mail
CORS とプリフライトWebcors
Cookie とセッション(SameSite)Webcookie
OAuth 2.0 / OIDC(Google でログイン)WebApp情シスoauth
HTTP/1.1・HTTP/2・HTTP/3(QUIC)WebApphttp-versions
ポーリング・SSE・WebSocketWebApprealtime
プッシュ通知(APNs / FCM)Apppush
Wi‑Fi から 4G への切り替えAppmobile-switch
オフラインでの再送と冪等キーWebAppretry
ユニバーサルリンク/App LinksAppuniversal-link
推論 API(バッチ化と特徴量)MLml-inference
分散学習の通信(all-reduce)MLml-allreduce
学習データを S3 から読むMLDataml-s3
CDC(変更を Kafka 経由で DWH へ)Datacdc
Kafka のパーティションとコンシューマーグループSREDatakafka
社内 LAN につながるまで(DHCP・ARP・DNS)情シスoffice-lan
NAT・DMZ・UTM(会社の出入口)情シスdmz-nat
WAN(拠点間をつなぐ)情シスwan
VPN(トンネルとカプセル化)情シスvpn
SAML の SSO(SaaS ↔ IdP)情シスsaml-sso
ゼロトラスト(VPN の代わりのアクセス)情シスzero-trust
社内 Wi‑Fi の 802.1X 認証情シスwifi-8021x
Kubernetes の通信(Ingress・Service・CoreDNS)WebAppSREk8s
VPC・サブネットと NAT ゲートウェイWebSREvpc-nat
WAF・DDoS 対策・レート制限WebSRE情シスwaf
DNS フェイルオーバー(東京 → 大阪)SREdns-failover
Redis のキャッシュ(cache-aside)WebAppSREcache-aside
レート制限(Redis で回数を共有)WebAppSREratelimit
リアルタイム配信を複数台で(WebSocket+Pub/Sub)WebAppSRErealtime-scale

Linux ラボ (7)

本物の Linux のシェル。CPU・ディスク・メモリ・ポート・ログの障害を作って調べる。 Linux ラボを開く →

演習職種ID
まずは全体を見る
uptime・top・free・df
WebSRE情シスlinux-basic
CPU 使用率が高い
犯人のプロセスを見つけて止める
WebSRE情シスcpu-high
ディスクがいっぱい
rm したのに空かない理由
WebSRE情シスdisk-full
メモリ不足(OOM キラー)
プロセスが突然消える
WebSREMLoom
ポートとつながるか
LISTEN・Connection refused
WebSRE情シスports
ログを調べる
grep・awk・sort・uniq
WebSREData情シスlogs
プロセスの中をのぞく
/proc・lsof・strace
WebSREstrace

障害対応の演習 (17)

アラートから始めて、機器のログ・メトリクスを調べて原因を当てる。 障害対応の演習を開く →

演習職種ID
API が遅い(p99 悪化)
どこで時間がかかっている?
WebSREslow-api
502 が半分くらい返る
ロードバランサの後ろで何が?
WebSRElb-502
「CORS エラー」で注文できない
本当の原因は別のところ
Webcors-500
本番アプリだけ通知が届かない
開発ビルドでは届く
Apppush-prod
推論 API が時々とても遅い
p50 は普通なのに p99 が悪い
SREMLml-coldstart
DWH のデータが更新されない
ダッシュボードが2時間前のまま
Datacdc-stale
会議室の PC だけネットにつながらない
社内 LAN の切り分け
情シスdhcp-full
朝から全員 SaaS にログインできない
SSO の切り分け
情シスsaml-cert
Gmail 宛てだけメールが届かない
送信ドメイン認証
SRE情シスmail-gmail
DB に接続できない(Too many connections)
キャンペーンで台数を増やしたら
WebSREdb-connections
注文したのに履歴に出ない
レプリカの遅延
WebSREDatadb-replica-lag
決済だけタイムアウトする
ロック待ちの犯人
WebSREdb-lock-wait
デプロイ後に DB の CPU が 95%
クエリの数が急増
WebSREdb-n1
書き込みが全部失敗する(ディスクフル)
PostgreSQL の WAL が消えない
SREDatadb-wal-full
全部の API がときどき止まる
Redis が1つのコマンドで詰まる
WebSREredis-keys
ログインできない・カートに入らない
Redis の書き込みが OOM で失敗
WebAppSREredis-oom
ファイルサーバーのファイルが開けない
ランサムウェアの初動
SRE情シスransomware