Механизмы аутентификации и авторизации в микросервисной архитектуре с Spring Security Аутентификация — это подтверждение личности пользователя либо сервиса Авторизация — определение доступных ресурсов на основании…
Массивы размещаются в непрерывной области памяти: их размер фиксирован, а элементы находятся последовательно Срез представляет собой структуру-обёртку, содержащую указатель на массив, длину и capacity Capacity — это…
определяется используемым языком и типом данных по значению: функция получает копию данных (примитивные типы в C, Java, Python) по ссылке: передаётся адрес объекта (объекты в C++, Java, Python) комбинированная модель:…
Выбор стратегии: фабрика, DI или другой паттерн архитектурный подход к созданию объектов фабрика: отвечает за создание объектов и скрывает детали их конструирования Dependency Injection (DI): получает зависимости…
подход к управлению распределёнными транзакциями крупная транзакция представляется последовательностью локальных операций в отдельных сервисах для каждой операции предусматривается компенсирующее действие, позволяющее…
Kafka и RabbitMQ: модели доставки push и pull Kafka использует pull-модель Воркер самостоятельно запрашивает появившиеся сообщения Это позволяет управлять темпом чтения: consumer контролирует offset Такой подход…
Ручное преобразование int32 в строку с использованием рун низкоуровневое представление числа как последовательности цифр сначала определяем знак и отдельно сохраняем его, если число меньше нуля поочерёдно получаем…
Кэш представляет собой хранилище промежуточных данных, которое ускоряет доступ к информации Инвалидация необходима для поддержания согласованности данных Основные стратегии инвалидации: TTL (время жизни):…
Обработка ошибок и отказоустойчивость при взаимодействии сервисов для временных сбоев применяем паттерны повторных попыток (retry) с backoff circuit breaker изолирует неисправный сервис и не допускает каскадного…
Как обеспечивать потокобезопасность в приложениях? синхронизация критических секций с помощью мьютексов и семафоров применение атомарных операций и lock-free структур данных для сохранения высокой производительности…
Что представляет собой паттерн Singleton? Это паттерн проектирования, относящийся к группе порождающих Он гарантирует наличие единственного экземпляра класса в приложении И предоставляет глобальную точку доступа к…
Принципы SOLID: SRP, OCP, LSP, ISP и DIP с практическими примерами SOLID — пять принципов, которые помогают проектировать качественный объектно-ориентированный код SRP (Single Responsibility Principle): у класса…