Что произойдёт, если не синхронизировать доступ к общей переменной? многопоточность / конкуренция гонки данных: некорректные и непредсказуемые значения состояния гонки: ошибки логики и баги возможны потеря обновлений…
контекст: Go, каналы (channels) неинициализированный канал — это значение nil запись в nil-канал блокирует горутину навсегда при записи или чтении ошибка и паника не возникают если нет других горутин, способных снять…
Контекст: Unity и управление памятью MonoBehaviour — сценовый компонент, связанный с объектом Addressables отвечают за жизненный цикл ассетов Удаление MonoBehaviour из сцены само по себе не выгружает ассет из памяти…
команда объединяет содержимое двух веток в Git при необходимости формирует новый коммит слияния (merge commit) оставляет в истории коммиты из обеих веток может выполнить fast-forward, когда текущая ветка является…
контекст: Redux, управление состоянием при диспатче экшена первым вызывается middleware middleware перехватывает, обрабатывает или изменяет экшен до его передачи редьюсерам после этого экшен поступает в редьюсеры,…
Что происходит в Redux после диспатча экшена? Redux — централизованное хранилище состояния При диспатче отправляется объект экшена, содержащий тип и данные Экшен передаётся в редьюсер, представляющий собой чистую…
Что происходит после нажатия кнопки в браузере (HTTP-пайплайн) событие click передаётся JS-обработчику браузер собирает HTTP-запрос (method, headers, body) DNS преобразует имя хоста в IP-адрес создаётся TCP-соединение…
Что происходит внутри Thread? поток является единицей планирования ОС и основой многозадачности для него выделяются стек памяти и контекст выполнения он асинхронно выполняет функцию или метод для переключения…
Этапы обработки URL в браузере DNS-запрос: преобразование доменного имени в IP-адрес Установка TCP-соединения (3-way handshake) Передача HTTP-запроса (GET/POST и другие методы) Обработка запроса сервером и отправка…
struct представляет собой значимый тип в .NET методы GetType и ToString унаследованы от System.ValueType → Object GetType возвращает runtime-тип, используя механизмы рефлексии Если ToString не переопределён, по…
небуферизированный канал обеспечивает синхронное взаимодействие горутин при операции send горутина ждёт, пока другая горутина не примет значение одновременная запись нескольких горутин не даёт гарантии порядка, но сам…
Что происходит при выделении 1 КБ памяти? Операционная система получает запрос через API (malloc/new) ОС находит свободный блок размером не менее 1 КБ с учётом выравнивания Если свободного блока нет, система выделяет…