📝ブログ
各ツールの背景にある知識、Web開発・ヘルスケア・デザインで実務的に役立つ解説記事をお届けします。

IP アドレスとサブネット — クラスフルから CIDR (RFC 4632) への移行、/24 の意味
IP アドレスの「/24」はなぜ 24 なのか。1981 年の RFC 791 で定義された Class A/B/C の固定分類は 1990 年代に枯渇危機を迎え、1993 年の CIDR (RFC 1519→RFC 4632) で柔軟なプレフィックス長に置き換わりました。サブネットマスクの AND 演算から RFC 1918 のプライベートアドレス、2011 年の IANA 中央プール枯渇まで、一次資料で辿ります。

Huffman 符号 (1952) — MIT の学期末レポートが生んだ最適圧縮アルゴリズム
1952 年、MIT の大学院生 David Huffman が学期末レポートとして提出した「最小冗長符号の構成法」は、JPEG・gzip・PNG・MP3・HTTP/2 の内部で今も動いています。Shannon-Fano 符号を超える最適性の証明、貪欲法による木の構築、そして DEFLATE (RFC 1951) や HPACK (RFC 7541) での実装を、原論文と RFC を一次資料に整理します。

HTTP ステータスコードの設計思想 — RFC 9110 の 5 クラス分類と歴史的コードの運命
HTTP ステータスコードはなぜ 3 桁なのか、なぜ先頭の数字でクラス分類されるのか。HTTP/0.9 (1991) にはステータスコードが存在せず、RFC 1945 (1996) で初めて定義されました。RFC 9110 (2022) で再整理された現在の体系を一次資料で辿り、418 I'm a teapot や 451 Fahrenheit、25 年間 reserved のままの 402 など、個性的なコードの物語も紹介します。

UTF-8 の誕生 — Rob Pike と Ken Thompson がダイナーのランチョンマットに書いた設計
1992 年 9 月、ニュージャージーのダイナーで Rob Pike と Ken Thompson がランチョンマットの裏に書いた符号化方式が、現在 Web の 98% を占める UTF-8 になりました。ASCII 互換・自己同期・バイト順非依存という設計判断の背景を、Pike 本人の証言メール (2003) と RFC 3629 を一次資料に辿ります。
![CSS cubic-bezier() の数学 — なぜ x を [0,1] に制限し、Newton-Raphson で t を解くのか](/_next/image?url=%2Fblog%2Fcss-cubic-bezier-math-newton-raphson.png&w=3840&q=75)
CSS cubic-bezier() の数学 — なぜ x を [0,1] に制限し、Newton-Raphson で t を解くのか
CSS の cubic-bezier(x1,y1,x2,y2) は 4 制御点のうち P0=(0,0), P3=(1,1) を固定し、x1/x2 を [0,1] に制限しています。この制約の数学的根拠 (x(t) の単調性保証) と、アニメーション時に Newton-Raphson 法で逆関数 t(x) を解く仕組みを、W3C CSS Easing Functions Level 2 を一次資料に解説します。

リード・ソロモン符号の数学 — 有限体 GF(2⁸) から Voyager・QR・Blu-ray まで
1960 年に MIT Lincoln Lab で発表された Reed-Solomon 符号は、QR コード・CD/DVD/Blu-ray・深宇宙通信 (Voyager 2)・地上デジタル放送 (DVB) を支える誤り訂正の基盤技術です。有限体 GF(2^8) 上の多項式評価という原理から、符号化・シンドローム計算・誤り位置多項式の求解まで、原論文と CCSDS/ISO 規格を一次資料に整理します。

TOTP の仕組み — 6 桁コードがどう 30 秒同期するのか、RFC 6238 と HMAC-SHA-1 を読む
Google Authenticator / Authy で表示される 6 桁の数字、なぜ世界中のスマホとサーバで 30 秒ごとに同じ値になるのか。RFC 4226 (HOTP)、RFC 6238 (TOTP)、HMAC-SHA-1 の動的トランケーションを式と擬似コードで解読し、Passkey への移行潮流まで整理します。

