Обновить
37.4

Проектирование API *

О создании API

Сначала показывать
Порог рейтинга
Уровень сложности

Идемпотентность: не просто теория, а необходимость для надёжных систем

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели3.7K

Представьте, что вы нажимаете кнопку «Отправить заказ» в интернет-магазине. Если страница зависла, вы нажмёте её ещё раз. Идемпотентная система обработает повторный запрос так, что вы не получите два одинаковых заказа и с вашей карты не спишутся деньги дважды. Неидемпотентная — создаст два заказа и спишет средства дважды.

Читать далее

Новости

Как управлять миром с помощью Nu

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели7.7K

Даже сравнительно простой мир, такой как ArtifactoryMMO, приподносит не мало неожиданностей. Хотя есть много примеров кода для управления этим миром из Javascript и Python, я выбрал более серьезный язык, расчитывая прикрутить туда какие-нибудь интересные алгоритмы машинного обучения. Но все равно слишком часто, по крайней мере при отладке, приходится отдавать отдельные команды и анализировать что получилось вручную. Несмотря на прекрасный REPL в Julia, один из лучших, что мне доводилось использовать, и для отладки своего кода, и просто как калькулятор, здесь это оказалось не очень удобно. Конечно, есть curl и jq, но по эргономичности он тоже не идеален. Не curl-ом единым, удобный HTTP-клиент встроен, например, в PowerShell. Но мне захотелось чего-то нового и прогрессивного, и я решил посмотреть Nu. Эта статья предназначена, чтобы привлечь к этому shell любителей MMO-игр, и заинтересовать MMO-играми пользователей nu-shell, а если повезет, заинтересовать обоими темами тех, кто раньше про них и не знал.

Читать далее

Мифы про REST API. Часть 1

Время на прочтение12 мин
Охват и читатели6.6K

Как говорится, в споре рождается истина. И этот случай не стал исключением. Часто проектирую запросы, консультирую аналитиков, сама консультируюсь у разработчиков и заметила, что иногда мы по-разному понимаем некоторые аспекты REST. Когда я стала погружаться в тему, то материала набралось столько, что одной статьей не обойтись. Понимание мифов позволяет делать более осознанный выбор при проектировании.
С вами Дарья Борисова, системный аналитик из ПСБ, и я начинаю цикл статей «Мифы о REST».

Читать далее

Как мы запустили кредитное приложение за 6 месяцев. Опыт

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели5.6K

С нуля собрали кредитное PWA-приложение за 6 месяцев. Рассказываем, какие решения помогли быстро выйти на рынок и выдержать рост.

Читать далее

Multi-API Ensemble: 95% точности транскрипции региональных топонимов

Уровень сложностиСредний
Время на прочтение28 мин
Охват и читатели7.3K

В статье полный разбор архитектуры, алгоритмы scoring, примеры кода и расчёт экономики.

Один STT-сервис дал 60-70% точности на специфической лексике (топонимы, названия улиц, профессиональные термины). Два сервиса параллельно + взвешенное голосование + AI-fusion для спорных случаев дали 95%+ точности. Время обработки 5-8 секунд.

Читать далее

OpenAPI на практике: пошаговое руководство

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели6.7K

OpenAPI — это открытая спецификация для описания REST API. Изначально она называлась Swagger, но в 2016 году была переименована в OpenAPI Specification и передана под управление OpenAPI Initiative. На данный момент Swagger — это набор инструментов для работы со спецификацией OpenAPI (Swagger UI, Editor, Codegen).

В OpenAPI определяются пути, параметры, тела запросов и ответов, коды статусов, схемы данных, типы аутентификации. В статье мы рассмотрим спецификацию OpenAPI версии 3.0: разберем из каких обязательных блоков она состоит и как правильно описывать типы данных и параметры запросов.

Читать далее

Разговор о том, как сделать интеграцию умнее: опыт, грабли и рабочие подходы

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели5.9K

Привет, Хабр!

