echoのSHA-256が一致しない理由 改行とPowerShellの文字コード abc の SHA-256 は、echo と PowerShell 5.1 で別の値になる。末尾改行、CRLF、BOM、文字の ? 置換をバイト列で実測し、一致しないハッシュの原因を総当たりで特定するスクリプトを示す。 2026-11-08 開発ツール・効率化 #Node.js #文字コード #SHA-256 #PowerShell
new URLとurlsplitでホスト名が食い違う7つのURL Node.jsのnew URLとPythonのurlsplitは、12個のURL中7個で違うホスト名を返した。バックスラッシュ、127.1、全角文字で許可リストをすり抜ける仕組みを仕様で説明し、判定を一本化するコードを示す。 2026-11-07 プログラミング #Python #Node.js #セキュリティ #URL
JSONLがreadlineとsplitlinesで壊れる U+2028の落とし穴 JSON.stringifyが素通しするU+2028を含むJSONLは、Nodeのreadlineとstr.splitlinesで行が割れる。4件中1〜2件しか読めない実測と、切れる文字の全調査、生成側と読み側の対策を動くコードで示す。 2026-11-06 プログラミング #Python #Node.js #Unicode #JSONL
コントラスト比「4.50:1」なのにWCAG AAで不合格になる理由 小数2桁で4.50:1と表示されてもWCAGのAAに届かない色がある。比は丸めずに4.5と比べるのが規則で、白背景だけで9,074色が該当する。0.03928と0.04045の閾値差が8bitでは結果を変えないことも確かめる。 2026-11-05 プログラミング #JavaScript #色 #WCAG #アクセシビリティ
\ud83d\ude00を絵文字に戻す:unicode_escapeが化ける理由 JSON の \ud83d\ude00 は絵文字1文字だが、Python の unicode_escape で戻すと2文字の片割れになり UTF-8 に書けない。json.loads・surrogatepass・isWellFormed で正しく戻す手順を実測で示す。 2026-11-04 プログラミング #Python #JavaScript #JSON #Unicode
ISO 8601のP1DT12HとPT36Hは夏時間の日に1時間ずれる 期間表記の P1DT12H と PT36H は秒にすると同じ129600秒だが、夏時間の切り替え日に足すと結果が1時間ずれる。Temporal と Python で実測し、P1M・P1W3D・小数の扱いも比べる。 2026-11-03 プログラミング #Python #JavaScript #ISO 8601 #Temporal
CSVの引用符1個で後ろの行が1セルに化ける理由と厳密パーサー 引用符で囲まない値に " が1個混じると、よくある自作CSVパーサーは後ろの行をすべて1セルに飲み込む。RFC 4180 の規則と Python csv の結果を比べ、位置つきで止める厳密パーサーを書く。 2026-11-01 プログラミング #Python #JavaScript #CSV #RFC 4180
Set-CookieのMax-Age=1wは期限なしになる理由とChrome実測 Set-Cookie の Max-Age=1w や 60.5 は属性ごと無視され、セッションクッキーになる。RFC 6265bis の手順と Chromium 152 で16通りを実測し、仕様と食い違う2件と400日上限を示す。 2026-10-31 プログラミング #Node.js #HTTP #Cookie #RFC 6265
new Date('2026-10-30')はUTC、T00:00はローカルになる理由 new Date('2026-10-30') は UTC、'2026-10-30T00:00' はローカルの0時になる。仕様の該当箇所と11通りの書き方の実測、ローカル日付として読む関数と検出スクリプトを示す。 2026-10-30 プログラミング #JavaScript #Date #タイムゾーン #ECMAScript
.envの#以降が消える Node・dotenv・Composeの差を実測 PASS=abc#123 は Node の --env-file と dotenv では abc に、python-dotenv と Docker Compose では abc#123 のまま読まれる。4つのパーサーで同じ .env を読み比べ、引用符なしの 2026-10-29 開発ツール・効率化 #Node.js #dotenv #Docker Compose #python-dotenv