Зачем нужен контекст в gRPC-запросах и что происходит после его отмены Контекст как инструмент управления жизненным циклом запроса в Go Передача дедлайнов, сигналов отмены и метаданных между клиентом и сервером…
Использовал ли ты Testcontainers и зачем они нужны? Инструмент для интеграционного тестирования Запускает настоящие контейнеры Docker с СУБД, брокерами и другими сервисами Помогает поднимать зависимости в чистой и…
Работа с HTTP в Go resp.Body представляет собой поток тела ответа Необходимо обязательно вызвать defer resp.Body.Close() В противном случае возникает утечка ресурсов, включая TCP-соединения TCP-соединения не…
Контейнеризация Java-приложений с помощью Docker Docker представляет собой платформу для изоляции приложений внутри контейнеров Сначала создают Dockerfile, в котором выбирают базовый образ, как правило openjdk В…
Как корректно отменять горутины, выполняющие долгие операции? для управления долгими горутинными операциями в Go используется контекст следует применять context.Context вместе с отменой (CancelFunc) context нужно…
Риски глобального кеша и способы их устранения Проблемы: При параллельном доступе возможны состояния гонки (race conditions) Изменение данных в разных участках программы приводит к непредсказуемому состоянию…
Способы уменьшения размера Docker-образа выбор минимального базового образа (alpine, scratch) применение multi-stage build для разделения стадий сборки удаление из образа ненужных файлов и кеша объединение инструкций…
Dockerfile задаёт инструкции для создания контейнерного образа Итогом становится образ Docker Образ представляет собой неизменяемый снимок приложения и его окружения Он формируется последовательно — по слоям,…
Что такое схемы (schemas) в PostgreSQL? элемент модели данных PostgreSQL пространство имён для таблиц, представлений, индексов и других объектов объединяют объекты для их структурирования и администрирования…