Знаете, что объединяет разработчика из стартапа, архитектора банковской системы и техлида платежного сервиса? Все они хотя бы раз материлась над интеграцией, которая должна была занять день, а растянулась на месяц. Легаси не подружилось с новой системой, протоколы оказались несовместимы, а документация — устаревшей на три года.

Читать далее

GraphQL и REST: что и для чего выбирать

Время на прочтение9 мин
Охват и читатели7.5K

В мире веб-разработки технологии меняются с молниеносной скоростью. Еще недавно REST казался универсальным ответом на все вопросы, однако сегодня компании ищут более эффективные решения, позволяющие обрабатывать огромные объемы данных и обеспечивать максимальную производительность.

Сегодня мы разберём GraphQL — что это за инструмент, как он работает, какие задачи решает, где оказывается удобнее REST и почему многие компании выбирают его для новых проектов.

Читать далее

Проектирование REST API: частые ошибки и как их избежать

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели5.5K

Мы поговорим про основные ошибки, которые очень часто допускаются при проектировании «с нуля» в REST API на примере базового взаимодействия между клиентом и сервером в системе. 

Самая частая проблема, с которой у многих всё начинается — это «проблема чистого листа». Мы поговорим о том, как описать API метод с самого начала и избежать при этом наиболее распространенных ошибок. 

Читать далее

Лучше, чем JSON: почему я перешёл на Protobuf

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели9.3K

Команда Go for Devs подготовила перевод статьи о том, почему автор почти десять лет не использует JSON в своих API и предпочитает Protobuf. Он объясняет, как строгая типизация, компактная бинарная сериализация и генерация кода дают разработчикам больше надёжности и скорости.

Читать далее

Как документировать GraphQL API: полное руководство для технических писателей

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели6.8K

GraphQL API — это мощно, но как его документировать, чтобы разработчики остались довольны? В этой статье — готовый план действий. Мы начнём со сравнения GraphQL и REST, затем покажем, как с помощью комментариев и примеров кода превратить схему в наглядное руководство. Вы узнаете, как улучшить GraphiQL Playground подсветкой синтаксиса и создать статический справочник, если Playground недоступен. В конце вас ждёт учебный репозиторий для тренировок на реальном API.

Читать далее

Большинство уязвимостей веб-API не выявляются стандартными тестами

Время на прочтение6 мин
Охват и читатели5.6K

Как обезопасить себя от атак по этому вектору, за которым плохо следят

Безопасность API — «отличный вход» в карьеру пентестера, считает Кори Дж. Болл, эксперт в отрасли.

ИНТЕРВЬЮ. Обеспечение безопасности веб-API требует иного подхода, чем классическое обеспечение безопасности веб-приложений, поскольку стандартные тесты обычно упускают наиболее распространённые уязвимости, возникающие при работе с API.

Именно так считает эксперт по безопасности API Кори Дж. Болл, предупреждающий, что методы, не откалиброванные на работу с веб-API, могут давать пентестеру слишком много ложноотрицательных результатов.

Болл начинал осваивать искусство пентестинга веб-приложений ещё в 2015 году по хакерским книгам, а также ресурсам HackTheBox и VulnHub. Далее он оттачивал навыки работы с компьютерами, пользуясь Cold Fusion, WordPress, Apache Tomcat и другими веб-приложениями, ориентированными на использование на большом предприятии.

Читать далее

API как продукт: честный взгляд изнутри Ozon Seller API

Время на прочтение8 мин
Охват и читатели8.5K

Когда слышишь слово «API», первое, что приходит в голову — это технический набор функций для программистов. Но в нашей работе с Ozon Seller API я убедился, что API — это целый продукт, в котором нужно думать не только о коде, но и о двух разных аудиториях, метриках, бизнес-логике и даже внутренней политике большой компании.

Seller API обслуживает сотни тысяч активных продавцов, а также тысячи десятки тысяч разработчиков и интеграторов, которые строят на его основе свои решения. При этом у нас есть серьезный вызов — сделать так, чтобы API был удобен и надежен для обеих аудиторий, при этом оставаясь прозрачным и стабильным интерфейсом.

