ガイド
ツールの仕組みとその背後にある考え方を掘り下げたオリジナル記事 — バーコードのチェックディジットから、進数、エンコーディング、ブラウザのプライバシーまで。
-
プログラムを通ると数値が変わる理由
0.1 足す 0.2 が 0.30000000000000004 になり、長いIDは末尾の桁を失い、合計が一円ずれる。その大半は、数値が決まったビット数の中で二進の分数として保存される、というひとつの設計判断から来ています。
-
文字が化けて変な記号になる理由
名前が é になったり、日本語のファイルが読めない文字の壁になったり、記号がすべて黒い菱形になる。テキストはバイトとして保存され、文字コードはそのバイトが何を意味するかという取り決めにすぎないので、化け方そのものが、どの取り決めが食い違ったかを教えてくれます。
-
QRコードが一部のスマートフォンで読めない理由
自分の机の上では読めるのに、ポスターでは読めない。QRコードは、余白の中にある三つの角の四角を見つけて読み取る仕組みなので、読み取り失敗のほとんどは中身のデータではなく、余白と明暗差と大きさの問題です。
-
PDFで検索ができない理由
ページの文字はすべて読めるのに、検索ボックスは何も見つけず、選択しようとすると画像が選ばれる。PDFのページは描画命令の集まりであり、スキャンされたページは写真を一枚描いているだけなので、見えている文字はそもそも文字として保存されていません。
-
アップロードすると写真が回転してしまう理由
スマートフォンでは正しい向きに見えていた写真が、アップロードした先では横倒しになる。ピクセルが動いたわけではありません。カメラはセンサーが読んだままの向きで保存し、どちらが上かを覚え書きとして添えているだけで、その覚え書きをすべてのプログラムが読むわけではないのです。
-
MP3のタグがプレーヤーごとに違って見える理由
あるプレーヤーでは古いアルバム名、別のプレーヤーでは新しい名前が出て、ジャケット画像はスマートフォンにしか表示されない。多くの場合、ファイルはタグを二組持っていて、どちらを信じるかがプレーヤーごとに違います。
-
Excel が CSV を壊す理由と、その止め方
先頭のゼロが消え、長い注文番号の末尾が変わり、商品コードが日付になる。バグではなく、Excel がファイルを開きながらフィールドごとに型を推測しているからです。
-
Unicode 正規化と見えない文字
見た目が同じ2つの文字列が等価判定に失敗する理由、NFC・NFD・NFKC・NFKD が実際に行うこと、貼り付けたテキストに潜む見えない文字、そしてテキストを安全に扱うための規則。
-
ごまかさずに理解する IP アドレスとサブネット
IP アドレスの正体、CIDR 表記の読み方とプレフィックス内のホスト数、決してルーティングしてはいけない範囲、IPv6 で変わる計算、そしてアドレスを文字列として並べ替えると壊れる理由。
-
cron のスケジュールは実際どう動くか
cron の5つのフィールドと構文、ほぼ全員が誤解する「日」と「曜日」の規則、夏時間が夜間ジョブに与える影響、そして再起動にも耐えるスケジュールの設計。
-
実務のための正規表現
正規表現エンジンが文字列をどう走査するのか、アンカーと貪欲な量指定子が結果を変える理由、破滅的バックトラッキングとは何か、そしてパターンで解析してはいけない形式。
-
色のコントラストとアクセシブルなパレット
WCAG のコントラスト比が実際に測っているもの、問題なく見える色がなぜ不合格になるのか、色覚特性が何を変えるのか、そして破綻しないパレットの作り方。
-
CSV を壊さずに扱う
CSV がいつも狂う理由 — 引用符、区切り文字、文字コード、先頭のゼロと日付 — そして表計算・JSON・SQL の間でデータを黙って壊さずに移す方法。
-
パスワードとパスフレーズ:本当に強さを決めるもの
なぜ長さが記号への置き換えに勝るのか、強度メーターはどこで誤解を招くのか、パスフレーズの仕組み、そして二要素認証が守るものと守らないもの。
-
ウェブ向けの画像圧縮とリサイズ
見た目を損なわずに画像を軽くする方法 — 圧縮の前にリサイズし、適切な形式を選び、品質スライダーが実際に何をしているのかを理解する。
-
バグなくタイムゾーンと Unix タイムスタンプを扱う
ソフトウェアで時間を正しく扱うのがなぜ難しいか — UTC、Unix タイムスタンプ、タイムゾーン、夏時間 — そして最も一般的な日付処理バグを防ぐ少数の規則。
-
ID 形式の選び方: UUID、ULID、Snowflake、自動採番
識別子 — 自動採番の整数、UUID v4/v7、ULID、Snowflake ID — を選ぶ実用ガイドと、一意性・順序・サイズ・プライバシーのトレードオフ。
-
ハッシュ化 vs 暗号化 vs エンコード: 何が違うのか
絶えず混同される3つの用語 — ハッシュ化、暗号化、エンコード — を明快に解説。それぞれの用途、いつどれを使うか、避けるべき誤りまで。
-
進数とテキストエンコーディング: 開発者向けチートシート
2進数・8進数・10進数・16進数の実用入門と、UTF-8・Base64・URL エンコーディングを通じてテキストがバイトになる仕組み — 実際に必要な規則。
-
ブラウザ内ツールがデータを守る理由
クライアントサイドのツールがどう動くか、ブラウザ内で完結することがなぜデータが端末を離れないことを意味するのか、そしてその主張を自分で検証する方法。
-
バーコードのチェックディジットの仕組み (EAN-13, UPC-A, EAN-8)
小売バーコードの GS1 モジュロ10 チェックディジットを、明快かつ実用的に解説します — どう計算され、なぜ誤りを検出し、手作業で検証する方法まで。