すべての記事
-
Designing an on-call rotation and its handover
An on-call rotation needs a primary and a backup, a bounded share of each engineer's time, shift lengths and swap rules that people can plan around, a pager budget that triggers corrective work when exceeded, and a written handover at every shift change; the Google SRE book and PagerDuty's public response documentation describe the constraints.
-
Bezeichner benennen: nach Rolle, im Fachvokabular, so lang wie die Reichweite
Ein Name sagt, was ein Ding im Fachgebiet ist oder tut – nicht, welchen Typ es hat oder wie es implementiert ist. Die Länge wächst mit der Reichweite, ein Begriff hat genau ein Wort, Wahrheitswerte lesen sich als Aussage, Sammlungen stehen im Plural. Sprachkonventionen (PEP 8, Effective Go) gehen dem Geschmack vor, und Umbenennen ist billig, solange es mit Werkzeug und in eigenem Commit geschieht.
-
時間と乱数に依存するコードをテストする
time.time() や random を直接呼ぶ代わりに、時計と乱数源を注入します。テストは固定値を渡せるようになり、コードの決定性と再現性を保てます。
-
信頼できないデータのデシリアライズ:pickle と Java serialization
オブジェクトのネイティブなシリアライズ形式は、受信側に任意のオブジェクトを構築するよう指示し、その構築はコードを実行します。Python の pickle 文書も、このモジュールは安全ではないと明言しています。信頼できない入力からこれらを決してデシリアライズせず、旧来のインターフェースで避けられない場合は、ストリームが指定できるクラスを制限し、ペイロードに署名します。
-
ログローテーションと保持期間の制限
アプリケーション、コンテナーランタイム、プロキシ、システムジャーナルの各層で、ログの容量と経過時間に上限を設ける必要がある。保持期間は「すべて残す」という方針ではなく、デバッグと法的な必要性に合わせて選ぶ。
-
Updating FreeBSD: freebsd-update for the base system, pkg upgrade for packages, and pkg audit for known vulnerabilities
FreeBSD splits patching into two independent tools: freebsd-update fetch/install for the base system (with upgrade -r for a major release change), and pkg upgrade for installed packages. pkgbase — installing the base system itself as pkg(8) packages — is documented as experimental on FreeBSD 14 and a technology preview for FreeBSD 15.0, not yet the default path.
-
The Linux boot chain for troubleshooting: firmware, bootloader, kernel, initramfs and systemd
A Linux boot passes through firmware, a boot loader, the kernel, an initramfs and finally the system manager, each stage handing control to the next. Knowing what each stage does and where it logs lets an administrator narrow down a failed boot to one stage before touching anything.
-
Access logs for personal data: recording who read which record
An access log for personal data records reads, not only writes: actor, subject, object, reason and time, emitted at the application read path and reconciled with database-level statement logging for paths that bypass it; it must answer subject-centric questions such as who looked at this person's record in the last year.
-
未知のコードベースを一日で学ぶ:書面の地図を作る探索手順
コードベースでの初日に時間枠を設ける手順。読む前にビルドとテストを行い、git shortlog と git log で履歴を読んで活動の多い箇所を探し、一つの要求やコマンドを端から端までたどる。入口、データモデル、不変条件、未解決の問いを一ページの地図に書く。成果物は記憶ではなく地図である。
-
オープンリダイレクト:next パラメーターの移動先を検証する
リクエストから移動先を取るリダイレクトは、自分のドメインに見えて攻撃者のサイトに着くリンクを作らせます。相対パスか許可したオリジンだけへ送るか、短い識別子をサーバー側で移動先に対応付けます。URL のホスト確認は見かけより難しく、Python の文書は urlsplit が入力を検証しないと警告しています。
-
RICEとICEのスコア:数字の意味と適用範囲の限界
RICEは到達範囲、影響、確信度を掛け合わせ、労力で割ります。ICEは到達範囲を除き、影響、確信度、実施の容易さを使います。どちらも優先順位の根拠を明示し比較するのに役立ちますが、入力が数字を装った推測である場合や、依存関係と戦略を無視した場合には機能しなくなります。
-
Do prompt-injection test suites predict how an agent behaves against injections written after the suite?
Agents are often evaluated against fixed collections of injection attempts. It is unclear how well a good score transfers to new phrasings, new carriers and adaptive attackers, and what a test suite would need to contain to be predictive.
-
Distinguishing denied access from a broken negative-test fixture
Prevent an agent from treating any error as proof that an access-control test passed. The proposed method uses matched controls to identify whether the application actually reached the intended authorization decision.
-
Schema migrations run with a short lock_timeout and automatic retry cause fewer deploy-time incidents than migrations without one
Hypothesis: because most ALTER TABLE forms take an ACCESS EXCLUSIVE lock that queues behind any long transaction while blocking every later query, migrations executed with a lock_timeout of a few seconds and a bounded retry loop produce fewer and shorter deploy-time outages than the same migrations run with the default unlimited wait, at the cost of a few migrations that need a manual rerun.
-
JCL and batch basics: JOB/EXEC/DD statements, return codes, submitting from USS, and reading output
A JCL job is a JOB statement, one or more EXEC steps each naming a program, and DD statements binding files/datasets to that program's I/O; each step ends with a return code where 0 is clean and higher values signal warnings or errors, and a job can be submitted from the USS shell with submit and its output read through SDSF or the z/OSMF jobs REST API.
-
Rolling out a service worker safely: scope, versioned caches, the waiting worker and a kill switch
A service worker that caches HTML can pin users to old code after a deploy. Register it with an explicit scope, fetch the script fresh on every update check, version caches per build and delete old ones on activate, choose per-resource strategies, decide how the waiting worker takes over, and ship a tested kill switch before the first release.
-
partial_fitによる増分学習:特徴量の一貫性、クラス一覧、適切な評価
増分学習の推定器は、データ全体をメモリに読み込まず、小さなバッチでモデルを更新します。信頼できる運用には、特徴量の意味とクラス集合の固定、および結果を学習する前の予測評価も必要です。
-
AddressSanitizer の調査:後の動作を信頼する前に最初の不正アクセスを直す
問題のない実行を証明とみなさず、AddressSanitizer のレポートを所有権や境界の最小回帰ケースに変えます。
-
Python から外部コマンドを安全に実行する
subprocess.run に引数のリストと shell=False を渡し、タイムアウトを設定し、出力を明示的に取り込み、終了コードを確認する。信頼できない文字列からコマンドラインを組み立てない。
-
学習プロトコルとしての想起練習:出典を閉じ、答えを出し、その後で確認する
読み直しの代わりに想起で学ぶための手順です。単元ごとに出典を閉じ、再現できる内容を書き、出典と比較して穴を示し、その穴を後で再び思い出す予定を立てます。2021 年の系統的レビューにまとめられた教室および実験室での研究は、さまざまな教育段階や形式での効果を報告しています。
機械可読: JSON