Рубрика «rest»

Короткая суть. Некоторые команды до сих пор хранят «правду» об API в трёх несовместимых местах: в голове бэкендера, в страничке Confluence, которая устарела ещё прошлой весной, и в реальном JSON, который прилетает с прода. Эти три источника постоянно расходятся, и расплачиваются за это все — особенно клиентские разработчики. OpenAPI — это способ свести правду к одному файлу-контракту, понятному и человеку, и машине. В статье я разбираю, зачем это нужно, почему кодогенерация — далеко не главная причина, но при этом проговариваю, во что внедрение обойдётся бэкенду, и где у подхода реальные слабые места.

СитуацияЧитать полностью »

Адский эксперимент: личный сайт на нищих микросервисах - 1

Микросервисы тут, микросервисы там… Из каждого утюга доносится дивный сказ про прекрасный мир микросервисов. А ведь это всего лишь один вид из десятка архитектурных стилей, который имеет свои достоинства и недостатки.

Читать полностью »

В мире веб‑разработки просто написать «Hello, world» уже мало – сегодня требуется создавать масштабируемые приложения, которые удобно поддерживать, легко расширять, с ними приятно работать пользователям и не нервничают DevOps‑команды. Давайте пройдёмся по всем этапам создания веб‑проекта — от архитектуры и API до деплоя, мониторинга и SEO. Статья длинная и подробная; вооружайтесь чайником, а лучше – редактором кода, потому что будет много примеров.

1. Архитектура: монолит или микросервисы?

Начиная новый проект, стоит сразу определить структуру: монолит или микросервисная архитектура.

Читать полностью »

Как проектировать качественные API - 1

Основная часть работы современных разработчиков ПО1 связана с API: публичными интерфейсами для общения с программой, например, API Twilio. Я потратил кучуЧитать полностью »

Вступление

В 2024 году я начал изучать Spring AOP и решил проверять знания на практике - создал экспериментальный проект.

Идея была простой: что-то уникальное и реально полезное. На Java почти нет современных библиотек для интеграции с Python. Py4J и Jython либо ограничены, либо устарели, а полноценной интеграции с Spring Boot не было.

Так я решил создать библиотеку для связки Java и Python. Первоначально это был эксперимент с AOP и динамическим кодом, но в итоге проект вырос в полноценную open-source библиотеку, которую можно подключить одной зависимостью.

Начало эксперимента: изучение AOP в Spring Boot

Читать полностью »

Такие разборы задач отлично помогают потренироваться в подходах к решению рабочих задач + увеличить насмотренность.

Задача

Сценарий:  

У нас есть e-commerce платформа, состоящая из:

  • веб-приложения,

  • брокера сообщений,

  • бэкенда.

Клиенты могут заказывать товары, а складская система проверяет наличие товаров на складе.  

Каждый раз, когда клиент делает заказ, система отправляет запрос через брокер для проверки доступности товара на складе и блокирует его на время обработки заказа.

Проблема:  

Клиенты могут:

Практика — лучший способ глубокого понимания теории. Рассмотрим на примере, как работают веб-сервисы с протоколом SOAP, для чего нужен WSDL и как он связан с XML-документом в теле POST-запроса.

Для изучения работы веб-сервисов на основе протокола SOAP 1.1:

  • разработаем клиентскую и серверную части веб-приложения на Python

  • проанализируем структуру WSDL 1.1 (Web Services Description Language) описания веб-сервиса, сгенерированную серверной частью

  • создадим пользовательское пространство имен в формате XSD (XML Schema Definition)

  • проведем тестирование приложения с помощью Postman

SOAP, REST и немного теории.

Читать полностью »

В жизни каждого системного аналитика наступает момент, когда он открывает две вкладки: слева – Swagger с контрактом системы А, справа – Confluence с контрактом системы Б. Между ними – пустая Excel-таблица, либо ещё одна вкладка Confluence. Задача – простая, как мир: смаппить поля.

И начинается знакомый ритуал: скопировать атрибут из одного места, вставить в другое. Ctrl+C → Ctrl+V, снова и снова. Одно неверное движение или опечатка — и через пару дней от разработчика прилетит таск с комментарием «маппинг не работает, проверь пути».

Читать полностью »

Эпизод 1: «Скобка, паб и виски с валидацией» - 1

KafkaRail гудел на фоне.

Читать полностью »

Если, когда вы смотрите на NEST.js вас гнетёт необъяснимая тоска. Если вы не можете понять воодушевления и радости от использования декораторов. Если рассмотрение очередного NEST-инструмента вызывает лёгкое недоумение — не стесняйтесь, вы не одиноки.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js