Nano IDが%を使わない理由 — 36文字なら256中112を捨てる 乱数バイトを % 文字数 で文字に変えると、62文字なら先頭8文字が1.25倍出やすくなる。Nano ID の customAlphabet のマスクと棄却、1回に取るバイト数 step を、256通りの全数と10万回の試行で確かめる。 2026-10-13 プログラミング #JavaScript #Node.js #Nano ID #乱数
4月1日生まれが早生まれになる理由 — 民法143条をJSで計算 年齢は誕生日の前日が終わる時点で加算されるため、4月1日生まれは3月31日に6歳に達し、前の学年に入る。年齢計算ニ関スル法律と民法143条を条文どおりJSに書き、1〜3月判定とのずれを確かめる。 2026-10-12 プログラミング #JavaScript #Node.js #Date #年齢計算
cronの日と曜日はOR照合 — */2始まりだとANDになる理由 cron は日と曜日の両方を指定すると OR で照合し、1-7 * 1 は第1月曜でなく11日動く。cronie はフィールドの先頭が * かで判定するため */2 * 1 は AND になる。ソースと Node.js の列挙で確かめる。 2026-10-11 開発ツール・効率化 #cron #crontab #cronie #Linux
ローマ数字のⅫを読む — NFKCと往復判定で正規形だけ通す ローマ数字は、合計を正規形に戻して比べる往復判定で IIII や IC を弾ける。Ⅻ(U+216B)は NFKC で XII になるが ↀ は分解されない。Node.js で長さ8までの全文字列を総当たりして確かめる。 2026-10-10 プログラミング #JavaScript #Unicode #ローマ数字 #NFKC
パスポートのヘボン式でYOKOOが崩れる — 長音はかな単位で判定 パスポート用ヘボン式は長音のOやUを書かないが、末尾の「お」はOOと書き、松浦はMATSUURAのまま残す。ローマ字列を置換する実装では30例中6例を外す。かな単位で長音を判定するNode.jsの実装で旅券窓口の例を検算する。 2026-10-09 プログラミング #JavaScript #Node.js #ヘボン式 #ローマ字
法人番号の検査用数字をJSで計算する — mod 9の0と9の死角 法人番号13桁の先頭1桁は、12桁の基礎番号から「9 - (重み1と2の積和 mod 9)」で決まる。国税庁の算式をNode.jsで再現して国税庁自身の番号で検算し、0と9の書き換え・入れ替えを見逃す理由も確かめる。 2026-10-08 プログラミング #JavaScript #Node.js #チェックディジット #法人番号
TOTPの鍵がBase32で32文字・=なしになる理由をNode.jsで確かめる 2段階認証の共有鍵が英大文字と2〜7の32文字・=なしになるのは、20バイト=160ビットが5ビット区切りで割り切れるから。Base32の符号化を追い、RFC 6238のテストベクタでTOTPを計算して確かめる。 2026-10-07 プログラミング #Node.js #Base32 #TOTP #RFC 4648
漢数字⇔数字変換をBigIntで書く 9999兆はNumberで壊れる 漢数字変換ツールが16桁(9999兆)まで正しく返せるのは、桁をNumberでなくBigIntで積んでいるから。一万千と二〇二六の両記法を1ループで読む構文解析と、大字(壱弐参拾)の出し分けを、Node.jsで動くコードで示す。 2026-10-06 プログラミング #JavaScript #BigInt #漢数字 #文字列処理
Citrix CVE-2026-88776/88777|前提条件付き9.8の読み方と固定版の判定 NetScaler の CVE-2026-88776 / 88777 は NVD 9.8・Citrix 8.8 で構成の前提条件が付く。固定版が系統ごとに別の番号列を持つので、稼働中の版数が固定済みかを機械で判定するコードを動かす。 2026-10-05 セキュリティ #Node.js #CVE #脆弱性対応 #CVSS #Citrix #NetScaler #パッチ管理 #バージョン比較 #CWE-119
Node 24のIntlは明治元年を1868年9月8日から始める|CLDR 47と48の差 Intl.DateTimeFormatの和暦は明治の開始日を1868-09-08としている。旧暦の日付をそのまま西暦に読んだ値で、CLDR 48で1868-10-23に直った。手元のNodeの値を確かめ、改元日を自前の表で持つ和暦ツールの判定と並べる。 2026-10-05 プログラミング #Node.js #Intl #CLDR #ICU #和暦