Пошаговая отправка сообщения клиентом в gRPC-сервис gRPC — фреймворк для удалённого вызова процедур (RPC), работающий поверх HTTP/2 Клиент компилирует protobuf-файлы и получает локальный stub — клиентский код Затем…
Как ключевое слово final влияет на диспетчеризацию методов? — объектно-ориентированное программирование и оптимизация вызовов — final не позволяет подклассам переопределять метод — для метода с модификатором final…
SQL-запрос и выборка данных чем больше полей, тем больше данных передаётся: растёт объём в байтах и сетевой трафик увеличение числа полей повышает нагрузку на I/O и сеть сложные типы данных, например LOB и TEXT, могут…
Декомпозиция крупных задач в команде Agile/ Scrum: преобразование требований в user stories и планирование по спринтам Совместный брейншторм с участием всех заинтересованных ролей Разделение работы по…
Контейнеризация Java-приложений с помощью Docker Docker представляет собой платформу для изоляции приложений внутри контейнеров Сначала создают Dockerfile, в котором выбирают базовый образ, как правило openjdk В…
Java-коллекции, в том числе HashMap, используют hashCode() для ускорения поиска Правило контракта таково: при результате equals() true метод hashCode() обязан возвращать одинаковое значение Если правило нарушено,…
Как с помощью Spring Boot Actuator контролировать работоспособность приложения? Spring Boot Actuator — инструмент мониторинга Spring Boot открывает доступ к профилям, метрикам и состоянию здоровья приложения через…
Как корректно настроить http.Server.Shutdown для воркеров и ресурсов Контекст: graceful shutdown HTTP-сервера в Go http.Server.Shutdown выполняет плавную остановку: прекращает приём новых соединений и ожидает…
Как корректно отменять горутины, выполняющие долгие операции? для управления долгими горутинными операциями в Go используется контекст следует применять context.Context вместе с отменой (CancelFunc) context нужно…
Как корректно отменять корутины и какие средства для этого применяются? Управление корутинами в Kotlin/Coroutine строится вокруг контекста отмены Отмена передаётся по иерархии контекстов: при отмене родителя…
Кэширование тяжёлых вычислений: стратегии и проблема cold start Область: кэширование, оптимизация производительности Cache-aside: приложение самостоятельно читает данные из кэша и обновляет его Сначала запрос…
Как логируют ошибки и исключения в Celery? контекст: логирование задач Celery применяется стандартный модуль Python logging Celery создает собственный логгер с именем celery для записи ошибок используются методы…