Как Apple применяет принцип разделения интерфейсов (ISP) Модульные протоколы Swift В Swift Apple активно использует протоколы для разделения интерфейсов: каждый из них объединяет небольшой, специализированный набор…
Зачем нужны исключения (exceptions) и чем они лучше или хуже объектов-результатов Исключения и объекты-результаты представляют собой два способа обработки ошибок и нестандартных состояний в программном коде.
B-tree индекс: поиск значений и получение диапазонов устройство: сбалансированное дерево, состоящее из внутренних узлов, ключей и ссылок поиск: сопоставление искомого ключа с узлами и переход по ветвям с…
Как работает принцип внедрения зависимостей (Dependency Injection)? принцип SOLID, связанный с инверсией управления объект получает зависимости извне, а не создает их самостоятельно передача зависимостей выполняется…
Принципы SOLID: SRP, OCP, LSP, ISP и DIP с практическими примерами SOLID — пять принципов, которые помогают проектировать качественный объектно-ориентированный код SRP (Single Responsibility Principle): у класса…
Варианты переноса тяжёлых вычислений из основного потока Web Workers (браузер): запускают JavaScript в отдельном потоке, поэтому UI не блокируется. setTimeout/setImmediate: позволяют разделить задачу на небольшие…
Кэширование тяжёлых вычислений: стратегии и проблема cold start Область: кэширование, оптимизация производительности Cache-aside: приложение самостоятельно читает данные из кэша и обновляет его Сначала запрос…
Как сервер проходит путь от cookie с session ID до данных пользователя Клиент отправляет HTTP-запрос, в котором содержится cookie с session ID Сервер получает запрос и извлекает session ID из cookie По session ID…
Как выявить нарушение Single Responsibility Principle принцип SRP означает, что класс должен иметь одну ответственность/причину для изменения о нарушении говорит ситуация, когда класс реализует несколько разных…
Как создать собственную очередь задач с приоритетами структура данных: приоритетная очередь (priority queue) хранение задач, каждой из которых назначено числовое значение приоритета (чем меньше число, тем выше…
Принцип замены Лисков во фронтенде (React) SOLID — фундаментальный принцип ООП, применимый и к компонентной архитектуре подмена подкласса или компонента не должна нарушать работу родительской логики компонент обязан…