Как лучше передавать Dispatcher в классы: через DI или напрямую? Контекст: архитектура приложения и инверсия зависимостей DI-передача делает зависимости явными и управляемыми упрощает подмену зависимостей и…
контекст: общая концепция передачи аргументов в функции зависит от языка и типа данных: примитивные значения передаются по значению, а объекты — по ссылке или как копии ссылок в C/C++: базовые типы передаются по…
Для синхронных исключений применяют глобальный обработчик ошибок через window.onerror Чтобы подробно отслеживать ошибки загрузки ресурсов и JavaScript, используют window.addEventListener('error', ...) Событие…
обработка событий в DOM три фазы: погружение (capturing), цель и всплытие для перехвата на этапе погружения используется параметр useCapture = true addEventListener(type, handler, true) — обработчик, назначенный на…
Как получать данные в реальном времени? задача: передавать данные с минимальной задержкой WebSocket: постоянное двунаправленное соединение SSE (Server-Sent Events): передача данных от сервера клиенту MQTT: лёгкий…
Возврат потока в пул при выполнении await Асинхронная модель C# использует state machine и Task На время await текущий поток освобождается до завершения задачи Метод формирует continuation, которое планируется для…
Чтобы запустить поток, вызовите у объекта Thread метод start() Метод start() создаёт новый системный поток операционной системы и запускает его Метод run() является обычным методом и выполняется в том потоке, из…
async/await — это синтаксический сахар над Promise в JavaScript Любая async-функция всегда возвращает Promise await приостанавливает выполнение кода, пока промис не завершится делает асинхронный код более понятным и…
Механизм отмены — важная часть работы с асинхронным кодом В JavaScript для этого применяют AbortController (fetch API, Promises) В C# задачи Task используют CancellationToken В Python применяют asyncio.CancelledError…
Как использовать useEffect в разных ситуациях? React hook для управления побочными эффектами пустой массив зависимостей []: запуск один раз при монтировании зависимости [var]: запуск при изменении заданных значений…
Как проверять асинхронный код? Ожидать завершения асинхронных операций с помощью await, callbacks или promises. Изолировать сетевые обращения, применяя моки и стабы. Проверять последовательные состояния: запуск,…
последовательная очередь обрабатывается в одном потоке, поэтому порядок операций имеет значение deadlock появляется, когда ресурсы взаимно блокируют друг друга для профилактики сокращают пересечения блокировок и…