更新情報

新しいレッスン・機能・改善のすべてを、新しい順に。

  1. 2026年11月1日

    • 新レッスン行列の積 — 行と列の内積で結果の各マスを埋め、同じ 2 つの行列を逆順で掛けると積の形も変わりうることを確かめます。
  2. 2026年10月31日

    • 新レッスン累積和 — 累積値を 2 回読み出して 1 回引くだけで区間和を求め、1 要素の変更で修復が必要になる後続の累積値を追います。
  3. 2026年10月30日

    • 改善9 月に始めたアニメーションの見直しが完了し、175 本のレッスンすべてで計算結果、説明文、キャンバスの状態、コードのハイライト、Quiz の答えを確認して、見つかった誤りを修正しました。
    • 改善入力パネルのあるレッスンのうち、さらに 20 本で「保存」と「保存した入力」が使えるようになり、古い共有リンクや手で書き換えた共有リンクは無効な値を読み込まずに既定の入力に戻ります。
    • 改善整数の入力欄は 1.5 や 1e2 を黙って 1 として実行せずに拒否するようになり、入力エラーは表示言語に合わせて表示され、スクリーンリーダーでも読み上げられます。
    • 改善ウィンドウのサイズを変えても再生位置や速度がリセットされず、Quiz も終了しなくなりました。答えの表示後も「見返す」でカードをキャンバスからよけられます。
  4. 2026年10月8日

    • 機能コントロールとカードが標準で手描き風になり、設定ページで表示スタイル、言語、キャンバス背景、ログパネルの表示を変更できます。
    • 改善レッスン、学習ルート、ライブラリに共通のナビゲーションバーを設け、デスクトップのレッスンではキャンバス、再生コントロール、コード・入力・ログのカードを一枚の紙の上に配置しました。
    • 改善リンク共有、埋め込み、PNG 書き出し、動画書き出しを一つの共有メニューにまとめました。
    • 改善レッスンのサイドバーは開閉状態とカテゴリの折りたたみ状態を記憶し、カタログ、サイドバー、学習ルートには完成済みのレッスンだけを表示します。
  5. 2026年10月7日

    • 改善TCP ハンドシェイクと Big-O の状態や色がステップに合わせて滑らかに変化し、以前の状態は徐々に後退して現在の状態が際立つようになりました。
    • 改善グリッドやドット背景の端が欠ける問題、本番環境で手描き風カードの枠が消える問題、再生スライダーのアクセシブルな名前が欠ける問題を修正しました。
    • 改善中国語・日本語の Markdown の表示を修正し、レッスンの説明、カテゴリの紹介、カードの説明を訂正しました。
  6. 2026年10月5日

    • 改善Quiz は各ステップのアニメーションが完了してから一時停止するようになり、入力のランダム化が出題の選択に影響せず、ログには同じ説明の連続ステップも残り、レッスンを切り替えるとサイドバーに現在のレッスンが表示されます。
  7. 2026年10月4日

    • 改善フィードバック窓口を GitHub Issues に移し、不具合の報告や改善の提案、その後の対応状況の確認ができるようになりました。
  8. 2026年9月24日

    • 改善レッスンのアニメーションを継続的に見直す取り組みを始め、ソート・文字列・バックトラッキング・探索のレッスンを順次改善しながら、他のレッスンにも対象を広げていきます。
  9. 2026年9月22日

    • 新レッスン単調スタック — Next Greater Element の未解決インデックスを値の降順で保ちます。各インデックスは 1 回入り、最大 1 回出るだけなので、入れ子の `while` も O(n) です。同値は厳密に大きい値を待ちます。
  10. 2026年9月21日

    • 新レッスンメッセージから分散合意へ — 1 つのコマンドを、クライアント配送から Raft の複製、コミット、適用まで追います。その後に応答を失わせ、書き込みが成功してもクライアントはタイムアウトし得ることを示します。
    • 新レッスンSQL クエリからストレージ読み取りへ — クエリを実行計画、ページ要求、バッファプール照合、結果行へ展開します。同じ検索は最初に 3 回のコールド読み取りが必要ですが、ページがキャッシュされた後の追加読み取りは 0 です。
  11. 2026年9月20日

    • 新レッスンオートエンコーダ — 2 次元と 8 次元の潜在コードでホールドアウト数字を再構成し、数字だけで学習したデコーダにチェッカーボードを入れます。コードを広げても未知の模様を復元できるとは限りません。
  12. 2026年9月19日

    • 新レッスン方策勾配 — REINFORCE で 1 本のサンプル軌跡のリターンから行動確率を調整します。正しい更新でも、目標へ到達する直近の確率が 25% から 24.6% へ下がる例も含みます。
    • 新レッスン拡散モデル — 1 回のノイズ除去推定は複数の起点を平均し、データのない中心に残ります。反復すると 8 つのデータ群の近くにサンプルを戻せます。
    • 新レッスン敵対的生成ネットワーク — 生成器と識別器を競合させ、個々の出力の尤もらしさと分布の網羅性を別々に調べます。モードを落としたまま識別器を騙せても、多様性は保てません。
  13. 2026年9月18日

    • 新レッスンMCP プラグイン — 組み込みツールはローカル実装へ、外部ツールは MCP クライアント経由でルーティングします。プラグインサーバーは公開したツール契約の奥で実行実装を保持します。
    • 新レッスンQ 学習 — 観測した報酬と次状態の最大推定値から Q テーブルの 1 要素を更新し、状態を再訪しながら遅れた報酬を過去の状態へ伝播させます。
  14. 2026年9月17日

    • 改善動画書き出しは買い切りプランの機能になりました。リンク共有、埋め込み、ウォーターマーク付き PNG 書き出しは引き続き無料です。
    • 改善録画前に操作の説明を表示し、録画中はキャンセルできる通知を表示するようにして、プレーヤー左下の録画テキストを削除しました。
  15. 2026年9月16日

    • 新レッスンバックグラウンドタスク — デタッチした shell でコマンドを起動し、ハンドルをすぐ返します。完了通知がエージェントのコンテキストに入るのは次のターン境界であり、生成中の応答を途中で中断しません。
    • 新レッスンエージェントチーム — プライベートなエージェントコンテキストを共有タスクボードとメールボックスで協調します。依存タスクの完了だけでは、必要なチームメイトにインターフェース契約は伝わりません。
  16. 2026年9月15日

    • 新レッスン行動の前に計画する — 予定した作業のチェックリストと、完了を証明するツール結果を並べます。失敗したチェックは、修復と新しい証拠が計画に記録されるまで未完了のままです。
    • 新レッスンシステムプロンプトの組み立て — アイデンティティ、ツールガイド、実行時情報、スキルカタログをシステム指示に組み立て、ツール定義と会話コンテキストは分けます。ディスク上のファイルは harness が読み込まない限りリクエストには入りません。
    • 新レッスンエラーからの復旧 — モデル呼び出しの失敗を再試行前に分類し、原因に応じて待機、コンテキスト圧縮、出力上限の拡大、モデル切り替え、停止を選びます。同じ壊れた要求をそのまま再送はしません。
  17. 2026年9月13日

    • 新レッスンプーリングと特徴マップ — 局所ウィンドウを最大値または平均値で置き換え、チャネルを混ぜずに空間解像度を下げます。応答をウィンドウ境界の外へ動かし、失われる位置情報を示します。
    • 新レッスン物体検出 — クラス付き境界ボックスを予測し、スコアで弱い候補を除き、重なりで重複候補を抑制します。2 つのしきい値が見逃しと重複ボックを別々に動かします。
  18. 2026年9月12日

    • 新レッスン権限 — ツール実行前に allow、ask、deny を判定し、deny を最優先します。ask 経路が実行へ進むのは、人間が明示的に承認した場合だけです。
  19. 2026年9月11日

    • 新レッスンHooks — ライフサイクルイベントとツール名の両方が一致したときだけ hook を呼びます。実行前のコールバックは書き込みを止められますが、成功後の同じ検査は既に起きたことを報告できるだけです。
    • 新レッスンデコーディング戦略 — 同じモデルスコアで greedy、Top-k、Top-p を比較し、temperature を変えて再学習なしに確率の集中度がどう動くかを追います。
    • 新レッスン位置エンコーディング — 正弦と余弦の位置ベクトルをトークン埋め込みに加え、同じトークンでも位置ごとに異なる入力で Transformer へ渡します。
  20. 2026年9月10日

    • 新レッスン画像分類 — 同じサモエドの写真を 3 種類に切り抜き、首位ラベルと確信度がサモエド 61.6%、サモエド 33.4%、`chow` 19.3% へ動く様子を追います。
    • 新レッスンエッジ検出 — 近傍の両側の明るさを比べて Sobel 応答を計算し、しきい値を変えて強い変化、一様な明部、ノイズ由来のエッジを分けます。
  21. 2026年9月9日

    • 新レッスン単語埋め込み — 固定ベクトル空間で単語を動かし、似た文脈が近い方向になることや、反復する関係がオフセットに現れることを追います。同時に、その幾何にコーパスのバイアスが残ることも確かめます。
  22. 2026年9月8日

    • 新レッスンバッチ正規化 — 学習バッチの統計量で各隠れ特徴チャネルを標準化し、学習した `γ` と `β` を適用します。固定の 6 層実験では、50 エポック目の活性値スパイクが `64.35` から `9.15` へ下がります。
    • 新レッスン手書き数字から予測へ — 28×28 画像を 10 個のスコア、確率、1 つの予測数字、確信度ゲート付きの判断へ変換します。正しさを決められるのは後で照合するホールドアウトの正解だけです。
    • 新レッスンN-gram 言語モデル — 固定長の履歴に対するコーパス計数から次のトークンを予測します。計数が消えたときはスムージングで有効な確率分布を作れますが、新しい文脈証拠まで生まれるわけではありません。
  23. 2026年9月6日

    • 新レッスンオプティマイザー:SGD、Momentum、Adam — 3 つの更新則を同じ 20 ステップ予算で競わせます。固定した基準設定では、丸いボウルは SGD、狭い谷は Momentum、高ノイズは Adam が勝ちます。
  24. 2026年9月5日

    • 新レッスンLSM 木 — 最新バージョンをバッファし、ソート済みの不変ファイルを後でマージして、前景の書き込みを高速かつ永続的にします。その代わり、読み取りとバックグラウンドコンパクションにコストが移ります。
    • 新レッスンDropout — 学習中に隠れ活性の一部をランダムにマスクし、ネットワークが 1 つの壊れやすい組み合わせに依存できないようにします。推論時はマスクを外し、対応するスケーリングを使います。
  25. 2026年9月4日

    • 新レッスンB+ 木 — 点検索では内部ページの案内キーからソート済みリーフページへ降ります。範囲検索ではリンク済みリーフを前へ走査し、ルートへ戻りません。
    • 新レッスンウィンドウ関数 — 関連行から累積値や順位を計算しつつ、元の各行を残します。グループを 1 行に畳む `GROUP BY` との違いを追います。
    • 新レッスン多版型同時実行制御(MVCC) — 行の複数バージョンを保持して読み取りと書き込みを重ね、新しい順に走査して読み取りスナップショットから見える最初のバージョンを返します。
  26. 2026年9月3日

    • 新レッスンデータベースインデックス — フルスキャン、ハッシュインデックス、B+ 木、カバリング B+ 木それぞれのコールドな論理ページ読み取りを数えます。同じ点検索が 8、2、3、2 回。選択率が下がると、カバリングでない木は 12 でスキャンの 8 に負けます。
    • 新レッスン勾配消失 — sigmoid と活性状態の ReLU、2 経路で局所ゲインを層ごとに掛け合わせます。深さ 10、`w = 1` では出力側の単位勾配が入力側で `2.785e-7`、もう一方は `1` のままです。`w = 0.5` にすると ReLU でさえ `9.766e-4` まで落ちます。
    • 新レッスンGROUP BY と集約 — 各行を完全なグループ化キーが指すグループへ振り分け、グループごとに 1 行へ畳み込みます。同じ 7 行がキーの伸長につれ `1 → 3 → 6` グループになり、金額が `NULL` の行は `COUNT(*)` だけを増やし `COUNT(amount)` には入りません。
  27. 2026年9月2日

    • 新レッスンSQL 結合 — 一致する行の組が結果の 1 行になります。同じ元データが INNER で 3 行、LEFT で 5 行、FULL で 6 行。3×3 のプリセットが、9 行に膨らむ掛け算を見せます。
  28. 2026年9月1日

    • 新レッスンコンシステントハッシュ — キーの位置は動かさず、新ノード N4@220 が `(140, 220]` だけを引き受けます。12 個中 3 個の再配置に対し、同じハッシュを `%3 → %4` にすると 10 個が動きます。
    • 新レッスン2 フェーズコミット — 全参加者が YES を投じて初めて COMMIT できます。コーディネータが決定を配る前に消えると、prepared のロックはそのまま止まり続けます。
    • 新レッスンRaft コンセンサス — リーダーを選び、5 レプリカ中 3 つで現在タームのエントリをコミットします。2 台の少数派も矛盾するエントリを保持できますが、過半数の線は決して越えられません。
  29. 2026年8月30日

    • 新レッスンリベース — フィーチャー側だけのコミットを古い順に新しい `main` の上へ再生します。各コミットは新しい ID を得て、ブランチ参照はすべてのパッチが成功するまで待ちます。
    • 新レッスン変更を元に戻す — `restore`、soft/mixed/hard の `reset`、`revert` を、どのファイル層・どの参照・どのコミットオブジェクトを書くかで比べます。hard reset のシナリオは、`ORIG_HEAD` が作業ツリーだけのバイト列を戻せない理由を示します。
    • 新レッスン字句解析と構文解析 — `12 + 3 * 4` を平坦なトークン列へ走査し、再帰下降の規則境界が `*` を右側の term の中で先に決着させ、その後で `+` が根になる様子を追います。
    • 改善Git とバージョン管理の学習ルートがすべて無料になりました(タグとリリース、リベース、変更を元に戻すを含む)。
  30. 2026年8月29日

    • 新レッスンタグとリリース — リリース名を 1 つのコミットに固定したまま `main` は進み続けます。タグを強制的に動かすと、公開中の名前が記録しているソースと食い違います。
    • 新レッスンマージコンフリクト — コンフリクトマーカーを全部消しても、`git add` がインデックスのステージ 1/2/3 をステージ 0 へ畳むまで Git は先へ進みません。逆にマーカーごとステージすれば、Git はただのバイト列として受け取ります。
    • 新レッスンリモート連携 — ローカルの `main`、キャッシュされた `origin/main`、サーバー上の `main` を切り分けます。fetch は追跡参照だけを動かし、pull は祖先関係が正しいときだけローカルブランチを動かし、push は最終判断をサーバーに委ねます。
  31. 2026年8月27日

    • 新レッスンブランチと HEAD — Git の 2 段参照 `HEAD → branch → commit` を目に見える形にします。HEAD を detach すると、次のコミットはどのブランチも動かしません。
    • 新レッスンFast-forward マージ — マージ元の先頭から親チェーンをたどって祖先関係を確かめ、現在のブランチ参照だけを既存のコミットへ移します。マージ元の参照もオブジェクト数も変わりません。
    • 新レッスン3-way マージ — 最良の共通祖先を見つけ、衝突しない編集を親 2 つのコミットへまとめます。両ブランチを同じ行に当てると、Git はコンフリクトマーカーを残して止まります。
  32. 2026年8月26日

    • 新レッスンGit の 4 つの領域 — 1 つのファイルを作業ツリー・インデックス・ローカルリポジトリ・リモートの順に追います。ステージしていない編集が 1 つあれば、commit がエディタではなくステージ済みスナップショットを読むことが分かります。
    • 新レッスンスナップショットとしてのコミット — Git の実フォーマットで blob・tree・commit の ID を組み立て、変更のない README は既存 blob を再利用します。親だけを変えれば、同じ tree でも新しい commit ID になります。
  33. 2026年8月25日

    • 新レッスン仮想マシン — スタック VM はバイトコードを 1 オペコードずつ取り出すので、1 + 2 \* 3 は push 3 回、次に MUL、次に ADD です。ADD を先に出すとスタックアンダーフローになります。
    • 新レッスンAST → コード生成 — コード生成は後行順で木をたどり、子を先に、演算子を後にします。1 + 2 _ 3 が MUL を ADD より先に書くのは、_ が木のより深い位置にあるからで、誰かがテキストを並べ替えたからではありません。
  34. 2026年8月20日

    • 新レッスン次トークン予測 — GPT-2 に "The capital of France is" の続きを尋ねると " Paris" は 5 番目、" the" より下です。モデルの確信の 67.98% は、図に描けないほど小さなトークンに散っています。ペンを渡して argmax を 12 回続けると、文字どおりのループに閉じます。
    • 新レッスンRNN / LSTM — 同じ文を 1 語ずつ両方のセルに読ませます。RNN は正しく答えますが、戻ってくる学習信号は 8.9 × 10⁻⁶。LSTM のゲート付き記憶線は 0.427 を保ちます——忘却ゲートをすべて 0.5 に固定するまでは。
    • 新レッスンSoftmax と交差エントロピー — 手書きの本物の 3 が、クラス 2 として確信度 99.86% で届きます。融合した勾配は `p − y` に畳まれ、同じ飽和した softmax を通しても真のロジットを MSE の 361 倍強く押します。
    • 新レッスン損失関数 — 平均二乗誤差と交差エントロピーは、同じ「自信をもって間違えた」sigmoid 出力から出発します。しかし MSE に余分に付く `p(1 − p)` が勾配を 25 分の 1 に縮め、その実行を平坦部で這わせます。
  35. 2026年8月18日

    • 新レッスンTLS ハンドシェイク — 双方とも鍵を送らずに同じ鍵を導出し、次にサーバーがこの接続のトランスクリプトに署名して、証明書が示す鍵を実際に持っていることを証明します。経路上の攻撃者は本物の証明書を転送し、チェーン・名前・有効期限をすべて通過しますが、この署名 1 つで倒れます。
  36. 2026年8月17日

    • 新レッスンDNS 解決 — ルートと TLD のサーバーは「次に誰へ聞くか」しか答えません。だからコールドな 1 回の名前解決に 8 メッセージ、キャッシュ済みなら 2 メッセージで済みます。NXDOMAIN のプリセットでも階層を最後までたどります——名前が存在しないと言えるのは、そのゾーン自身のサーバーだけだからです。
  37. 2026年8月16日

    • 新レッスン線形回帰 — 二乗誤差を文字どおり面積として描くので、1 パスの閉形式解は (x̄, ȳ) を軸に回る直線に見え、正方形は 25 分の 1 に縮みます。次に 1 点を y = −6 まで落とすと、同じ式が残り 8 点を見捨てて、その 1 つの正方形を縮めにかかります。
  38. 2026年8月15日

    • 新レッスン線形分類器 — クラスごとに重みを 1 行持ち、結果に argmax を取ります。どの領域も半平面の交わりなので、必ず凸になります。2 つの島のプリセットでは、W をどう回しても b をどう動かしても誤りのままです。
    • 新レッスンベクトルと内積 — w·x は x が w に落とす影です。x を 2 倍すればスコアも 2 倍、角度が変わらなければスコアも動かず、直交する x はどれだけ伸びても 0 です。これが w·x = 0 がバイアスなし分類器の決定境界になる理由です。
  39. 2026年8月14日

    • 新レッスン2 の補数 — 最上位ビットは符号フラグではなく −128 という桁の重みです。だから分岐のない加算器 1 つで符号付き演算ができます。5 + (−5) は桁上がりを 1 つ捨てても正しく、127 + 1 は 1 つも捨てないのに黙って −128 と読まれます。
    • 新レッスン2 進数 — 固定幅のビット列で位置 k の価値はちょうど 2^k です。だから `n % 2` は最下位ビットを読み、`n // 2` はそれを落とします。255 を越えて数えると、桁上がりが 8 桁のワードの端からこぼれ、0 が残ります。
  40. 2026年8月13日

    • 新レッスンJump Game (LeetCode #55) — 「最大でこの距離まで」跳べる規則が到達可能集合を 1 つの塊に保つので、数値 1 つが探索全体を背負います。既定の入力はその 0 を越えられますが、じょうごのプリセットはすべての弧を同じマスに積み上げて止まります。
    • 新レッスン3Sum (LeetCode #15) — 一度ソートし、アンカーを固定し、残りは向かい合う 2 ポインタに任せます。O(n³) が O(n²) へ下がり、重複はハッシュ集合ではなく隣との 1 回の比較で飛ばします。
  41. 2026年8月12日

    • 新レッスン分数ナップサック — 品物は幅が一定の棚の上で、密度を高さとする長方形です。薄片の交換が交換論法を演じます。その 1 回の分割を禁じると、同じ貪欲規則が 240 から 205 へ落ち、最良の丸ごと詰めの 220 すら下回ります。
    • 新レッスンハフマン符号 — 毎回いちばん稀な部分木を 2 つ併合するので、深さがそのまま符号長になります。ABRACADABRA は固定長の 33 ビットに対し 23 ビットへ縮みます。同点のプリセットは、ハフマンがこの基準に並ぶことはあっても負けることはないと示します。
  42. 2026年8月11日

    • 新レッスンBellman-Ford — 何も確定させないまま全辺を V−1 巡だけ緩和します。だから 2 巡目が 1 巡目の作った古い見積もりを直し、最後の一掃が「まだ改善している」を赤い負閉路に変えます。
  43. 2026年8月10日

    • 新レッスン区間スケジューリング — 終了時刻でソートし、両立する区間を順に取ります。交換のレールが、別の最適解を枠を 1 つも失わずに貪欲解へ書き換えます。
    • 新レッスンTrapping Rain Water (LeetCode #42) — 累積最大が両側の境界を露わにし、2 ポインタは小さいほうの走査中最大値で決着させます。専用の証明ビートが、まだ見ていない柱ではこの列の結論を覆せない理由を示します。
  44. 2026年8月9日

    • 新レッスンLRU キャッシュ (LeetCode #146) — ハッシュマップが期待 O(1) でノードを見つけ、双方向リストがヒットのたびに最近使用へ繰り上げます。追い出しを 2 段に割ると、LRU ノードを外すだけでマップの項目を消さない場合に何が残るかが見えます。
  45. 2026年8月8日

    • 新レッスン順列 — すべての交換を戻して、呼び出し元の配列をそのまま復元します。この 1 行がないと、探索は同じく 6 枚の葉を訪れながら、異なる並びは 4 通りしか出しません。
    • 新レッスン数独ソルバー — 同じ問題で、MRV が 99 回の配置と 56 回のバックトラックを 46 回と 3 回へ減らします。ヒントを 1 つ足すと、その分岐自体が消えます。
  46. 2026年8月7日

    • 新レッスンビット演算テクニック — one-hot マスクは 1 ビットだけを変え、`x & (x - 1)` は popcount のために最下位の 1 を落とします。ゼロの罠は、2 の冪判定になお `x > 0` が要る理由を示します。
  47. 2026年8月6日

    • 新レッスンN クイーン — 3 つの制約キーが列と斜めの衝突を弾き、バックトラックは 3 つとも戻します。探索の集計が、26 回の候補チェックを 4⁴ 通りの素朴な行割り当てと並べます。
  48. 2026年8月5日

    • 新レッスン交差検証 — 同じ 20 枚の写真が、2 通りの単一ホールドアウトで 1.00 にも 0.25 にもなります。5 分割はすべての行を 1 度ずつテストして 0.800 に落ち着き、報告値がくじ運に左右されなくなります。
    • 新レッスン混同行列 — 40 件では「誰にも警報を出さない」が正解率 85% を取り、「全員に出す」が再現率を取り、「1 件だけ出す」が適合率を取ります。4 マスの表こそ、どの比率にも隠せない部分です。
  49. 2026年8月3日

    • 新レッスントポロジカルソート — Kahn は入次数 0 の始点を削り続け、DFS は戻るときに順序を後ろから書きます。閉路ありの対比実行が、「順序が存在する」ことと「グラフが非閉路である」ことがちょうど一致する理由を示します。
  50. 2026年8月1日

    • 新レッスンビット演算の基礎 — 論理演算は出力の各ビットをその場で決め、シフトは固定幅 8 ビットのワードの中でビットを動かします。幅いっぱいシフトすると元のビットは 1 つも残らず、0 になります。
  51. 2026年7月31日

    • 新レッスン主成分分析 — 固有ベクトル 1 本で分散の 95.26% を捉え、再構成誤差を 2.8 分の 1 にします。次にセンチメートルをミリメートルに変えると、スコアは 99.67% へ上がりますが、成分そのものは悪化します。
    • 新レッスン過学習と検証 — 9 次多項式は訓練点 10 個すべてを通しますが、ホールドアウトでは 3 次より 899 倍悪いスコアになります。訓練誤差では容量を選べません——モデルが大きくなれば下がる一方だからです。
  52. 2026年7月29日

    • 新レッスン最小全域木 — Prim は 1 本の木を育て、Kruskal は連結成分を併合します。同じ橋のあるグラフで、辺を選ぶ順序が違っても同じ 5 辺・重み 19 の MST に到達します。
  53. 2026年7月28日

    • 新レッスンAVL 木 — キーの順序を変えずに、最初に崩れた祖先だけを再平衡します。同じ 6 回の挿入を回転なしの BST と比べると、高さ 2 で 3 回の探索、対して高さ 4 で 5 回です。
  54. 2026年7月27日

    • 新レッスンナイーブベイズ — 各単語が独立に尤度の一票を投じます。だから相関する単語を繰り返すと同じ証拠を 2 度掛けることになり、情報は増えないのに確信だけが上がります。
    • 新レッスンK-means クラスタリング — 各点を最も近い重心へ割り当て、各重心を平均へ動かし、イナーシャが下がらなくなるまで繰り返します。収束は保証されますが、初期位置が違えば落ち着く局所解も違います。
  55. 2026年7月26日

    • 新レッスン赤黒木 — 赤で挿入し、叔父ノードの色が色替えか最大 2 回の回転かを決めます。三角形のケースで最初の回転を飛ばすと、赤と赤が隣り合う辺が残ります。
  56. 2026年7月24日

    • 新レッスンサポートベクターマシン — 誤りゼロの直線は無数にありますが、サポートベクターマシンは最も広い空の回廊を取ります。サポートでない点をすべて消しても、境界は動きません。
    • 新レッスン決定木 — 情報利得が軸に平行な分割を貪欲に積み上げ、長方形にします。1 段増やすと、孤立したノイズ点が自分だけの「完璧な」葉を得ます。一方、斜めの境界は階段のまま誤り続けます。
  57. 2026年7月23日

    • 新レッスン編集距離 — すべての接頭辞の組について最後の編集を最安で選び、復元した +1 の操作列を数え、再生します。ずれの罠は、6 か所の位置ずれを削除 1 回と挿入 1 回に還元します。
  58. 2026年7月21日

    • 新レッスン最長共通部分列 — 接頭辞表を 1 つ埋め、最適な順序付き共通部分をたどり直します。貪欲の前置きは a[0] の A を b[3] に充て、BDC を焼き、ABA(3)で止まります。DP は BCBA(4)を取り戻します。
  59. 2026年7月20日

    • 新レッスンルーティングプロトコル — 距離ベクトルは隣人の古い数値を信じ、ループの中で無限へ数え上げてしまいます。リンクステートは変化した地図をフラッディングし、Dijkstra が経路を見つけられなければそのルートを落とします。
    • 新レッスンk 近傍法 — 学習の段階がありません。問い合わせのたびに保存済みの全点との距離を測ります。同じ距離のもとで、k = 1 はラベルを誤った 1 サンプルの周りに島を作り、k = 9 は本物の飛び地を消します。
  60. 2026年7月17日

    • 新レッスングラフの表現 — 隣接リストは実在する隣接だけを持ち、隣接行列は添字 1 回の辺判定のために V² マスを使います。Dense K5 は、リストの疎な空間効率という利点が消える地点を示します。
    • 新レッスン接尾辞配列 — 接尾辞の開始添字だけを保存し、順位付けする接頭辞長を毎回 2 倍にし、固定のテキストを二分探索します。全要素が等しいシナリオでは同順位が最後まで残り、`-1` の番兵は短い接尾辞を先に並べ続けます。
  61. 2026年7月16日

    • 新レッスントライ木 — 共通接頭辞は 1 本の経路を共有し、問い合わせは 1 文字につき 1 辺を消費します。`startsWith("ca")` と `search("ca")` の対比が、終端マークがなければ「たどれる経路」は「保存した単語」ではないことを示します。
  62. 2026年7月15日

    • 新レッスンKMP 文字列マッチング — 不一致の後は既知で最長の接頭辞・接尾辞の境界を再利用し、同じテキスト文字をもう一度試します。`advance i (bug)` のバリアントは、早すぎるインクリメント 1 つが本物の一致を飛ばす様子を見せます。
    • 新レッスンRabin-Karp — 固定幅の窓ごとに指紋を転がし、ハッシュが一致したときだけ文字を確かめます。衝突のシナリオは、ハッシュの一致が候補であって一致ではないと示します。
  63. 2026年7月14日

    • 新レッスンHTTP / HTTP/2 / HTTP/3 — HTTP/1.1 は 4 つのファイルを順番待ちにし、HTTP/2 は 1 本の TCP バイトストリームに重ねます。だからパケットが 1 つ失われると 4 つとも止まります。HTTP/3 は損失を自分の QUIC ストリームの中に閉じ込めます。
    • 新レッスンロジスティック回帰 — sigmoid が `w·x + b` を確率に変えますが、`w` と `b` を一緒に拡大しても確信が急になるだけです。スコア 0 の境界はその場に釘付けのままです。
  64. 2026年7月13日

    • 新レッスンループと不変条件 — ループの先頭で約束を立て、本体で保ち、`i = n` で証明を締めます。すべて負の反例が、初期化を誤ると結論が無効になる理由を示します。
    • 新レッスン配列とインデックス — インデックスは 0 起点のスロット座標で、O(1) で解決されます。既定の実行は長さの手前で安全に止まり、続いて `values[len(values)]` が `print` の前に `IndexError` を投げることを示します。
    • 改善掲載レッスンがすべて公開済みのとき、トピックカタログで「公開済み / すべて」の切り替えを表示しないようにしました。
  65. 2026年7月12日

    • 新レッスン変数と代入 — ミューテーションは共有オブジェクトを編集し、代入は名前の束縛を移すだけです。イミュータブルな整数への `+=` が、構文だけではどちらが起きたか判別できないと証明します。
  66. 2026年7月11日

    • 新レッスン状態機械 — 同じ `push` が施錠中は拒まれ、解錠中は通ります。振る舞いはイベント単体ではなく `(state, event)` の組に属するからです。
  67. 2026年7月8日

    • 新レッスンOSI / TCP-IP モデル — OSI は 7 つの役割に名前を与え、TCP/IP はそれを 4 つにまとめます。Ethernet + IP + TCP のリクエスト 1 本が受け取る外装は 7 枚ではなく 3 枚です。ルーターは HTTP メッセージを開かずにリンク層の外装だけを取り替えます。
    • 新レッスンスレッドと同期 — `counter += 1` は読み・加算・書きに分かれます。だから既定のインターリーブでは 6 回の加算要求が 4 で着地します。ミューテックスなら 6 に届き、ロック順を逆にするとデッドロックに届きます。
  68. 2026年7月4日

    • 新レッスンファイルシステム — 名前はディレクトリが持ち、メタデータとブロックアドレスは inode が持ちます。だから `rm` が消すのはディレクトリエントリ 1 件で、開かれたままのファイルは最後の可視パスより長く生き延びられます。
    • 新レッスンページ置換 — FIFO は到着時刻を覚え、LRU はアクセスのたびに新しさを書き換え、Clock は参照ビット 1 つで済ませます。同じトレースが、Bélády のアノマリーと「より良い推測」に払うメタデータの代金を同時に露わにします。
  69. 2026年7月3日

    • 新レッスンサブエージェント — `Task` はまっさらな `messages[]` の上で同じエージェントループを回すので、雑多な検索 4 回が主コンテキストには結果カード 1 枚しか残しません。同じ壁のせいで、子はプロンプトが運ばなかった補足を取りこぼします。
  70. 2026年7月2日

    • 新レッスン線形探索 — 先頭から順に調べ、最初の一致で止まります。だからコストは対象の位置そのもので、見つからなければ n 個すべてを走査します。ソート済みの入力を要求しない唯一の探索です。
  71. 2026年7月1日

    • 新レッスン木の走査 — 前順・中順・後順は同じ 1 回の深さ優先の歩みです。出力の順序を変えるのは `visit(node)` の位置だけで、偏った木ではコールスタックが深さ n に達します。
  72. 2026年6月30日

    • 新レッスンスライディングウィンドウ — 1 つの窓が右端を伸ばし左端を縮めて、部分配列を O(n) で走ります。負の値が現れると、その貪欲な縮小が成り立たなくなります。
  73. 2026年6月29日

    • 新レッスン2 ポインタ — ソート済み配列の両端から添字を 1 つずつ内側へ進め、収まらないほうの端を落とします。ソートされていない入力では、本物の組を黙って飛ばします。
    • 機能ソート・探索・データ構造のレッスンに「シナリオ」の行を追加しました。見る価値のある境界ケース(本物の衝突、鎖に潰れた木、スタックオーバーフロー)へワンクリックで飛べます。
  74. 2026年6月28日

    • 新レッスン仮想メモリ — アドレス変換 1 回のコストは、TLB ヒットでおよそ 1 サイクル、ページテーブルウォークで約 100、メジャーページフォールトでおよそ 100 万です。TLB ミスとページフォールトは同じ出来事ではありません。
    • 新レッスン命令の実行 — TinyCPU は 16 ビットのワードをフェッチし、デコードの前に PC を進め、その後 `JNZ` がそれを上書きします。ループとは同じアドレスがもう一度フェッチされることであって、CPU が理解している構造ではありません。
  75. 2026年6月27日

    • 新レッスン基数ソート — 整数を 1 桁ずつ安定なバケットへ入れ、2 つの値を一度も比較しません。キーが広いケースが、O(d·n) というコストを美化させません。
  76. 2026年6月25日

    • 新レッスン動的配列 — 連続した領域で O(1) の添字アクセスを得る代わりに、挿入と削除でずらすコストを払います。
    • 改善「次を予測する」クイズを Two Sum / 二つの和 (LeetCode #1) に導入しました。総当たりとハッシュマップの両方に対応します。
  77. 2026年6月24日

    • 新レッスン木の基礎 — 根・葉・深さ・高さを、同じノード集合を 3 通りの高さに組み替えて見ます。
    • 新レッスンUnion-Find — `parent[]` の上の森として互いに素な集合を表し、ランクによる併合と経路圧縮を添えます。
  78. 2026年6月23日

    • 新レッスンコインの両替 — 貪欲と DP を同じ数直線に並べ、貪欲なつかみ取りがどこで行き詰まるかを見せます。
  79. 2026年6月22日

    • 新レッスンキャッシュ階層 — 行優先と列優先は同じ 2 次元配列を同じ回数の加算で合計しますが、片方は取得したキャッシュラインを使い切り、もう片方は 1 ワードのために毎回ライン全体を買い続けます。
    • 新レッスン分岐予測 — 2 ビットカウンタは予測を変えるのに 2 回の意外を要します。だからループを 1 回抜けても、1 ビット予測器が食らう再突入時のミスは起きません。
  80. 2026年6月20日

    • 新レッスン0/1 ナップサック — DP 表を行ごとに埋め、どの品物を詰めたのかをたどり直します。
  81. 2026年6月19日

    • 新レッスンCPU パイプライン — 5 命令が IF・ID・EX・MEM・WB にまたがって重なります。フォワーディングがないと、2 つの Read-after-Write ハザードが理想の 9 サイクルを 13 に延ばし、失われたサイクルはすべてバブルとして見えます。
    • 新レッスン浮動小数点数 (IEEE 754) — binary16 は 0.1 を最も近い目盛りとして格納します。2 進小数が無限に循環するからです。指数が 1 段上がるごとに、隣り合う値の間隔は 2 倍になります。
  82. 2026年6月18日

    • 新レッスン双方向連結リスト — ノードごとに `prev` ポインタを 1 本持つことで、手元にあるノードを O(1) で削除でき、後ろ向きの走査もできます。
    • 新レッスン循環連結リスト — 末尾が先頭へ折り返すので、見つからない探索はちょうど 1 周します。
  83. 2026年6月17日

    • 新レッスンエージェントループ — モデルとツールの往復ループに、`max_turns` の歯止めを添えます。
    • 新レッスンA* 経路探索 — グリッド探索に、Dijkstra との対比と、悪いヒューリスティックの失敗例を添えます。
  84. 2026年6月16日

    • 新レッスンURL → ページ描画 — 1 回のページ読み込みを DNS・TCP・TLS・HTTP・キャッシュ・描画まで追うキャップストーンです。
  85. 2026年6月15日

    • 新レッスンDijkstra
    • 機能MNIST 数字分類器 と 学習ループ に再生 / 一時停止 / リセットと動画録画を追加しました。
    • 改善録画レッスン・対話型データ構造・実時間ニューラルネットの間で、再生の挙動を統一しました。
  86. 2026年6月14日

    • 新レッスンTransformer ブロック — 残差ストリームがアテンションと MLP を通って上へ運ばれ、洗練されはしても置き換えられることはありません。
    • 機能共有と埋め込み — そのときの入力のままレッスンを開き直せるリンクをコピーしたり、動くプレイヤーを自分のページへ埋め込んだりできます。
    • 機能書き出し — ⋯ メニューから、現在のフレームを PNG で保存するか、解説全体を動画に録画できます。
    • 機能お問い合わせページを追加しました。レッスンの埋め込み方、クリップの書き出し方、授業での使い方を案内しています。
    • 改善バブルソート に境界プリセットを追加しました。最良・最悪・ほぼ整列済み・全要素同一をワンクリックで切り替えられます。
  87. 2026年6月13日

    • 機能「次を予測する」クイズ — まず バブルソート で無料のお試しとして提供します。試行ごとに配列を引き直すので、答えを思い出すのではなく頭の中でアルゴリズムを走らせることになります。
    • 機能機能ページを作り直しました。すべての機能を手描きの小図で示しています。
    • 改善ReAct ループとツール呼び出しを、スクリプトではなく実際に録画したモデルのトレースで動かすようにしました。
    • 改善バブルソートの解説を、映画的なカメラの流れで再編集しました。
  88. 2026年6月12日

  89. 2026年6月11日

    • 新レッスン学習ループ
    • 新レッスンヒープソート
    • 機能動く白板のトップ画面 — 数字を 4 つ入力すると、ヘッダーの中でバブルソートされます。
  90. 2026年6月10日

  91. 2026年6月9日

    • 機能トースト、キーボードショートカット、共有リンク、レッスン間の滑らかなビュー遷移を追加しました。
  92. 2026年6月8日

  93. 2026年6月7日

    • 新レッスンブール論理とゲート — XOR と AND が同じ 2 つの入力ビットを共有して、半加算器の和と桁上げを作ります。XOR を OR に替えると真理値表の 3 行は通ったままで、`1 + 1` だけが壊れます。
    • 新レッスンタスクシステム — 依存の辺が次に実行できるものを決め、`tasks.json` が完了のたびに記録します。クラッシュ後、ディスクからの再開は t1 と t2 を払い直さずに進みますが、メモリ上だけの計画はその 2 つをもう一度実行します。
  94. 2026年6月5日

    • 新レッスン幅優先探索
    • 機能Radix luma のインターフェーステーマと、キャンバス背景の切り替えを追加しました。
  95. 2026年6月4日

    • 新レッスンプロセススケジューリング — FCFS・SJF・ラウンドロビンを 1 枚のガントチャートに並べ、短いジョブが長いジョブの後ろで待たされる様子を見せます。
    • 新レッスンマルチレベルフィードバックキュー
    • 機能コードパネルの多言語対応 — ソート・探索・DP・データ構造のレッスンに JavaScript を追加しました。
    • 改善バブルソートと Two Sum にバリアント切り替えを追加しました(通常版と最適化版、総当たりとハッシュマップ)。
  96. 2026年6月2日

    • 新レッスンCNN
    • 新レッスンTCP 接続の終了
    • 機能白背景の新しいトップページに、手描きのレッスンカードを並べました。
  97. 2026年6月1日

    • 機能無料で始められる継続機能 — ブックマーク、保存した入力、進捗を、サインインすれば端末をまたいで同期します。
    • 機能保存した入力と進捗のための、タブ付きライブラリを /library に用意しました。
    • 改善モバイルレイアウト — プレイヤー・パネル・キャンバスがスマートフォンで整然と積み重なり、拡大縮小します。
    • 改善利用規約とプライバシーポリシーを、セクションナビゲーション付きで作り直しました。
  98. 2026年5月31日

  99. 2026年5月29日

  100. 2026年5月27日

    • 新レッスン連結成分 — 1 回の DFS が 1 つの島を塗り、外側の走査は既に取り込まれた頂点をすべて飛ばして、最初の探索が届かなかった島ごとにちょうど 1 度だけ始まります。
    • 新レッスン計数ソート — 累積和によって個数が最終的な番地に変わり、後ろから配置することで等しいキーが入力順を保ちます。前から配置しても数字は並びますが、安定性は静かに反転します。
  101. 2026年5月26日

  102. 2026年5月23日

    • 新レッスンマージソート — 既定で重複キーを含む配列を使うので、安定性が保たれる様子が見えます。
    • 新レッスンフィボナッチとメモ化 — 同じ入力に 3 つのモード:再帰木、メモ化、表。
  103. 2026年5月20日

    • 新レッスン順伝播 — 実際に学習済みの MLP を層ごとに:重み付き和 → ReLU。
    • 新レッスンMNIST 数字分類器 — ブラウザで数字を書き、ネットワークが判断する様子を見ます。
  104. 2026年5月18日

    • 新レッスン再帰とコールスタック — 呼び出しごとに、ローカル変数と終わっていない掛け算を抱えたフレームが残ります。`fact(4)` は付箋を 4 枚積み、巻き戻しながら 1、2、6、24 を返します。
    • 新レッスン輻輳制御 — Reno は `ssthresh` まで窓を倍にし、その後は RTT ごとに 1 パケットずつ足します。重複 ACK 3 回で窓は半分、タイムアウトで 1 に戻ります。送信側は経路をあふれさせることでしか、その太さを知れません。
  105. 2026年5月17日

    • 新レッスンヒープ
    • 機能「解説」タブ — すべてのレッスンが、アニメーションの隣に文章の解説を備えるようになりました。
    • 機能フィードバック — どのレッスンからでも、メモやスクリーンショットを送れます。
  106. 2026年5月14日

    • 新レッスン二分探索 — 捨てた側の半分がフェードアウトするので、半分に絞られていくことが目に見えます。
    • 新レッスン挿入ソート
  107. 2026年5月11日

    • 新レッスンTwo Sum / 二つの和 (LeetCode #1) — 同じ配列で、総当たりとハッシュマップを並べて走らせます。
    • 新レッスン二分探索木
    • 機能利用規約とプライバシーポリシーのページを公開しました。
  108. 2026年5月4日

    • 新レッスン連結リスト
    • 改善データ構造のレッスン全体で、矢印とポインタの動きを滑らかにしました。
  109. 2026年5月1日

    • 機能最初の公開トップページ — トピックの紹介、機能ツアー、ロードマップの予告を載せました。
  110. 2026年4月25日

    • 新レッスンスタック
    • 新レッスンキュー
    • 機能ホームのトピックブラウザ — すべてのレッスンを手描きのカードとして並べました。
    • 改善手描きの配色(vizPalette)をレッスン間で統一し、同じ色がどこでも同じ意味を持つようにしました。
  111. 2026年4月8日

    • 機能コード / 可視化 / ログの各パネルをリサイズできるようにしました。
  112. 2026年3月29日

    • 機能同期するコードパネル — アニメーションの再生に合わせて、実行中の行がハイライトされ、ステップログが埋まっていきます。
  113. 2026年3月17日

    • 新レッスン選択ソート
    • 機能インターフェース全体を English・中文・日本語に対応させました。
    • 機能Google サインイン。
  114. 2026年3月14日

  115. 2026年2月

    • 機能VizLearn 始動 — 最初のコミット。