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

音声コーデックの進化 ― PCMからMP3、Opus、そしてAIコーデックへ
CD品質の1411kbpsがなぜ3kbpsで再現できるのか。PCM→MP3→AAC→Opus→Lyra/EnCodecまで40年の音声圧縮技術の進化を、仕組み・ビットレート比較・特許事情とともに完全解説します。

電子透かしの技術全解剖 ― 可視・不可視・C2PA、AI生成画像時代の攻防
AI生成画像の時代に電子透かし(ウォーターマーク)技術がどう進化しているかを解説。可視透かしと不可視透かしの仕組み、DCT領域埋め込み、C2PA/Content Credentials規格、Google SynthIDまで技術的に深掘り。

cron式の完全解説 ― 5つの星が生まれた歴史、書き方、そしてハマりどころ
cronの5フィールド形式がなぜ生まれたのか、UNIX V7からVixie Cron、そしてAWS/GitHub Actions/Kubernetesの方言まで歴史を辿り、実践的な書き方・よくある罠を完全解説します。

和暦の仕組みと改元の歴史 ― 大化から令和、そしてシステム対応の苦闘
元号は大化(645年)から令和まで248個。73種の漢字が使われ、最長は昭和の62年、最短は暦仁の74日。1979年の元号法、令和改元時に全国で発生したシステム障害10件の実例、Microsoft・Unicode・JIS X 0301の対応まで、一次資料をもとに徹底解説します。

色覚多様性とWebアクセシビリティ ― P型・D型・T型の見え方とデザイン実践ガイド
日本人男性の約5%が持つ色覚特性。P型(1型)・D型(2型)・T型(3型)の違いを科学的に解説し、WCAGに基づくアクセシブルなWebデザインの実践手法をシミュレーション図とともに紹介します。

文字コード戦争 — Shift_JIS vs EUC-JP vs UTF-8、日本語Webが経験した混沌
なぜ日本語には3つも文字コードがあったのか。Shift_JISの「5C問題」、EUC-JPのUnix支配、ISO-2022-JPのメール世界、機種依存文字の闇、そして絵文字がUnicodeに統合されるまでの30年史を技術的背景から解説します。

DPI vs PPI — 画面と印刷で「解像度」が違う理由
DPIとPPIは混同されがちですが、成り立ちも計算方法も異なります。なぜ印刷は300DPIが標準なのか、Retinaディスプレイの2xとは何か、用途別の最適解像度を技術的背景から解説します。

BPMとディレイタイム — テンポから逆算する音楽制作の数学
BPM(テンポ)から音符のミリ秒を計算する公式、付点・3連符への展開、ディレイタイムをテンポに同期させる実務テクニック、タップテンポの統計的推定まで。DTM・音楽制作で使う「テンポの数学」を一次資料から整理します。

体感温度の物理 — 風速と湿度はなぜ「暑さ・寒さ」を変えるのか
同じ気温でも「寒い」と「暑い」が変わるのはなぜか。Wind Chill(風速冷却)の JAG/TI モデル、暑さ指数 WBGT、ミスナールの体感温度式を一次資料から整理し、体感温度の物理と計算を解説します。

ハッシュ関数はなぜ「元に戻せない」のか — MD5の崩壊からSHA-3まで
ハッシュ関数の一方向性はどこから来るのか。2004年の王小雲によるMD5衝突攻撃、2017年のGoogleによるSHA-1 SHAttered、SHA-256のMerkle-Damgård構造、SHA-3のスポンジ構造を一次資料から整理します。

バーコードの数学 — EAN-13 のチェックデジットとモジュール設計はなぜこうなったのか
コンビニの商品に印刷されている13桁のバーコード(JAN/EAN-13)。その1本1本の線にはmod10チェックデジット、奇数・偶数パリティ、左右ガードパターンなど緻密な設計が詰まっています。1974年のUPC誕生から現代のGS1体系まで、一次資料で構造を読み解きます。

平均律と純正律 — なぜピアノのCメジャーコードは「微妙にずれている」のか
ピアノでCメジャーコード(C-E-G)を弾くと、数学的に完璧な和音からわずかにずれた音が鳴ります。その原因は12音平均律の設計にあります。本記事では、純正律との周波数比較、うなり(ビート)の物理、音律の歴史的変遷を一次資料から整理します。

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 機体制までの最新動向を整理します。