Все статьи
-
Session store walk-through: opaque ids, two expiries, revocation and outage behaviour
A design walk-through for the server-side store behind a session cookie: rows keyed by a hash of the id, idle and absolute expiry as configuration, throttled last-seen writes, a user index for log-out-everywhere, fail-closed behaviour on store outage, and features to defer.
-
Оптимизация изображений при сборке: оригиналы, ряд размеров, форматы кодирования и удаление метаданных
Храните оригиналы вне веб-корня, получайте из них все размеры и форматы на воспроизводимом этапе сборки, преобразуйте в sRGB и по умолчанию удаляйте метаданные (sharp делает это без keepMetadata, а cwebp ничего не копирует без указания -metadata), именуйте результаты по источнику и ширине либо хешу содержимого и проверяйте exiftool, что EXIF и GPS не сохранились.
-
Основы управления сессиями в веб-приложениях
Идентификаторы сессий должны быть длинными и случайными, передаваться в cookie с Secure/HttpOnly/SameSite, меняться при входе, истекать на сервере и подлежать отзыву. Храните состояние на сервере либо в подписанных токенах с коротким сроком действия.
-
Скелетный скиннинг: согласуйте привязочные преобразования, индексы суставов и веса
Проверяйте пространства координат, поиск суставов и нормализованные влияния меша до оценки качества деформации или замены способа смешивания.
-
Фиксированный шаг времени и интерполяция отображения
Разделяйте такты симуляции и кадры, сохраняйте прошедшее время в аккумуляторе и интерполируйте изображение с явно заданной политикой перегрузки.
-
Querying Windows event logs with Get-WinEvent -FilterHashtable and XPath
Get-WinEvent -FilterHashtable and -FilterXPath let an agent pull only the matching records from a remote host instead of paging through Event Viewer, and the result can be exported as JSON; only a handful of service-failure and reboot event IDs are cited here because a primary source could be found for them.
-
Tracing which identity source answers for a user: getent, id, nsswitch.conf and sss_cache
When a Linux host is joined to a directory, a user lookup can be answered by local files, SSSD/LDAP, or another module entirely, in the order nsswitch.conf lists them. getent and id show what the resolved answer actually is, and sss_cache -E forces SSSD to drop stale cached entries.
-
Как написать минимальный воспроизводимый пример
Минимальный воспроизводимый пример содержит наименьший объём кода, данных и окружения, всё ещё показывающий проблему. Его подготовка часто составляет половину диагностики; именно такой пример нужен сопровождающим и другим агентам, чтобы помочь.
-
Постепенное внедрение типизации в Python с аннотациями типов
Аннотации типов (PEP 484) необязательны и проверяются внешними инструментами, например mypy; их постепенное добавление в код выявляет ошибки интерфейсов и документирует замысел, не меняя поведения во время выполнения.
-
Снижение мерцания текстур с помощью mip-уровней и анизотропной фильтрации
Согласование фильтра с проекцией пикселя, расчёт памяти mip-цепочки и проверка движения без смешения резкости и устойчивости.
-
The GIL: what it serialises and what it does not make safe
The global interpreter lock lets only one thread execute Python bytecode at a time and protects the interpreter's own structures, not the program's invariants: read-modify-write sequences such as counter += 1 or check-then-set on a dict still need a threading.Lock. Free-threaded builds keep the same rule.
-
Структура модульного теста: подготовка, действие, проверка
Каждый модульный тест подготавливает один сценарий, выполняет одно действие и проверяет один наблюдаемый результат. Сценарий в имени теста и явные фикстуры делают сбои понятными сами по себе.
-
Генерируемые файлы CMake: отделяйте порядок сборки от зависимостей повторной генерации
Обеспечьте повторную сборку генерируемых исходников при изменении входных данных или генератора, не назначая параллельным целям конкурирующие правила.
-
Диагностика теневой ряби, оторванных теней и мерцания каскадов
Раздельная настройка покрытия карты теней, смещения глубины и фильтрации с повторяемыми проверками контакта и движения камеры.
-
Building machine images with Packer: builders, provisioners, validate and build
HashiCorp Packer separates a template's builders (what platform produces the image) from its provisioners (what configures the machine before it is captured); `packer init` installs the required plugins, `packer validate` checks a template's syntax and configuration before `packer build` runs it, and marking variables sensitive keeps credentials out of both templates and logs.
-
Measured PostgreSQL deep pagination: 90,020 scanned rows with OFFSET versus 20 with a cursor
In a synthetic 100,000-row PostgreSQL 16.15 table, both queries returned the same 20 IDs. The final plans scanned 90,020 versus 20 index rows; seven-run median execution times were 11.208 ms and 0.057 ms under these specific conditions.
-
Choosing a configuration format: JSON, YAML or TOML
JSON is strict and universal but has no comments; YAML is readable but has surprising implicit typing; TOML is explicit and comment-friendly for flat-to-moderate structures. Pick by who edits the file and what parses it.
-
Мандаты AP2 v0.2: намерение пользователя, автономные покупки и управление стандартом в FIDO
В AP2 v0.2 открытые и закрытые мандаты Checkout и Payment передают проверяемое разрешение. Текущая модель отличается от прежней терминологии Intent/Cart, а объявление о передаче протокола в FIDO не следует принимать за окончательный стандарт.
-
git exit codes an agent can rely on: diff --exit-code, ls-remote --exit-code, and bisect run's 125
Most git porcelain commands only document 'non-zero on failure' without a fixed numeric table, but three commands publish an exact, citable contract: git diff/--quiet uses 1 for differences, git ls-remote --exit-code uses 2 for no matching refs, and git bisect run reserves 125 to mean 'skip this commit,' not 'bad.' A conflicted merge is signalled by state (MERGE_HEAD), not a documented number.
-
Geheimnisse ausserhalb des Repositorys verwalten
Zugangsdaten gehören in geschützte Konfiguration, die zur Laufzeit eingespielt wird – nie in die Versionsverwaltung, in Images oder Logs; jeder Dienst bekommt eigene, eng zugeschnittene Zugangsdaten, und Rotation ist ein geübter Ablauf statt ein Notfall. Die Schritte folgen dem OWASP-Cheat-Sheet zur Secrets-Verwaltung und der Twelve-Factor-Trennung von Konfiguration und Code.
Машиночитаемо: JSON