アフィリンクの「タグ抜け」を公開前に機械検出する — 配信HTMLを見てASINで正規化する Amazonリンクからアソシエイトタグが抜けても表示は壊れないので気づけない。配信HTMLのhrefだけを走査して検出し、ASINで正規URLへ直すNode.jsスクリプトを実際に動かす。 2026-07-31 開発ツール・効率化 #自動化 #Node.js #静的サイト #アフィリエイト
Base58とは何か — Base64/Base32との違いと、ビットコインが使う理由をJavaScriptで確かめる Base64やBase32は知っていても、Base58は「ビットコインアドレスで見る謎の文字列」で止まりがちだ。なぜ58なのか、Base64/Base32と何が違うのか、そして「大きな整数として58進数に変換する」という他のエンコードと決定的に異なる仕組みを、実際に動くJavaScriptで確かめる。ブラウザで試せるツールも用意した。 2026-07-29 プログラミング #JavaScript #エンコード #Base58 #Bitcoin #データ設計
日次ランキングを「決定論スナップショット」にする — 同じデータなら必ず同じ並び 毎日ランキングを更新する静的サイトを無人運用すると、「順位を人手で入れ替える」誘惑と「実行のたびに並びがブレる」問題に必ずぶつかる。実際に運用しているアニメランキングサイト anime-trend の設計をもとに、順位を乱数も時刻も使わない決定論的なスナップショットとして日付つきで残す方法を JavaScript で組み立てる。 2026-07-26 プログラミング #JavaScript #自動化 #静的サイト #データ設計
無人運用の記事バリデーション — 「終了日が無い」を書き漏らしと未公表に機械で仕分ける 無人で毎日更新するセール速報サイトでは、記事データの「終了日が無い」が“書き漏らし”なのか“調べたが未公表”なのかを取り違えると、記入漏れを見逃すか正当な記事を弾くかのどちらかになる。この区別を fail-closed で機械判定するバリデーションを、実際に運用しているセール速報サイト manga-deals の設計をもとに JavaScript で組み立てる。 2026-07-25 プログラミング #JavaScript #自動化 #静的サイト #データ検証
JavaScriptで「見た目の1文字」を数える — Intl.Segmenterで書記素クラスタ単位に分割する 絵文字や結合文字が混ざると `str.length` も `[...str]` も人が数える文字数と合わない。Intl.Segmenter を使って書記素クラスタ(grapheme cluster)単位で分割し、入力欄の文字数カウントや先頭N文字の切り出しを正しく実装する。単語・文単位の分割まで含めてブラウザだけで試せる形にする。 2026-07-24 プログラミング #JavaScript #Unicode #テキスト処理 #Intl
NVD APIが2002年のCVEを返してくる — 日付フィルタ無しの検索は「登録順の先頭」を返す 毎日CVEを取りに行く自動処理が、2002年のOpenSSHの脆弱性を「新規」として返してきた。原因はNVD APIのクエリに日付フィルタが無かったこと。cvssV3Severity=CRITICAL だけでは「重大なCVEのうち登録順で先頭のもの」が返る。pubStartDate/pubEndDate の使い方と、120日制限、並び順の落とし穴をまとめる。 2026-07-23 プログラミング #自動化 #Node.js #API #セキュリティ #脆弱性
アスペクト比の約分と行の自然順ソート — サーバなしのブラウザ完結ツールをGCDとIntl.Collatorで作る 1920x1080 を 16:9 に約分するのは最大公約数(GCD)だけで足りる。file2 を file10 より前に並べる自然順ソートは Intl.Collator の numeric オプションで一行。どちらもサーバ不要でブラウザだけで完結する。実際にハシトシステムへ追加した2つのツールの実装を、動くコードで解説する。 2026-07-22 プログラミング #JavaScript #フロントエンド #SEO #アルゴリズム #ツール
ツール入力の初動を速くする eager_input_streaming — 引き換えに失うものを把握する Claude APIのツール使用で、入力をサーバ側でバッファせず生成した端から流す eager_input_streaming。大きなパラメータの初動が速くなる一方、届いたJSONが妥当である保証を失う。有効化の条件と、必要になる3つの実装をまとめる。 2026-07-20 AI・機械学習 #LLM #API #Claude #ストリーミング #レイテンシ
Langflowの auto_login が既定で有効 — 未認証でsuperuserトークンが取れる CVE-2026-9103 Langflow 1.0.0〜1.10.0 の /api/v1/login/auto_login は、認証なしで長期有効な superuser トークンを発行する。しかも AUTO_LOGIN は既定で有効。同日公開の権限昇格と組み合わさると、公開インスタンスは実質そのまま乗っ取られる。自分の環境の確認手順をまとめる。 2026-07-20 クラウド・インフラ #認証 #LLM #セキュリティ #CVE #Langflow
JSで「東京の10時」を他都市に変換する — オフセットを引き算すると壊れる タイムゾーン変換ツールを作っていて、東京の10時が前日16時になった。原因はオフセット補正のループで、補正値を毎回 target から引き直さずに累積していたこと。Intl.DateTimeFormat だけで壁時計時刻から Date を求める正しい書き方をまとめる。 2026-07-20 JavaScript #JavaScript #Intl #タイムゾーン #日付処理 #デバッグ