REST — архитектурный стиль, а HTTP — протокол Как правило, запросы выполняются синхронно: клиент ожидает ответ сервера Асинхронность реализуется на стороне клиента или сервера На клиенте: применять fetch/AJAX с…
Интеграция с внешним API или сервисом Настроить повторные попытки (retry) с экспоненциальным увеличением интервала Задать тайм-ауты для запросов и обрабатывать возникающие ошибки При недоступности сервиса сохранять…
Как превратить неидемпотентный метод в идемпотентный? Область: веб-сервисы, REST API Да, это возможно. Идемпотентность означает, что повторный вызов приводит к тому же результату. Возможные подходы: • Применять…
Spring Boot — фреймворк, который обеспечивает быстрый старт Java-приложений Создать основной класс и пометить его аннотацией @SpringBootApplication Сгенерировать проект с необходимыми зависимостями с помощью Spring…
Проектирование API загрузки больших файлов при нестабильном интернете API должен предусматривать поэтапную загрузку (chunked upload), при которой файл разделяется на отдельные части Каждый фрагмент отправляется…
Проектирование gRPC API с сохранением backward compatibility gRPC API описывается с помощью Protocol Buffers (proto) Не удаляйте существующие поля — добавляйте новые, назначая им уникальные номера для расширения схемы…
Проектирование базы данных для системы расписания модель предметной области включает уроки, записи, учителей, классы и аудитории урок — основная сущность, содержащая время проведения, предмет, учителя и аудиторию…
В основе лежит распределённая система для обмена сообщениями После регистрации клиента сервис выдаёт ему уникальный токен устройства Бэкенд сохраняет токены и передаёт уведомления через Push Notification Service…
Как спроектировать возобновляемую загрузку файла при нестабильном соединении с помощью API и управления состоянием Контекст: передача файлов по unreliable network Задействовать API, поддерживающий HTTP Range-запросы,…
Интеграция third-party сервиса: от проектирования до релиза на этапе проектирования определить требования и границы ответственности определить протокол взаимодействия: REST API, Webhook, OAuth заранее спроектировать…
Как спроектировать спецификацию фронтенда для рабочего места менеджера с CRUD? интерфейс back office для управления заказами базовый набор операций: CRUD (Create, Read, Update, Delete) над заказами экран списка…