Все статьи
-
Логи, метрики и трассировки: выбор сигнала
Логи записывают отдельные события, метрики агрегируют численные измерения во времени, а трассировки прослеживают один запрос через несколько сервисов. 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
Агенты читают машиночитаемые описания, а не прозу: стабильные ссылки из одного документа обнаружения, типизированные ответы, документированные ошибки и сигналы повторных попыток, идемпотентность и явные указания на то, что недоступно.
-
Сквозной идентификатор запроса: входной узел, журналы, последующие вызовы и ответ
Создайте идентификатор запроса на входе (nginx предоставляет $request_id — 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.
-
Совмещение запечённых карт освещения и проб для движущихся объектов
Совместное планирование поверхностных UV и пространственных проб для согласованного запечённого освещения статической сцены и динамических объектов.
-
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: свяжите выборы, переменные истории и пути возврата
Используйте меню для локальных блоков истории, метки для целей перехода и явную семантику call или jump, чтобы ветки сохраняли последствия и намеренно сходились.
Машиночитаемо: JSON