Запуск Android-приложения: путь от иконки до Activity Нажатие на иконку в Launcher инициирует системный вызов запуска Package Manager анализирует манифест и определяет главное Activity При участии Zygote создаётся…
B-tree индекс: поиск значений и получение диапазонов устройство: сбалансированное дерево, состоящее из внутренних узлов, ключей и ссылок поиск: сопоставление искомого ключа с узлами и переход по ветвям с…
DDD и гексагональная архитектура DDD (Domain-Driven Design) — метод разработки, в основе которого лежит глубокое понимание предметной области Важный принцип DDD — выделить ядро домена, содержащее бизнес-логику, и…
Реляционная СУБД с табличной организацией данных Базовая единица хранения — страница (page), как правило, размером 8 KB Информация размещается в heap-таблицах, состоящих из неотсортированных страниц Каждая страница…
Принцип работы Unity в ОС и его концепция Unity представляет собой графический интерфейс (desktop environment) Изначально создан для Ubuntu Linux Предоставляет оболочку и отвечает за управление окнами Задействует…
Надёжное хранение ключей необходимо для поддержания доверия к JWT Применение секретного менеджера: AWS KMS, HashiCorp Vault или Azure Key Vault Доступ предоставляется только согласно правам и ролевой модели (RBAC)…
Браузер загружает и визуализирует веб-страницы По URL он отправляет серверу HTTP/HTTPS-запрос В ответ получает HTML, CSS, JS и прочие ресурсы Разбирает HTML и формирует DOM-дерево Обрабатывает CSS и создаёт…
Большинство DI-контейнеров поддерживает регистрацию нескольких реализаций одного интерфейса Для каждой реализации задаются отдельные идентификаторы — ключи, имена или теги Все реализации можно получить через общую…
Как в Go выполнять HTTP-запросы асинхронно? тема: конкурентность, net/http, goroutines параллельный запуск запросов выполняется через goroutines каждый HTTP-запрос помещается в отдельную goroutine (go func()) для…
Как в Go реализовать graceful shutdown с defer, контекстом и обработкой ошибок в группах горутин? управлять завершением приложения через context.Context (cancel/cancellation) применять defer для освобождения ресурсов,…
Надёжность доставки в Kafka обеспечивается за счёт репликации данных между узлами кластера Для этого применяется механизм ISR (in-sync replicas): запись подтверждают только реплики, которые синхронизированы с лидером…
Как устранить конфликт имён методов при использовании нескольких трейтов? Контекст: работа с Rust / трейты Проблема появляется, когда разные трейты содержат методы с одинаковыми именами Для решения при вызове…