Меня зовут Лев Савельев, я старший менеджер по продукту Ozon Seller API. В этой статье расскажу, как мы развиваем Seller API как продукт, с какими вызовами столкнулись, какие ошибки сделали и чему научились, и как вся работа связана с экосистемой Ozon — порталом dev.ozon.ru и существующим Магазином приложений для селлеров.

Читать далее

Ближайшие события

Интеграция с маркетплейсами Wildberries и Ozon: коды, лимиты и одна Елена

Время на прочтение6 мин
Охват и читатели16K

Привет, Хабр! Меня зовут Юля Анпилогова, я менеджер команды индивидуальных интеграций CDEK. Мы стали первыми, кто не только запустил интеграцию с Wildberries по схеме DBS (delivery by seller — доставка силами продавца), но и создал единую точку подключения к маркетплейсам WB и Ozon. Этот опыт оказался похож на квест. Курьеры, не привыкшие спрашивать код, лимиты запросов API Wildberries и покупательница Елена, заказавшая тестовый ежедневник — всё это оказалось его частью. Сегодня в статье расскажу, как мы прошли этот путь.

Читать далее

API, который растёт вместе с вами: за кулисами GitVerse

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели6.1K

Проектирование публичного интерфейса, с которым впоследствии будут иметь дело наши пользователи — занятие, требующее от разработчика, с одной стороны, максимально кропотливого подхода и внимания к деталям, а с другой — скорости, так как пользователи ждут результата как можно скорее.

Привет, на связи Виктор Степанов, лид одной из core-команд ИИ-платформы для работы с кодом GitVerse. Сегодня я хочу поделиться коротким рассказом о том, как мы начали проектировать и разрабатывать публичный API для нашей платформы.

Читать далее

Лучшие практики в Sequence-диаграммах для системных аналитиков

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели8.2K

В данной статье я хочу поделиться опытом и рассказать о том, как системным аналитикам улучшить Sequence-диаграммы (диаграммы последовательностей) с помощью лучших практик.

Я покажу, как некоторые подходы из мира программирования (те самые best practices и идеи из Clean Code) помогают рисовать sequence-диаграммы чище и понятнее. 

Читать далее

Электроконнект: как сложный контент становится частью производственного процесса

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели5.8K

Работая над сайтом завода «ЭЛЕКТРОконнект», мы столкнулись с задачей, знакомой всем, кто делает проекты для технического B2B. На первый взгляд, всё просто: обновить сайт, сделать понятнее, удобнее, современнее. Но под этой простотой задачей скрывается целый пласт системных особенностей от отраслевых стандартов до внутренней логики работы с заявками, где каждая форма и таблица это часть производственного процесса.

Читать далее

Яндекс Трекер: Инструкция. Как создать форму для шаблонизации задач и проектов

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели7.1K

Сервис Яндекс Трекер хорошо подходит для управления процессами и проектами, однако сейчас «из коробки» нет решения для шаблонизации задач проектов. Каждый проект нужно заводить с самого начала, что увеличивает время работы с проектами и задачами.

В данной инструкции предложено решение, как с помощью Яндекс Форм, Yandex Cloud Functions и Яндекс Трекера создать инструмент для шаблонов проектов с уже существующими предустановленными задачами по вашим параметрам.

Читать далее

Как работает облако на самом деле. Простое объяснение на реальном примере

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели7.2K

Облако  это гибкая и экономичная модель, которая подстраивается под нагрузку и помогает бизнесу расти без лишних затрат. На простом, но реалистичном примере разбираемся, как всё устроено внутри и почему облачные подходы в некоторых случаях  выигрывают у традиционного хостинга.

Читать далее

JSON? JSONB? BSON? CBOR? MsgPack? А, VaryPackǃ

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели9.5K

VaryPack — новый, простой, гибкий, шустрый и компактный формат бинарной сериализации произвольных данных.

Что за модная тема?
1
23 ...

Вклад авторов