JavaScript в браузере выполняется в одном основном потоке, связанном с UI для параллельного выполнения используются Web Workers Web Workers запускаются в отдельных потоках и работают в изолированной среде обмен…
Как в куче организована память объекта ссылочного типа? управление памятью объектов в куче объект представлен блоком памяти, в котором хранятся его данные каждый объект содержит метаданные, включая ссылку на тип в…
Механизмы аутентификации и авторизации в микросервисной архитектуре с Spring Security Аутентификация — это подтверждение личности пользователя либо сервиса Авторизация — определение доступных ресурсов на основании…
Массивы размещаются в непрерывной области памяти: их размер фиксирован, а элементы находятся последовательно Срез представляет собой структуру-обёртку, содержащую указатель на массив, длину и capacity Capacity — это…
В CQRS командная (write) и запросная (read) базы разделяются, чтобы эффективнее распределять нагрузку Изменения передаются с помощью асинхронной репликации Для этого применяют event sourcing либо событийную шину…
определяется используемым языком и типом данных по значению: функция получает копию данных (примитивные типы в C, Java, Python) по ссылке: передаётся адрес объекта (объекты в C++, Java, Python) комбинированная модель:…
Выбор стратегии: фабрика, DI или другой паттерн архитектурный подход к созданию объектов фабрика: отвечает за создание объектов и скрывает детали их конструирования Dependency Injection (DI): получает зависимости…
реляционная модель, база данных основа решения: две сущности соединяются через промежуточную таблицу в промежуточной таблице хранятся внешние ключи, ссылающиеся на первичные ключи обеих сущностей в качестве первичного…
Транзакция представляет собой последовательность операций, выполняемую как единое целое Атомарность (ACID) означает: либо выполняются все операции, либо не выполняется ни одна При возникновении ошибок используются…
подход к управлению распределёнными транзакциями крупная транзакция представляется последовательностью локальных операций в отдельных сервисах для каждой операции предусматривается компенсирующее действие, позволяющее…
Kafka и RabbitMQ: модели доставки push и pull Kafka использует pull-модель Воркер самостоятельно запрашивает появившиеся сообщения Это позволяет управлять темпом чтения: consumer контролирует offset Такой подход…
Ручное преобразование int32 в строку с использованием рун низкоуровневое представление числа как последовательности цифр сначала определяем знак и отдельно сохраняем его, если число меньше нуля поочерёдно получаем…