HTTP/REST: синхронный и простой способ с широкой поддержкой gRPC: высокопроизводительный бинарный протокол для быстрых вызовов Message Broker (RabbitMQ, Kafka): асинхронный обмен через очереди, повышающий устойчивость…
Взаимодействие основного потока с Web Worker Web Worker представляет собой отдельный поток браузерного выполнения, предназначенный для фоновых задач Связь между ними строится на основе асинхронного обмена сообщениями…
Как остановить несколько воркеров с помощью общего контекста? многопоточность и управление жизненным циклом создать единый контекст отмены (например, context.WithCancel в Go) передать этот контекст всем воркерам…
Отключение функциональности без изменения кода и выпуска новой сборки Фиче-флаги: переключатели функциональности, управляемые через конфигурацию или БД внешние конфигурационные файлы либо сервисы, например Consul и…
Чем отличаются Array, Set и Dictionary Все три типа предназначены для хранения коллекций данных Array — индексированный упорядоченный список, в котором разрешены дубликаты Set — неупорядоченная коллекция уникальных…
Объекты с изменяемым состоянием (mutable) позволяют менять данные уже после создания Внутри изменяемых объектов хранятся ссылки на поля, которые также можно изменить После создания неизменяемый объект нельзя…
Для работы с асинхронными HTTP-запросами через fetch API применяется AbortController, позволяющий отменять операции Сначала создаётся контроллер: const controller = new AbortController() Затем его сигнал передаётся…
GCD (Grand Central Dispatch) — системный API, предназначенный для управления потоками в iOS/macOS. После добавления задачи (block) в очередь нельзя отменить её напрямую. Для реализации отмены используют специальные…
фронтенд, обработка форм событие формы — submit вызвать метод event.preventDefault() отменяет стандартное действие браузера — перезагрузку страницы использовать внутри обработчика события submit обрабатывать данные…
графика, рендеринг, frontend 1 физический пиксель — это не то же самое, что 1 CSS-пиксель на ретина-дисплеях для масштабирования следует учитывать devicePixelRatio при работе с canvas нужно учитывать pixel ratio в CSS…
Оценка сложности задач и планирование сроков Изучение требований и определение объёма работ scope Декомпозиция задачи на отдельные подзадачи Оценка продолжительности каждой подзадачи на основе экспертного мнения или…
Асинхронная передача сообщений через очередь Обработка с гарантией доставки один раз (at-least-once / exactly-once — в зависимости от реализации) Централизованное хранение событий с уникальными метками Разделение…