Все статьи
-
GOAP: найдите последовательность действий и проверьте её исполнение
Явно описывайте цели и действия, отделяйте гипотетические эффекты от действующего мира и перестраивайте план, когда допустимая последовательность становится невозможной.
-
Network configuration tools compared: nmcli, netplan, systemd-networkd and their Windows and macOS equivalents
Reading the current network configuration, setting a static address, and setting DNS servers — the same three tasks across NetworkManager's nmcli, Ubuntu's netplan, systemd-networkd, Windows PowerShell's networking cmdlets, and macOS's networksetup.
-
Columnar storage basics: how a Parquet file is laid out and why analytical reads touch less data
A Parquet file is a sequence of row groups, each holding one column chunk per column, each chunk split into pages that are the unit of encoding and compression; the metadata sits at the end so that a reader opens the footer, picks only the needed columns and skips row groups and pages by their min/max statistics. Column-wise layout is what makes dictionary and run-length encodings effective.
-
Проверяйте результат записи чтением с учётом возвращённой ревизии
Подтверждайте запись по устойчивому идентификатору и ревизии, не принимая более новое параллельное обновление за точное содержимое отправленного вами запроса.
-
MSAA и alpha-to-coverage: различайте покрытие, затенение и непрозрачность
Используйте многовыборочное покрытие для геометрических и вырезанных краёв, избегая двойного ослабления и неподтверждённых предположений о масках.
-
Пул соединений с базой данных и его ограничения
Каждое соединение PostgreSQL — это процесс, расходующий память. Приложению нужен небольшой пул по реальному параллелизму, таймаут получения соединения и запрет на произвольное открытие соединений обработчиками запросов.
-
Экранная ambient occlusion: GTAO как оценка видимости
Применяйте ambient occlusion к нужной составляющей освещения и отличайте шум выборки от ошибок неполной геометрии буфера глубины.
-
Default HTTP client timeouts by language and library: none, 5 seconds, or 100 seconds
Python's requests and Go's net/http.Client wait forever unless a timeout is set explicitly, httpx defaults to 5 seconds, .NET's HttpClient defaults to 100 seconds, and axios and curl's total-transfer timeout both default to unlimited — one universal safe default does not exist.
-
Choosing and layering performance profiles with tuned on RHEL
tuned applies a named bundle of kernel and system tunables as one profile switch, and a custom profile can inherit from an existing one and override only what differs. This methodology covers listing, recommending, applying and building on top of profiles.
-
Единообразные ошибки API с помощью Problem Details
RFC 9457 определяет структуру JSON для ответов об ошибках HTTP — type, title, status, detail, instance, — чтобы клиенты могли обрабатывать ошибки единообразно. Той же цели достигает любая согласованная оболочка со стабильными машиночитаемыми кодами.
-
Порядок зависимостей через обход графа: BFS, DFS и топологическая сортировка
Моделируйте зависимости ориентированным графом, находите всё затронутое изменением обходом в ширину или глубину, а порядок сборки или миграций получайте алгоритмом Кана или обходом DFS с обработкой после потомков, явно сообщая о циклах. Топологическую сортировку реализуют graphlib и tsort.
-
Cherry-picking: when it fits and what it costs the history
git cherry-pick replays the change of a commit as a new commit with a different ID; it is the right tool for backporting a fix to a maintenance branch or salvaging one commit from an abandoned branch, but each pick creates a duplicate that merges cannot recognise, so record the origin with -x and merge instead of picking when the whole branch is wanted.
-
Dark mode with prefers-color-scheme, color-scheme and light-dark()
Dark mode has three parts: the prefers-color-scheme media query to detect the user's choice, the color-scheme property (and meta tag) to tell the browser which schemes the page supports so form controls, scrollbars and the canvas follow, and light-dark() or custom properties to swap palette values without duplicating rules.
-
The test-driven development loop
Write a failing test, make it pass with the simplest change, then refactor with the tests green; the loop keeps design decisions small and gives every line a reason to exist.
-
Управление зонами и правилами firewalld без потери SSH-доступа
firewalld разделяет текущую и постоянную конфигурации, и обычное изменение firewall-cmd теряется при следующей перезагрузке правил, если его не сохранить постоянно. Методика охватывает зоны, разделение текущей и постоянной конфигураций, расширенные правила и проверку изменения до того, как оно станет невосстановимым из удалённого SSH-сеанса.
-
Scheduled jobs that do not silently fail
A scheduled job needs a lock against overlap, a timeout, explicit logging, an exit status that reflects success, and a monitor that notices when it did not run at all.
-
Alert hygiene for host monitoring: rate over threshold, failed units, and duration windows
A page should mean a human must act now; a host disk approaching full should page on its fill rate, not a fixed percentage that a slow-growing partition can sit near for months, and a threshold crossed for an instant should not page at all. Google's SRE materials on paging discipline and multiwindow alerting give the reasoning; this article applies it to the host signals covered in this series.
-
MCP-Werkzeuge gestalten, die Agenten sicher benutzen können
Werkzeuge nach dem Model Context Protocol brauchen einen engen Zweck, typisierte Eingabe- und Ausgabeschemata, wahrheitsgemässe Annotationen (nur lesend, destruktiv), begrenzte Ergebnisse und Fehler, die die Ursache nennen; Beschreibungen gehören in den Code, nicht in Inhalte, die Nutzende bearbeiten können. Die Spezifikation verlangt zudem, dass Clients Annotationen als nicht vertrauenswürdig behandeln und ein Mensch Aufrufe ablehnen kann.
-
Моделирование угроз для функции с помощью STRIDE за одну рабочую встречу
Изобразите функцию диаграммой потоков данных с границами доверия, проверьте каждый элемент по шести категориям STRIDE, решите для каждой угрозы, ослабить ли её, устранить, передать или принять, и запишите результат в виде проверяемых требований. Повестку задают четыре вопроса Манифеста моделирования угроз.
-
Checking the identity of a suggested package before adding it to a project
Verify that a package name suggested during coding corresponds to the intended maintained dependency before changing the project’s dependency files or executing installation hooks.
Машиночитаемо: JSON