JJY 標準電波 — 電波時計を 1 ミリ秒で同期する 40kHz / 60kHz の正体 (NICT 公式)
電波時計が「自動で正確になる」理由。福島県のおおたかどや山 40kHz と佐賀県のはがね山 60kHz、深夜にしか届かない理由 (電離層 D 層)、BCD タイムコード、うるう秒の伝達、海外の WWVB / DCF77 / MSF まで。NICT (情報通信研究機構) 公式仕様書を一次資料に整理します。

Fisher-Yates シャッフル — くじ引き・ルーレットを支える 1938 年生まれの「公平な並び替え」アルゴリズム
「配列をランダムに並び替える」コードを書くとき、`arr.sort(() => Math.random() - 0.5)` と書いていませんか? 実はこれは偏ります。1938 年 Fisher & Yates の統計学テーブルから始まり、1964 年 Durstenfeld が線形時間化、1969 年 Knuth が TAOCP で標準化 — 公平なシャッフルの正解アルゴリズムを一次資料で整理します。

緊急地震速報の仕組み — P 波と S 波の速度差で揺れを「予告」する物理学と気象庁 17 年史
スマホが「緊急地震速報」と鳴る数秒〜数十秒後に揺れがやってくる — この「未来の予測」は超能力ではなく、P 波 (約 7 km/s) と S 波 (約 4 km/s) の速度差を使った地震学の応用です。気象庁の 2007 年運用開始から PLUM 法 (2018) 改良まで、JMA 公式資料を一次資料に整理します。

Mersenne Twister 1998 — サイコロ・くじ引き・パスワードを支える日本発の世界標準乱数アルゴリズム
Python の random、C++ の <random>、PHP の mt_rand、Excel の RAND、MATLAB / R / Ruby — 世界の主要言語のデフォルト乱数の中核に「メルセンヌ・ツイスタ」(松本眞・西村拓士 1998) があります。周期 2^19937-1、広島大学発の日本発標準アルゴリズムを一次資料で読み解きます。

みちびき (QZSS) の実用例 — i-Construction、自動運転トラクタ、災害通報、iPhone まで日本のインフラを支える衛星
昨日の GPS 解説の続編。日本の準天頂衛星「みちびき」が実際にどこで使われているか — コマツの建機、クボタ・ヤンマーの自動運転トラクタ、災害時の衛星警報、そして iPhone 8 以降の全機種まで。内閣府公式の事例集を一次資料に、QZS-7 / 7 機体制までの最新動向を整理します。

画像スケーリングのアルゴリズム — Lanczos 1956 から Mitchell-Netravali 1988、bilinear/bicubic の数学
画像を 2 倍に拡大するとピクセルが見える、縮小すると線が消える。なぜ起きるのか、どのアルゴリズムを使うべきか。Nyquist-Shannon サンプリング定理を出発点に、Nearest / Bilinear / Bicubic / Lanczos / Mitchell-Netravali の違いを 1956 年の原典から整理します。

GPS の仕組み — NAVSTAR・準天頂衛星みちびき・1 日 38 μs ずれる相対性理論補正
スマホの位置情報、宅配の到着時刻予測、自動運転 — GPS は 24 時間動いていますが「なぜ場所がわかるのか」を答えられる人は少ない。米国 DoD の NAVSTAR、日本の QZSS みちびき、そして特殊+一般相対性理論で 1 日 38 μs ずれる補正まで。内閣府・JAXA・DoD の一次資料で整理します。

画像のディザリング — Floyd-Steinberg 1976 から GIF 256 色・ASCII アートの量子化まで
GIF が 256 色制限なのに自然なグラデーションに見え、ASCII アートが 70 文字で 256 階調を表現できる秘密は「ディザリング」にあります。1973 年の Bayer 行列、1976 年の Floyd-Steinberg 拡散誤差法、Atkinson、Stucki、Sierra 系列まで — 半世紀続くアルゴリズムの数学を一次資料で整理します。

