Как организовать graceful shutdown HTTP-сервиса с воркерами в Go? Контекст: управление остановкой сервиса, одновременно обрабатывающего HTTP-запросы и выполняющего фоновые задачи Для координации завершения применять…
область: обработка событий, транзакции блокирующая транзакция — гарантирует атомарность и изоляцию использовать механизм блокировок (например, pessimistic locking) для синхронизации применять мьютексы или сходные…
Как устроен сборщик мусора в Python? управление памятью основано на подсчёте ссылок (reference counting) для каждого объекта ведётся счётчик ссылок; когда он становится равен 0, объект удаляется освобождение памяти…
data pipeline — это цепочка последовательных операций обработки данных надёжность достигается за счёт обработки ошибок, повторных попыток и мониторинга масштабируемость обеспечивают распределённые системы и…
Типичный процесс непрерывной интеграции (CI pipeline) Автоматическая сборка проекта и выполнение тестов Сборка приложения после каждого коммита Запуск юнит- и интеграционных тестов Проверка кода с помощью статического…
Как работает многопоточность в Java? Java обеспечивает параллельное выполнение с помощью потоков (Threads) Поток — отдельный исполняемый поток команд в рамках процесса Для создания потоков применяют классы Thread и…
Уровни изоляции транзакций: принцип работы область: базы данных, управление транзакциями цель: контроль конкурентного доступа и защита от аномалий уровни определены стандартом SQL ANSI: Read Uncommitted
Риски глобального кеша и способы их устранения Проблемы: При параллельном доступе возможны состояния гонки (race conditions) Изменение данных в разных участках программы приводит к непредсказуемому состоянию…
Плюсы и минусы применения ORM (SQLAlchemy) ORM представляет собой уровень абстракции над SQL для работы с БД Преимущества: позволяет взаимодействовать с данными через объекты автоматически формирует SQL и тем самым…
Какой уровень покрытия кода тестами можно считать достаточным? Контекст: оценка качества покрытия при тестировании ПО Стремиться можно к 100%, однако это скорее идеальная цель, которую редко удаётся достичь На…
** Чтобы предотвратить конфликты при параллельной обработке в PostgreSQL, используют уровень Serializable. Он обеспечивает полную изоляцию и целостность данных, а возникающие конфликты обрабатываются посредством…
В CPython подсчёт ссылок служит основным механизмом управления памятью. Напрямую отключить его нельзя, если не модифицировать сам интерпретатор. Есть альтернативный вариант: gc.disable() отключает сборщик циклических…