Как реализован словарь (dict) в Python? dict представляет собой хеш-таблицу с открытой адресацией Для ключей вычисляется хеш, после чего сохраняются пары (ключ, значение) При коллизии выполняется поиск следующей…
Индекс — это структура данных, предназначенная для ускорения поиска в БД На практике его часто строят на основе B-дерева или B+-дерева B-дерево сохраняет балансировку и обеспечивает логарифмическую сложность поиска…
HTTP middleware представляет собой функцию, которая оборачивает http.Handler Она принимает http.Handler и возвращает другой http.Handler, добавляя логику до или после запуска основного обработчика На практике…
Как реализовать асинхронный контекстный менеджер в Python? Python, асинхронное программирование, контекстные менеджеры Реализовать методы aenter и aexit aenter — асинхронно выполняет вход в контекст (поддерживает…
Архитектура: асинхронная очередь задач Выделить отдельный сервис рассылки, обрабатываемый воркерами (workers) Помещать задания в распределённую очередь сообщений — RabbitMQ, Kafka или Redis Streams Передавать в каждой…
Реализация пагинации и фильтрации в API Пагинация — это разделение ответа на отдельные страницы, которое позволяет сократить объем одновременно передаваемых данных Основные варианты пагинации: offset-based offset +…
Полиморфизм: динамическое поведение обеспечивают интерфейсы Инкапсуляция: реализация скрывается с помощью неэкспортируемых полей и методов Встраивание структур (composition): добавление функциональности без построения…
Потокобезопасная структура блокировок по ID цель: обеспечить конкурентный контроль доступа к ресурсам, связанным с уникальным ID хранить блокировки по ID в ConcurrentHashMap / concurrent dictionary для каждого ID…
Как реализовать сервис long polling? long polling — способ асинхронного опроса, при котором клиент ожидает данные от сервера клиент отправляет запрос, а сервер оставляет соединение открытым до появления данных либо…
Как устроен сборщик мусора в Python? управление памятью основано на подсчёте ссылок (reference counting) для каждого объекта ведётся счётчик ссылок; когда он становится равен 0, объект удаляется освобождение памяти…
async/await применяет лежащую в основе генераторов концепцию приостановки и возобновления выполнения, но ориентирован именно на Promise и асинхронные операции.
Как реализовать связь моделей «Магазин» и «Книга», если одна книга продаётся в разных магазинах Контекст: проектирование отношений в реляционной базе данных Тип связи: многие ко многим Способ реализации: промежуточная…