更新情報
新しいレッスン・機能・改善のすべてを、新しい順に。
2026年11月1日
- 新レッスン行列の積 — 行と列の内積で結果の各マスを埋め、同じ 2 つの行列を逆順で掛けると積の形も変わりうることを確かめます。
2026年10月31日
- 新レッスン累積和 — 累積値を 2 回読み出して 1 回引くだけで区間和を求め、1 要素の変更で修復が必要になる後続の累積値を追います。
2026年10月30日
- 改善9 月に始めたアニメーションの見直しが完了し、175 本のレッスンすべてで計算結果、説明文、キャンバスの状態、コードのハイライト、Quiz の答えを確認して、見つかった誤りを修正しました。
- 改善入力パネルのあるレッスンのうち、さらに 20 本で「保存」と「保存した入力」が使えるようになり、古い共有リンクや手で書き換えた共有リンクは無効な値を読み込まずに既定の入力に戻ります。
- 改善整数の入力欄は 1.5 や 1e2 を黙って 1 として実行せずに拒否するようになり、入力エラーは表示言語に合わせて表示され、スクリーンリーダーでも読み上げられます。
- 改善ウィンドウのサイズを変えても再生位置や速度がリセットされず、Quiz も終了しなくなりました。答えの表示後も「見返す」でカードをキャンバスからよけられます。
2026年10月8日
- 機能コントロールとカードが標準で手描き風になり、設定ページで表示スタイル、言語、キャンバス背景、ログパネルの表示を変更できます。
- 改善レッスン、学習ルート、ライブラリに共通のナビゲーションバーを設け、デスクトップのレッスンではキャンバス、再生コントロール、コード・入力・ログのカードを一枚の紙の上に配置しました。
- 改善リンク共有、埋め込み、PNG 書き出し、動画書き出しを一つの共有メニューにまとめました。
- 改善レッスンのサイドバーは開閉状態とカテゴリの折りたたみ状態を記憶し、カタログ、サイドバー、学習ルートには完成済みのレッスンだけを表示します。
2026年10月7日
- 改善TCP ハンドシェイクと Big-O の状態や色がステップに合わせて滑らかに変化し、以前の状態は徐々に後退して現在の状態が際立つようになりました。
- 改善グリッドやドット背景の端が欠ける問題、本番環境で手描き風カードの枠が消える問題、再生スライダーのアクセシブルな名前が欠ける問題を修正しました。
- 改善中国語・日本語の Markdown の表示を修正し、レッスンの説明、カテゴリの紹介、カードの説明を訂正しました。
2026年10月5日
- 改善Quiz は各ステップのアニメーションが完了してから一時停止するようになり、入力のランダム化が出題の選択に影響せず、ログには同じ説明の連続ステップも残り、レッスンを切り替えるとサイドバーに現在のレッスンが表示されます。
2026年10月4日
- 改善フィードバック窓口を GitHub Issues に移し、不具合の報告や改善の提案、その後の対応状況の確認ができるようになりました。
2026年9月24日
- 改善レッスンのアニメーションを継続的に見直す取り組みを始め、ソート・文字列・バックトラッキング・探索のレッスンを順次改善しながら、他のレッスンにも対象を広げていきます。
2026年9月22日
- 新レッスン単調スタック — Next Greater Element の未解決インデックスを値の降順で保ちます。各インデックスは 1 回入り、最大 1 回出るだけなので、入れ子の `while` も O(n) です。同値は厳密に大きい値を待ちます。
2026年9月21日
- 新レッスンメッセージから分散合意へ — 1 つのコマンドを、クライアント配送から Raft の複製、コミット、適用まで追います。その後に応答を失わせ、書き込みが成功してもクライアントはタイムアウトし得ることを示します。
- 新レッスンSQL クエリからストレージ読み取りへ — クエリを実行計画、ページ要求、バッファプール照合、結果行へ展開します。同じ検索は最初に 3 回のコールド読み取りが必要ですが、ページがキャッシュされた後の追加読み取りは 0 です。
2026年9月20日
- 新レッスンオートエンコーダ — 2 次元と 8 次元の潜在コードでホールドアウト数字を再構成し、数字だけで学習したデコーダにチェッカーボードを入れます。コードを広げても未知の模様を復元できるとは限りません。
2026年9月19日
- 新レッスン方策勾配 — REINFORCE で 1 本のサンプル軌跡のリターンから行動確率を調整します。正しい更新でも、目標へ到達する直近の確率が 25% から 24.6% へ下がる例も含みます。
- 新レッスン拡散モデル — 1 回のノイズ除去推定は複数の起点を平均し、データのない中心に残ります。反復すると 8 つのデータ群の近くにサンプルを戻せます。
- 新レッスン敵対的生成ネットワーク — 生成器と識別器を競合させ、個々の出力の尤もらしさと分布の網羅性を別々に調べます。モードを落としたまま識別器を騙せても、多様性は保てません。
2026年9月17日
- 改善動画書き出しは買い切りプランの機能になりました。リンク共有、埋め込み、ウォーターマーク付き PNG 書き出しは引き続き無料です。
- 改善録画前に操作の説明を表示し、録画中はキャンセルできる通知を表示するようにして、プレーヤー左下の録画テキストを削除しました。
2026年9月16日
- 新レッスンバックグラウンドタスク — デタッチした shell でコマンドを起動し、ハンドルをすぐ返します。完了通知がエージェントのコンテキストに入るのは次のターン境界であり、生成中の応答を途中で中断しません。
- 新レッスンエージェントチーム — プライベートなエージェントコンテキストを共有タスクボードとメールボックスで協調します。依存タスクの完了だけでは、必要なチームメイトにインターフェース契約は伝わりません。
2026年9月15日
- 新レッスン行動の前に計画する — 予定した作業のチェックリストと、完了を証明するツール結果を並べます。失敗したチェックは、修復と新しい証拠が計画に記録されるまで未完了のままです。
- 新レッスンシステムプロンプトの組み立て — アイデンティティ、ツールガイド、実行時情報、スキルカタログをシステム指示に組み立て、ツール定義と会話コンテキストは分けます。ディスク上のファイルは harness が読み込まない限りリクエストには入りません。
- 新レッスンエラーからの復旧 — モデル呼び出しの失敗を再試行前に分類し、原因に応じて待機、コンテキスト圧縮、出力上限の拡大、モデル切り替え、停止を選びます。同じ壊れた要求をそのまま再送はしません。
2026年9月13日
- 新レッスンプーリングと特徴マップ — 局所ウィンドウを最大値または平均値で置き換え、チャネルを混ぜずに空間解像度を下げます。応答をウィンドウ境界の外へ動かし、失われる位置情報を示します。
- 新レッスン物体検出 — クラス付き境界ボックスを予測し、スコアで弱い候補を除き、重なりで重複候補を抑制します。2 つのしきい値が見逃しと重複ボックを別々に動かします。
2026年9月12日
- 新レッスン権限 — ツール実行前に allow、ask、deny を判定し、deny を最優先します。ask 経路が実行へ進むのは、人間が明示的に承認した場合だけです。
2026年9月11日
- 新レッスンHooks — ライフサイクルイベントとツール名の両方が一致したときだけ hook を呼びます。実行前のコールバックは書き込みを止められますが、成功後の同じ検査は既に起きたことを報告できるだけです。
- 新レッスンデコーディング戦略 — 同じモデルスコアで greedy、Top-k、Top-p を比較し、temperature を変えて再学習なしに確率の集中度がどう動くかを追います。
- 新レッスン位置エンコーディング — 正弦と余弦の位置ベクトルをトークン埋め込みに加え、同じトークンでも位置ごとに異なる入力で Transformer へ渡します。
2026年9月9日
- 新レッスン単語埋め込み — 固定ベクトル空間で単語を動かし、似た文脈が近い方向になることや、反復する関係がオフセットに現れることを追います。同時に、その幾何にコーパスのバイアスが残ることも確かめます。
2026年9月8日
- 新レッスンバッチ正規化 — 学習バッチの統計量で各隠れ特徴チャネルを標準化し、学習した `γ` と `β` を適用します。固定の 6 層実験では、50 エポック目の活性値スパイクが `64.35` から `9.15` へ下がります。
- 新レッスン手書き数字から予測へ — 28×28 画像を 10 個のスコア、確率、1 つの予測数字、確信度ゲート付きの判断へ変換します。正しさを決められるのは後で照合するホールドアウトの正解だけです。
- 新レッスンN-gram 言語モデル — 固定長の履歴に対するコーパス計数から次のトークンを予測します。計数が消えたときはスムージングで有効な確率分布を作れますが、新しい文脈証拠まで生まれるわけではありません。
2026年9月6日
- 新レッスンオプティマイザー:SGD、Momentum、Adam — 3 つの更新則を同じ 20 ステップ予算で競わせます。固定した基準設定では、丸いボウルは SGD、狭い谷は Momentum、高ノイズは Adam が勝ちます。
2026年9月4日
- 新レッスンB+ 木 — 点検索では内部ページの案内キーからソート済みリーフページへ降ります。範囲検索ではリンク済みリーフを前へ走査し、ルートへ戻りません。
- 新レッスンウィンドウ関数 — 関連行から累積値や順位を計算しつつ、元の各行を残します。グループを 1 行に畳む `GROUP BY` との違いを追います。
- 新レッスン多版型同時実行制御(MVCC) — 行の複数バージョンを保持して読み取りと書き込みを重ね、新しい順に走査して読み取りスナップショットから見える最初のバージョンを返します。
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)` には入りません。
2026年9月2日
- 新レッスンSQL 結合 — 一致する行の組が結果の 1 行になります。同じ元データが INNER で 3 行、LEFT で 5 行、FULL で 6 行。3×3 のプリセットが、9 行に膨らむ掛け算を見せます。
2026年9月1日
- 新レッスンコンシステントハッシュ — キーの位置は動かさず、新ノード N4@220 が `(140, 220]` だけを引き受けます。12 個中 3 個の再配置に対し、同じハッシュを `%3 → %4` にすると 10 個が動きます。
- 新レッスン2 フェーズコミット — 全参加者が YES を投じて初めて COMMIT できます。コーディネータが決定を配る前に消えると、prepared のロックはそのまま止まり続けます。
- 新レッスンRaft コンセンサス — リーダーを選び、5 レプリカ中 3 つで現在タームのエントリをコミットします。2 台の少数派も矛盾するエントリを保持できますが、過半数の線は決して越えられません。
2026年8月30日
- 新レッスンリベース — フィーチャー側だけのコミットを古い順に新しい `main` の上へ再生します。各コミットは新しい ID を得て、ブランチ参照はすべてのパッチが成功するまで待ちます。
- 新レッスン変更を元に戻す — `restore`、soft/mixed/hard の `reset`、`revert` を、どのファイル層・どの参照・どのコミットオブジェクトを書くかで比べます。hard reset のシナリオは、`ORIG_HEAD` が作業ツリーだけのバイト列を戻せない理由を示します。
- 新レッスン字句解析と構文解析 — `12 + 3 * 4` を平坦なトークン列へ走査し、再帰下降の規則境界が `*` を右側の term の中で先に決着させ、その後で `+` が根になる様子を追います。
- 改善Git とバージョン管理の学習ルートがすべて無料になりました(タグとリリース、リベース、変更を元に戻すを含む)。
2026年8月29日
- 新レッスンタグとリリース — リリース名を 1 つのコミットに固定したまま `main` は進み続けます。タグを強制的に動かすと、公開中の名前が記録しているソースと食い違います。
- 新レッスンマージコンフリクト — コンフリクトマーカーを全部消しても、`git add` がインデックスのステージ 1/2/3 をステージ 0 へ畳むまで Git は先へ進みません。逆にマーカーごとステージすれば、Git はただのバイト列として受け取ります。
- 新レッスンリモート連携 — ローカルの `main`、キャッシュされた `origin/main`、サーバー上の `main` を切り分けます。fetch は追跡参照だけを動かし、pull は祖先関係が正しいときだけローカルブランチを動かし、push は最終判断をサーバーに委ねます。
2026年8月27日
- 新レッスンブランチと HEAD — Git の 2 段参照 `HEAD → branch → commit` を目に見える形にします。HEAD を detach すると、次のコミットはどのブランチも動かしません。
- 新レッスンFast-forward マージ — マージ元の先頭から親チェーンをたどって祖先関係を確かめ、現在のブランチ参照だけを既存のコミットへ移します。マージ元の参照もオブジェクト数も変わりません。
- 新レッスン3-way マージ — 最良の共通祖先を見つけ、衝突しない編集を親 2 つのコミットへまとめます。両ブランチを同じ行に当てると、Git はコンフリクトマーカーを残して止まります。
2026年8月26日
- 新レッスンGit の 4 つの領域 — 1 つのファイルを作業ツリー・インデックス・ローカルリポジトリ・リモートの順に追います。ステージしていない編集が 1 つあれば、commit がエディタではなくステージ済みスナップショットを読むことが分かります。
- 新レッスンスナップショットとしてのコミット — Git の実フォーマットで blob・tree・commit の ID を組み立て、変更のない README は既存 blob を再利用します。親だけを変えれば、同じ tree でも新しい commit ID になります。
2026年8月25日
- 新レッスン仮想マシン — スタック VM はバイトコードを 1 オペコードずつ取り出すので、1 + 2 \* 3 は push 3 回、次に MUL、次に ADD です。ADD を先に出すとスタックアンダーフローになります。
- 新レッスンAST → コード生成 — コード生成は後行順で木をたどり、子を先に、演算子を後にします。1 + 2 _ 3 が MUL を ADD より先に書くのは、_ が木のより深い位置にあるからで、誰かがテキストを並べ替えたからではありません。
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 に縮め、その実行を平坦部で這わせます。
2026年8月18日
- 新レッスンTLS ハンドシェイク — 双方とも鍵を送らずに同じ鍵を導出し、次にサーバーがこの接続のトランスクリプトに署名して、証明書が示す鍵を実際に持っていることを証明します。経路上の攻撃者は本物の証明書を転送し、チェーン・名前・有効期限をすべて通過しますが、この署名 1 つで倒れます。
2026年8月17日
- 新レッスンDNS 解決 — ルートと TLD のサーバーは「次に誰へ聞くか」しか答えません。だからコールドな 1 回の名前解決に 8 メッセージ、キャッシュ済みなら 2 メッセージで済みます。NXDOMAIN のプリセットでも階層を最後までたどります——名前が存在しないと言えるのは、そのゾーン自身のサーバーだけだからです。
2026年8月16日
- 新レッスン線形回帰 — 二乗誤差を文字どおり面積として描くので、1 パスの閉形式解は (x̄, ȳ) を軸に回る直線に見え、正方形は 25 分の 1 に縮みます。次に 1 点を y = −6 まで落とすと、同じ式が残り 8 点を見捨てて、その 1 つの正方形を縮めにかかります。
2026年8月13日
- 新レッスンJump Game (LeetCode #55) — 「最大でこの距離まで」跳べる規則が到達可能集合を 1 つの塊に保つので、数値 1 つが探索全体を背負います。既定の入力はその 0 を越えられますが、じょうごのプリセットはすべての弧を同じマスに積み上げて止まります。
- 新レッスン3Sum (LeetCode #15) — 一度ソートし、アンカーを固定し、残りは向かい合う 2 ポインタに任せます。O(n³) が O(n²) へ下がり、重複はハッシュ集合ではなく隣との 1 回の比較で飛ばします。
2026年8月11日
- 新レッスンBellman-Ford — 何も確定させないまま全辺を V−1 巡だけ緩和します。だから 2 巡目が 1 巡目の作った古い見積もりを直し、最後の一掃が「まだ改善している」を赤い負閉路に変えます。
2026年8月10日
- 新レッスン区間スケジューリング — 終了時刻でソートし、両立する区間を順に取ります。交換のレールが、別の最適解を枠を 1 つも失わずに貪欲解へ書き換えます。
- 新レッスンTrapping Rain Water (LeetCode #42) — 累積最大が両側の境界を露わにし、2 ポインタは小さいほうの走査中最大値で決着させます。専用の証明ビートが、まだ見ていない柱ではこの列の結論を覆せない理由を示します。
2026年8月9日
- 新レッスンLRU キャッシュ (LeetCode #146) — ハッシュマップが期待 O(1) でノードを見つけ、双方向リストがヒットのたびに最近使用へ繰り上げます。追い出しを 2 段に割ると、LRU ノードを外すだけでマップの項目を消さない場合に何が残るかが見えます。
2026年8月7日
- 新レッスンビット演算テクニック — one-hot マスクは 1 ビットだけを変え、`x & (x - 1)` は popcount のために最下位の 1 を落とします。ゼロの罠は、2 の冪判定になお `x > 0` が要る理由を示します。
2026年8月6日
- 新レッスンN クイーン — 3 つの制約キーが列と斜めの衝突を弾き、バックトラックは 3 つとも戻します。探索の集計が、26 回の候補チェックを 4⁴ 通りの素朴な行割り当てと並べます。
2026年8月3日
- 新レッスントポロジカルソート — Kahn は入次数 0 の始点を削り続け、DFS は戻るときに順序を後ろから書きます。閉路ありの対比実行が、「順序が存在する」ことと「グラフが非閉路である」ことがちょうど一致する理由を示します。
2026年8月1日
- 新レッスンビット演算の基礎 — 論理演算は出力の各ビットをその場で決め、シフトは固定幅 8 ビットのワードの中でビットを動かします。幅いっぱいシフトすると元のビットは 1 つも残らず、0 になります。
2026年7月29日
- 新レッスン最小全域木 — Prim は 1 本の木を育て、Kruskal は連結成分を併合します。同じ橋のあるグラフで、辺を選ぶ順序が違っても同じ 5 辺・重み 19 の MST に到達します。
2026年7月28日
- 新レッスンAVL 木 — キーの順序を変えずに、最初に崩れた祖先だけを再平衡します。同じ 6 回の挿入を回転なしの BST と比べると、高さ 2 で 3 回の探索、対して高さ 4 で 5 回です。
2026年7月27日
- 新レッスンナイーブベイズ — 各単語が独立に尤度の一票を投じます。だから相関する単語を繰り返すと同じ証拠を 2 度掛けることになり、情報は増えないのに確信だけが上がります。
- 新レッスンK-means クラスタリング — 各点を最も近い重心へ割り当て、各重心を平均へ動かし、イナーシャが下がらなくなるまで繰り返します。収束は保証されますが、初期位置が違えば落ち着く局所解も違います。
2026年7月26日
- 新レッスン赤黒木 — 赤で挿入し、叔父ノードの色が色替えか最大 2 回の回転かを決めます。三角形のケースで最初の回転を飛ばすと、赤と赤が隣り合う辺が残ります。
2026年7月24日
- 新レッスンサポートベクターマシン — 誤りゼロの直線は無数にありますが、サポートベクターマシンは最も広い空の回廊を取ります。サポートでない点をすべて消しても、境界は動きません。
- 新レッスン決定木 — 情報利得が軸に平行な分割を貪欲に積み上げ、長方形にします。1 段増やすと、孤立したノイズ点が自分だけの「完璧な」葉を得ます。一方、斜めの境界は階段のまま誤り続けます。
2026年7月23日
- 新レッスン編集距離 — すべての接頭辞の組について最後の編集を最安で選び、復元した +1 の操作列を数え、再生します。ずれの罠は、6 か所の位置ずれを削除 1 回と挿入 1 回に還元します。
2026年7月21日
- 新レッスン最長共通部分列 — 接頭辞表を 1 つ埋め、最適な順序付き共通部分をたどり直します。貪欲の前置きは a[0] の A を b[3] に充て、BDC を焼き、ABA(3)で止まります。DP は BCBA(4)を取り戻します。
2026年7月20日
- 新レッスンルーティングプロトコル — 距離ベクトルは隣人の古い数値を信じ、ループの中で無限へ数え上げてしまいます。リンクステートは変化した地図をフラッディングし、Dijkstra が経路を見つけられなければそのルートを落とします。
- 新レッスンk 近傍法 — 学習の段階がありません。問い合わせのたびに保存済みの全点との距離を測ります。同じ距離のもとで、k = 1 はラベルを誤った 1 サンプルの周りに島を作り、k = 9 は本物の飛び地を消します。
2026年7月16日
- 新レッスントライ木 — 共通接頭辞は 1 本の経路を共有し、問い合わせは 1 文字につき 1 辺を消費します。`startsWith("ca")` と `search("ca")` の対比が、終端マークがなければ「たどれる経路」は「保存した単語」ではないことを示します。
2026年7月15日
- 新レッスンKMP 文字列マッチング — 不一致の後は既知で最長の接頭辞・接尾辞の境界を再利用し、同じテキスト文字をもう一度試します。`advance i (bug)` のバリアントは、早すぎるインクリメント 1 つが本物の一致を飛ばす様子を見せます。
- 新レッスンRabin-Karp — 固定幅の窓ごとに指紋を転がし、ハッシュが一致したときだけ文字を確かめます。衝突のシナリオは、ハッシュの一致が候補であって一致ではないと示します。
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 の境界はその場に釘付けのままです。
2026年7月12日
- 新レッスン変数と代入 — ミューテーションは共有オブジェクトを編集し、代入は名前の束縛を移すだけです。イミュータブルな整数への `+=` が、構文だけではどちらが起きたか判別できないと証明します。
2026年7月11日
- 新レッスン状態機械 — 同じ `push` が施錠中は拒まれ、解錠中は通ります。振る舞いはイベント単体ではなく `(state, event)` の組に属するからです。
2026年7月8日
- 新レッスンOSI / TCP-IP モデル — OSI は 7 つの役割に名前を与え、TCP/IP はそれを 4 つにまとめます。Ethernet + IP + TCP のリクエスト 1 本が受け取る外装は 7 枚ではなく 3 枚です。ルーターは HTTP メッセージを開かずにリンク層の外装だけを取り替えます。
- 新レッスンスレッドと同期 — `counter += 1` は読み・加算・書きに分かれます。だから既定のインターリーブでは 6 回の加算要求が 4 で着地します。ミューテックスなら 6 に届き、ロック順を逆にするとデッドロックに届きます。
2026年7月3日
- 新レッスンサブエージェント — `Task` はまっさらな `messages[]` の上で同じエージェントループを回すので、雑多な検索 4 回が主コンテキストには結果カード 1 枚しか残しません。同じ壁のせいで、子はプロンプトが運ばなかった補足を取りこぼします。
2026年7月2日
- 新レッスン線形探索 — 先頭から順に調べ、最初の一致で止まります。だからコストは対象の位置そのもので、見つからなければ n 個すべてを走査します。ソート済みの入力を要求しない唯一の探索です。
2026年7月1日
- 新レッスン木の走査 — 前順・中順・後順は同じ 1 回の深さ優先の歩みです。出力の順序を変えるのは `visit(node)` の位置だけで、偏った木ではコールスタックが深さ n に達します。
2026年6月30日
- 新レッスンスライディングウィンドウ — 1 つの窓が右端を伸ばし左端を縮めて、部分配列を O(n) で走ります。負の値が現れると、その貪欲な縮小が成り立たなくなります。
2026年6月29日
- 新レッスン2 ポインタ — ソート済み配列の両端から添字を 1 つずつ内側へ進め、収まらないほうの端を落とします。ソートされていない入力では、本物の組を黙って飛ばします。
- 機能ソート・探索・データ構造のレッスンに「シナリオ」の行を追加しました。見る価値のある境界ケース(本物の衝突、鎖に潰れた木、スタックオーバーフロー)へワンクリックで飛べます。
2026年6月27日
- 新レッスン基数ソート — 整数を 1 桁ずつ安定なバケットへ入れ、2 つの値を一度も比較しません。キーが広いケースが、O(d·n) というコストを美化させません。
2026年6月25日
- 新レッスン動的配列 — 連続した領域で O(1) の添字アクセスを得る代わりに、挿入と削除でずらすコストを払います。
- 改善「次を予測する」クイズを Two Sum / 二つの和 (LeetCode #1) に導入しました。総当たりとハッシュマップの両方に対応します。
2026年6月24日
- 新レッスン木の基礎 — 根・葉・深さ・高さを、同じノード集合を 3 通りの高さに組み替えて見ます。
- 新レッスンUnion-Find — `parent[]` の上の森として互いに素な集合を表し、ランクによる併合と経路圧縮を添えます。
2026年6月23日
- 新レッスンコインの両替 — 貪欲と DP を同じ数直線に並べ、貪欲なつかみ取りがどこで行き詰まるかを見せます。
2026年6月20日
- 新レッスン0/1 ナップサック — DP 表を行ごとに埋め、どの品物を詰めたのかをたどり直します。
2026年6月19日
- 新レッスンCPU パイプライン — 5 命令が IF・ID・EX・MEM・WB にまたがって重なります。フォワーディングがないと、2 つの Read-after-Write ハザードが理想の 9 サイクルを 13 に延ばし、失われたサイクルはすべてバブルとして見えます。
- 新レッスン浮動小数点数 (IEEE 754) — binary16 は 0.1 を最も近い目盛りとして格納します。2 進小数が無限に循環するからです。指数が 1 段上がるごとに、隣り合う値の間隔は 2 倍になります。
2026年6月16日
- 新レッスンURL → ページ描画 — 1 回のページ読み込みを DNS・TCP・TLS・HTTP・キャッシュ・描画まで追うキャップストーンです。
2026年6月15日
- 新レッスンDijkstra
- 機能MNIST 数字分類器 と 学習ループ に再生 / 一時停止 / リセットと動画録画を追加しました。
- 改善録画レッスン・対話型データ構造・実時間ニューラルネットの間で、再生の挙動を統一しました。
2026年6月14日
- 新レッスンTransformer ブロック — 残差ストリームがアテンションと MLP を通って上へ運ばれ、洗練されはしても置き換えられることはありません。
- 機能共有と埋め込み — そのときの入力のままレッスンを開き直せるリンクをコピーしたり、動くプレイヤーを自分のページへ埋め込んだりできます。
- 機能書き出し — ⋯ メニューから、現在のフレームを PNG で保存するか、解説全体を動画に録画できます。
- 機能お問い合わせページを追加しました。レッスンの埋め込み方、クリップの書き出し方、授業での使い方を案内しています。
- 改善バブルソート に境界プリセットを追加しました。最良・最悪・ほぼ整列済み・全要素同一をワンクリックで切り替えられます。
2026年6月13日
- 機能「次を予測する」クイズ — まず バブルソート で無料のお試しとして提供します。試行ごとに配列を引き直すので、答えを思い出すのではなく頭の中でアルゴリズムを走らせることになります。
- 機能機能ページを作り直しました。すべての機能を手描きの小図で示しています。
- 改善ReAct ループとツール呼び出しを、スクリプトではなく実際に録画したモデルのトレースで動かすようにしました。
- 改善バブルソートの解説を、映画的なカメラの流れで再編集しました。
2026年6月12日
- 新レッスンツール呼び出し
- 新レッスンReAct ループ
- 新レッスンRAG:検索拡張生成
- 新レッスンコンテキストと記憶
- 機能コンテンツ保護 — AI 学習クローラーの遮断、TDM 留保の宣言、チャンク名のハッシュ化を行いました。
2026年6月10日
- 新レッスンパーセプトロン
- 新レッスンステップ数で理解する Big-O
- 改善AI レッスンを現象の基準に合わせて改修しました。各レッスンに対比実験と失敗例を 1 つずつ用意しています。
2026年6月9日
- 機能トースト、キーボードショートカット、共有リンク、レッスン間の滑らかなビュー遷移を追加しました。
2026年6月5日
- 新レッスン幅優先探索
- 機能Radix luma のインターフェーステーマと、キャンバス背景の切り替えを追加しました。
2026年6月4日
- 新レッスンプロセススケジューリング — FCFS・SJF・ラウンドロビンを 1 枚のガントチャートに並べ、短いジョブが長いジョブの後ろで待たされる様子を見せます。
- 新レッスンマルチレベルフィードバックキュー
- 機能コードパネルの多言語対応 — ソート・探索・DP・データ構造のレッスンに JavaScript を追加しました。
- 改善バブルソートと Two Sum にバリアント切り替えを追加しました(通常版と最適化版、総当たりとハッシュマップ)。
2026年6月1日
- 機能無料で始められる継続機能 — ブックマーク、保存した入力、進捗を、サインインすれば端末をまたいで同期します。
- 機能保存した入力と進捗のための、タブ付きライブラリを /library に用意しました。
- 改善モバイルレイアウト — プレイヤー・パネル・キャンバスがスマートフォンで整然と積み重なり、拡大縮小します。
- 改善利用規約とプライバシーポリシーを、セクションナビゲーション付きで作り直しました。
2026年5月26日
- 新レッスン勾配降下法
- 新レッスンTCP ハンドシェイク
2026年5月23日
- 新レッスンマージソート — 既定で重複キーを含む配列を使うので、安定性が保たれる様子が見えます。
- 新レッスンフィボナッチとメモ化 — 同じ入力に 3 つのモード:再帰木、メモ化、表。
2026年5月20日
- 新レッスン順伝播 — 実際に学習済みの MLP を層ごとに:重み付き和 → ReLU。
- 新レッスンMNIST 数字分類器 — ブラウザで数字を書き、ネットワークが判断する様子を見ます。
2026年5月18日
- 新レッスン再帰とコールスタック — 呼び出しごとに、ローカル変数と終わっていない掛け算を抱えたフレームが残ります。`fact(4)` は付箋を 4 枚積み、巻き戻しながら 1、2、6、24 を返します。
- 新レッスン輻輳制御 — Reno は `ssthresh` まで窓を倍にし、その後は RTT ごとに 1 パケットずつ足します。重複 ACK 3 回で窓は半分、タイムアウトで 1 に戻ります。送信側は経路をあふれさせることでしか、その太さを知れません。
2026年5月17日
- 新レッスンヒープ
- 機能「解説」タブ — すべてのレッスンが、アニメーションの隣に文章の解説を備えるようになりました。
- 機能フィードバック — どのレッスンからでも、メモやスクリーンショットを送れます。
2026年5月11日
- 新レッスンTwo Sum / 二つの和 (LeetCode #1) — 同じ配列で、総当たりとハッシュマップを並べて走らせます。
- 新レッスン二分探索木
- 機能利用規約とプライバシーポリシーのページを公開しました。
2026年5月8日
- 新レッスンハッシュテーブル — チェイン法
- 新レッスンハッシュテーブル — 線形探索法
2026年5月4日
- 新レッスン連結リスト
- 改善データ構造のレッスン全体で、矢印とポインタの動きを滑らかにしました。
2026年5月1日
- 機能最初の公開トップページ — トピックの紹介、機能ツアー、ロードマップの予告を載せました。
2026年4月8日
- 機能コード / 可視化 / ログの各パネルをリサイズできるようにしました。
2026年3月29日
- 機能同期するコードパネル — アニメーションの再生に合わせて、実行中の行がハイライトされ、ステップログが埋まっていきます。
2026年3月17日
- 新レッスン選択ソート
- 機能インターフェース全体を English・中文・日本語に対応させました。
- 機能Google サインイン。
2026年3月14日
- 新レッスンバブルソート — VizLearn の最初のレッスンです。
2026年2月
- 機能VizLearn 始動 — 最初のコミット。