#ツール
24 件
第9巡回控訴裁:AI 生成コードは DMCA 上の「複製物」ではない
2026 年 9 月 16 日、第9巡回控訴裁は Doe v. GitHub で DMCA 第 1202 条の主張を棄却した原判決を支持し、生成 AI の出力は同条の複製物に当たらないと判断しました。
Node.js 26 が LTS に:アップグレードの予定をプラットフォームに決めさせない
10 月 6 日に Node.js 26 が LTS と確認され、7 日には 26.11.0 と 26.11.1 が公開されました。一方 Node.js 20 は各ホスティングから消え続けています。
GhostAction:悪意あるワークフローを数万リポジトリへ
攻撃者はメンテナのアカウントを乗っ取り、セキュリティ監査を装った GitHub Actions ワークフローを注入し、git 履歴全体から資格情報を集めました。
Harness が Augment Code を買収:AI コーディングツールの集約が始まる
Harness は複数エージェントを調整する Cosmos、Auggie CLI、Code Context Engine など Augment Code の資産を取得し、AI コーディングをデリバリーパイプラインに組み込みました。
マイケル・ジャクソンを踊るジェンスン・フアン:本物でなくてもバズる時代
約 86 秒の AI 二次創作「ジェンスン・フアン世界ツアー」が国内外で拡散し、マスク氏も反応しました。面白い一方で、「この動画は本物か」が日常の問いになりました。
汚染された npm リリース:postinstall ひとつが持ち去るもの
2026 年 10 月、tensorlake の 0.5.144 に Shai-Hulud の資格情報窃取ワームが仕込まれました。狙いは npm、GitHub、クラウド、AI サービスの資格情報です。
SQLite 3.53:WAL 破損バグの修正と、CLI にまともな表を
SQLite 3.53 は WAL リセットによるデータベース破損バグを修正し、結果整形ライブラリ QRF を追加し、ALTER TABLE で制約を追加・削除できるようにし、REINDEX EXPRESSIONS を導入した。最後の一つは陳腐化した式インデックスの修復手段。
モールス符号 — 表が一つ、曖昧さが二つ、細部が三つ
モールス自体は簡単で、難しいのは細部です。空白は誰のものか、全角の点をどう正規化するか、そして「1 単位」がどれだけか。
ページに出すソースと curl に渡すファイルは同じ文字列でなければならない
スクリプト欄はソースを表示しつつ、同じファイルを /scripts/x.sh で配る必要がある。二つの複製は必ずずれる。import.meta.glob の ?raw でビルド時にインライン化する方法が、ビルド時のファイル読み込みや public への複製より確実な理由。
ファイルの原子的書き込み:一時ファイルに書いてから rename
上書きは停電・クラッシュ・並行読み取りの瞬間に半端なファイルを残します。一時ファイルと rename を使えば、ファイルシステムの原子性で「半端」を不可能にできます。
Base64:暗号でも圧縮でもない
Base64 は 3 バイトを 4 文字の可読文字に変換し、容量を三分の一増やします。解くのは「バイナリをテキスト経路に通す」ことで、秘匿ではありません。
デバウンスとスロットル:違いは「誰が実行時刻を決めるか」だけ
どちらも実行頻度を制限します。デバウンスは最後の呼び出しが、スロットルは固定の時間窓が時刻を決めます。選び間違えると、ドラッグが離した時だけ更新されたり、入力中に 200ms ごとに送信したりします。
工数見積もり:なぜ「だいたい三日」が三週間になるのか
見積もったのはコーディング時間で、約束したのは実装+結合+レビュー+手戻り+待ち時間です。不確かな部分を明示する方が、日数を二倍するより効きます。
フィーチャーフラグ:設定ではなく負債である
フラグは到達可能なコード経路を倍にし、そして自動では消えません。精巧な仕組みを作るより、各フラグに削除日を決める方がはるかに重要です。
git bisect:「どのコミットで壊れたか」を一本のコマンドにする
退行調査の難所は二分探索ではなく「壊れている」の定義です。自動で判定するスクリプトを先に書けば、bisect は n 回のビルドを log n 回に縮めます。
セマンティックバージョニング:主番号の約束は「挙動が黙って変わらない」
MAJOR は「変更が大きい」ではなく「破壊的」の意味です。リファクタで主番号を上げたり、破壊的変更を副番号に隠すと、下流の自動更新が事故になります。
技術的負債の利息とは何か
負債は醜いコードではなく、以後の変更が毎回余分に払うコストです。判定は測定可能で、1 回の変更で触るファイル数、テスト時間、同時に直す箇所の数です。
cron パーサを書く:5 フィールド、和集合の規則、そして 2 月 30 日
構文は 30 分で書けます。難しいのは意味論です。日と曜日を両方指定したときは積ではなく和、存在しない日時には終了条件が要り、7 も 0 も日曜です。
CSV はカンマで切るものではない:RFC 4180 の引用符と改行
引用符付きのフィールドが 1 つ現れた時点で split は破綻します。引用符は区切り文字と改行を包み、内部の引用符は 2 つ重ねて書きます。30 行の状態機械が正規表現より確実です。
進数と単位換算:非線形なのは温度だけ
2 から 36 進数の変換は BigInt で精度を守る必要があります。10 カテゴリのうち 9 つは線形の比率ですが、温度だけはアフィン変換で、単一の倍率では必ず間違えます。
色とコントラスト:相対輝度はチャンネルの平均ではない
記法の相互変換は入口にすぎません。本当の罠は WCAG のコントラストで、ガンマを戻してから重み付けする必要があります。黒文字か白文字かの判断も閾値ではありません。
ハッシュとチェックサム:CRC32 と MD5 を自分で書く理由
ブラウザーが提供するのは SHA 系だけで、しかも安全なコンテキストに限られます。CRC32 と MD5 は Web Crypto にありません。大きなファイルを一括で読まない方法と、チェックサムを目視で比べない方法も。
正規表現テスト:ヒット・グループ・置換プレビューとゼロ幅の罠
正規表現テスターには三つの役割があります。一致位置とグループを明示し、置換結果を先に見せ、ゼロ幅一致で止まらないこと。
JSON スタジオ:整形・検証・差分を一つの画面に
使い捨てのコマンドで JSON を整える習慣から作りました。整形・圧縮・ソート、行と列で示す解析エラー、二つの文書の構造差分。すべてブラウザ内で動きます。
