すべての記事
-
ログ、メトリクス、トレース:シグナルを選ぶ
ログは個別のイベントを記録し、メトリクスは時間に沿って数値測定を集約し、トレースは一つのリクエストを複数のサービスにわたって追跡する。OpenTelemetry は三つすべてを標準化し、相互に関連付けられるようにする。
-
Users, roles and RBAC on Solaris: why root is a role by default and how pfexec replaces sudo
Oracle Solaris implements privileged administration through RBAC rights profiles assigned to users or roles, and configures root as a role rather than a directly loginable user by default. pfexec, not sudo, is the native command for running a single privileged command under an assigned profile.
-
The JavaScript event loop: tasks, microtasks and rendering
JavaScript runs one job at a time; the HTML event loop takes a task, then drains the whole microtask queue (promise reactions, queueMicrotask) before the next task or a rendering opportunity. Long synchronous work and endless microtask chains block input and painting.
-
Datensicherungen wirklich prüfen: die Rücksicherungsprobe
Eine Sicherung ist erst dann eine Sicherung, wenn eine Rücksicherung in eine leere Umgebung gelungen und geprüft worden ist. Das Vorgehen: Erwartung festlegen, allein aus der Sicherung wiederherstellen, Vollständigkeit und Funktion messen, Dauer notieren, Befund ablegen und den Termin für die nächste Probe setzen.
-
Serial and out-of-band consoles for servers that keep access when the network is down
A serial console (console=ttyS0,115200 plus a getty on the line), a cloud provider's serial console feature, or IPMI/BMC Serial-over-LAN each give an administrator a way into a server that has no working network stack — the situation a purely SSH-based access plan cannot survive.
-
CIS Benchmarks and DISA STIGs as a hardening baseline: what they are and how to apply them selectively
CIS Benchmarks and DISA STIGs are two independently maintained sets of configuration recommendations; both offer selectable profile levels rather than one fixed target. Applying a profile wholesale without recording exceptions is a common way hardening work breaks a production service.
-
Routing all interrupts to one rotating person raises the rest of the team's uninterrupted time
Hypothesis: a team that assigns tickets, questions and operational requests to a single rotating interrupt handler, and stops distributing them across everyone, increases the median length of uninterrupted work blocks for the other members without lengthening interrupt response times beyond the agreed target; a proposed measurement.
-
サーバーサイドリクエストフォージェリ:利用者が指定した URL の取得
サーバーが利用者指定の URL を取得すると、内部サービスやメタデータエンドポイントに誘導される可能性がある。スキームとホストを許可リスト化し、名前解決したアドレスを検査し、プライベート範囲へのリダイレクトを止める。そもそも取得しない方法を優先する。
-
最適化の前にプロファイリングする
高速化のためにコードを変える前に、実際にどこで時間を使っているかをプロファイラーで測定する。ホットスポットについての推測は大半が外れ、測定しない最適化は利益を生まずに複雑さを増やす。
-
符号付き算術のオーバーフロー:最適化を変える前にコンパイラーの契約を文書化する
リリースビルドとデバッグビルドで動作が異なるとき、算術の要件と GCC のオーバーフローフラグを分けて考える。
-
Token bucket, leaky bucket and sliding window: how rate-limiter algorithms differ
Fixed windows are cheap but let twice the limit through at a boundary; sliding logs are exact but store every timestamp; sliding-window counters approximate in constant memory; token buckets allow bursts up to the bucket size at a fixed refill rate; leaky buckets smooth output by delaying. nginx and Envoy document the last two.
-
エージェントが API の記述に求めるもの
エージェントが読むのは文章ではなく機械向けの記述である。一つのディスカバリー文書からたどれる安定したリンク、型のあるレスポンス、文書化されたエラーと再試行のシグナル、冪等性、利用できないものの明示が必要になる。
-
リクエスト ID を端から端まで運ぶ:入口、ログ、下流呼び出し、レスポンス
入口でリクエスト識別子を生成し(nginx の $request_id はランダムな16バイトの16進表記)、ヘッダーでアプリケーションに渡す。リクエスト単位のコンテキストに保持して全ログ行と全外向き呼び出しに付け、レスポンスにも返すことで、ユーザーの報告を、そのリクエストが通過した全サービスのログに対応付ける。トレーシングがある場合は W3C trace ID をその識別子とする。
-
Test data builders with defaults reduce test breakage when a domain object changes
Hypothesis: suites that build objects through builders, where every field has a valid default and a test sets only the fields it asserts on, need fewer test edits per schema or constructor change than suites relying on shared fixtures or object mothers with canned instances.
-
Validating email addresses: what a syntax check can and cannot tell you
RFC 5321 caps the local-part at 64 octets and a path at 256; the HTML standard deliberately uses a simpler grammar than RFC 5322 for input type=email; internationalised addresses need SMTPUTF8 end to end. Check syntax and lengths, look up MX at signup, confirm ownership with a message, and never 'correct' an address automatically.
-
Decomposing a compound judgment into atomic questions for a decision model raises agreement with human labels compared with one multi-factor question
Vendor guidance for decision models says to ask one specific thing per question and combine in code; this hypothesis states that prediction as a measurable claim: for judgments that weigh several independent factors, the decomposed form agrees more often with human labels than a single question whose criteria describe the combination.
-
Recording the execution target before interpreting a diagnostic result
Establish which process, checkout, service instance, or database a diagnostic command actually reached before applying its result to the user’s reported problem.
-
Combining baked lightmaps with lighting probes for moving objects
Plan surface UVs and spatial lighting samples together so static scenery and dynamic objects share a coherent baked lighting setup.
-
Barrierefreiheit: die vier WCAG-Grundsätze praktisch angewendet
Die WCAG 2.2 ordnen alle Erfolgskriterien vier Grundsätzen zu: wahrnehmbar, bedienbar, verständlich, robust. Wer pro Grundsatz die häufigsten Verstösse kennt (fehlende Textalternativen, Tastaturfallen, zu wenig Kontrast, unbeschriftete Felder, zu kleine Ziele), findet viele Barrieren ohne Spezialwerkzeug; Stufe AA ist das übliche Ziel.
-
Ren'Py Dialogue Branches: Connect Choices, Story Variables and Return Paths
Use menus to select local story blocks, labels to organize destinations, and explicit call or jump semantics so branches preserve their consequences and reconnect intentionally.
機械可読: JSON