うるう秒の終わり — 1972 年から 2035 年廃止までの 50 年史と UTC・原子時の仕組み
2022 年 11 月、第 27 回国際度量衡総会 (CGPM) が「2035 年までにうるう秒を廃止する」決議 4 を採択しました。なぜ 50 年続いた制度が終わるのか — TAI / UTC / UT1 の3つの時刻系、IERS が観測する地球自転の遅れ、Google・Meta などインターネット企業の要請まで、ITU-R / BIPM / NIST / 国立天文台の一次資料で整理します。

GIF と LZW 特許 — 1984 年 Welch 論文から特許失効までの20年史
GIF が長らく「特許で縛られたフォーマット」と言われた時代がありました。Lempel-Ziv 1978 の系譜、Welch 1984 の改良、Unisys の特許主張 (1994 GIF tax)、対抗としての PNG 誕生 (1996)、そして米国・欧州・日本での特許失効 — 20 年にわたる経緯を、IEEE 論文と一次資料で整理します。

SVG path の M/L/C/Q/A — Bézier 曲線と楕円弧、W3C SVG 2 を読む
SVG の path 要素は M/L/C/Q/A など 10 種類のコマンドで構成されます。背景には Pierre Bézier (1962, Renault) の曲線理論、Paul de Casteljau のアルゴリズム、そして楕円弧の endpoint→中心点変換式があります。W3C SVG 2 仕様 §9 を一次資料として、各コマンドの数学を実例で読み解きます。

心拍ゾーンと Karvonen 式 — 「220-年齢」を否定した Tanaka 2001 と運動強度の科学
「最大心拍数 = 220 - 年齢」「脂肪燃焼ゾーンは心拍数 110-130」 — 広く流布するこれらの俗説の科学的根拠は意外なほど薄弱です。Karvonen 1957、Tanaka 2001 J Am Coll Cardiol、ACSM ガイドラインを一次資料に、心拍数で運動強度を管理する正しい考え方を整理します。

ROI と ROAS の使い分け — 「ROAS 300%」が本当に黒字か、数式で読み解く
広告運用やマーケティングで頻出する ROI と ROAS。どちらも「費用対効果」を示しますが、計算式と意味が大きく違います。利益ベース vs 売上ベース、原価・税の扱い、LTV/CAC との関係を一次資料で整理し、実務での判断基準を示します。

パスワード強度とエントロピー — Shannon と NIST SP 800-63B の数学
「強いパスワード」とは何か。Shannon の情報エントロピー理論と NIST SP 800-63B (2017年改訂) に基づいて、ビット単位で定量化できます。記号混在が実は大した足しにならない理由、Diceware 方式、定期変更が禁忌となった背景を一次資料で解説します。

CSS color-mix() と OKLCH — ブランドカラーから自動でホバー/無効色を導く設計
CSS Color Module Level 5 の color-mix() と、知覚均等色空間 OKLCH を組み合わせると、ブランドカラー1つから派生色(ホバー・アクティブ・無効・ボーダー)を数式で自動生成できます。CIE 1931 から OKLCH までの色空間の進化と、実務的な設計パターンを解説します。

スマホ写真の EXIF と GPS 情報 — どこまで漏れていて、どう守るか
スマホで撮った写真には、GPS座標・撮影日時・機種・シリアル番号まで記録されています。Exif 2.32 / TIFF 6.0 仕様に基づく技術的実態と、SNSごとの自動削除の実態、iOS/Android設定、実用的な対処を整理します。

CSV の RFC 4180 と Excel の独自仕様 — なぜ CSV は壊れるのか
CSV は「誰でも扱えるシンプルな形式」と思われがちですが、RFC 4180 の厳密な仕様と Excel の独自仕様には無視できない差があります。BOM・Shift-JIS・改行コード・引用符エスケープの4大トラブルと、実務での回避策を一次資料で解説します。