Обновить
256K+

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

О создании API

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

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

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

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

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

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

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

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

Читать далее

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

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

Когда слышишь слово «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.3K

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Что за модная тема?

Платите за Wazzup, Chat-API или Green API? Вот бесплатная альтернатива: Evolution API v2 + n8n на VPS

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

Привет! Недавно наткнулся в GitHub на репозиторий Evolution API — open-source решение для работы с WhatsApp через API. Заинтересовался, решил протестировать и сразу понял, что это отличная альтернатива официальному WhatsApp Business API, который требует верификации бизнеса и стоит денег.

Развернул Evolution API на своем VPS, настроил интеграцию с n8n, и получил полноценный инструмент для автоматизации работы с WhatsApp. В этой статье поделюсь своим опытом установки и настройки — весь процесс занял около часа, включая подключение к WhatsApp и создание простого рабочего автоответчика.

Читать далее

Gately — мой симулятор логических схем: от «игрушки» к диплому

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

История создания логического симулятора на TypeScript: от «игрушки» на паре до архитектурного движка с DI, event-bus и системой плагинов.

Читать далее

Пора двигаться быстро. Даже если ты на Битриксе (часть 3)

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

Привет, хабровчане! На связи Алиса — тимлид в e-commerce агентстве KISLOROD.

Кто о чем, а я продолжаю рассказывать, как сшипперить Bitrix и Laravel. В первой части я рассказывала, как подружить Laravel с Битриксом так, чтобы никто не пострадал. Во второй — как устроить единый вход без шаринга сессий, ускорить каталог с OpenSearch, внедрить outbox-публикации и навести порядок в наблюдаемости. Теперь третий шаг — разгружаем чтение.

Читать далее

Laravel и Битрикс: как разъехаться в проде и остаться друзьями (часть 2)

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

Привет, хабровчане! На связи Алиса — тимлид в e-commerce агентстве KISLOROD. Мы ежедневно имеем дело с большими каталогами, сложной коммерцией и 1С, которая дышит в затылок. И однажды мы решили сделать невозможное: подружить Битрикс с Laravel... 

В первой части мы доказали, что Laravel и Битрикс могут жить вместе, как кот и пылесос — с уважением к личному пространству. Во второй — выносим бизнес-логику, не ломая 1С. Рассказываю, как устроить единый вход без шаринга сессий, ускорить каталог с OpenSearch, внедрить outbox-публикации и навести порядок в наблюдаемости. 

Читать далее

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

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

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

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

В этом эксперименте мы внедрим микросервисы в личный сайт, нарушив ключевые принципы DDD. Я создам антипаттерн «бедных сервисов» (Anemic Domain Model) и покажу, чем опасен прямой доступ к данным между микросервисами.

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

Читать далее

Не искушайте пользователей делением на ноль

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

Команда разработчиков прислала мне на ревью свой API, в одной из частей которого множество поддерживаемых значений выражалось в виде трёх чисел:

• Минимального допустимого значения.
• Инкремента.
• Максимального допустимого значения.

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

Команда сообщила, что если инкремент равен нулю, то поддерживаются только минимальное и максимальное значения.

Я указал, что эта архитектура искушает пользователя делить на ноль.

Читать далее

Интервью с автором книги «Архитектура бэкенда. API для надёжных корпоративных приложений»

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

Здравствуйте, уважаемые читатели. Сегодня мы предлагаем вашему вниманию текст, который приоткрывает некоторые аспекты нашей авторской кухни. Пост получился благодаря тому, что своим авторским опытом с нами поделился уважаемый Владислав Светлаков из Минска, выпустивший у нас книгу "Архитектура бэкенда. API для надёжных корпоративных приложений". Книга отлично продаётся у нас чуть менее трёх месяцев и продолжает разработку большой темы проектирования API. Ранее мы выпустили другие подобные книги, большинство из которых ориентировано на поддержку и доработку бэкенда. Важнейшие из них:

Читать далее

От REST к gRPC и GraphQL: современный подход к API

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

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

Читать далее

Семь кругов финтеха глазами разработчика: что ломается в платёжных интеграциях

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

Снаружи финтех выглядит безупречно: есть подробная документация, надёжные провайдеры, а платёжные интеграции будто можно внедрять «на автопилоте». Но стоит заглянуть внутрь, и вы попадаете в «семь кругов финтеха», где любая мелочь превращается в драму, отнимающую выходные и нервы всей команды.

В этой статье разберем два эпизода из практики: от технических тонкостей до ситуаций на стыке бизнеса и разработки. Поговорим о том, почему слепое доверие документации часто оборачивается болью и как проактивный подход помогает компании сэкономить деньги, а разработчикам — сохранить нервы и сон.

Читать далее

Один Swagger вместо сотни страниц Confluence: как в Рунити навели порядок в API-документации

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

Привет, Хабр! На связи Маргарита Сорочинская, технический писатель отдела архитектуры в Рунити. Хочу рассказать, как мы в компании подошли к описанию API в Swagger — и почему решили перенести туда всё, что раньше жило в Confluence. А еще поделюсь с вами стартерпаком для описания API в Swagger, пошаговой инструкцией и всеми ссылками, чтобы для вас этот путь был уже более простым.

Читать далее

Чек-лист, который превращает интеграцию из хаоса в процесс

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

Добрый день, дорогие читатели!

Хотела бы поделиться своим накопленным опытом и предложить вам некий универсальный чек-лист или даже в некоторой степени перечень рекомендаций в разрезе активностей и ролей, который поможет вам при интеграции систем, подготовке новых проектов. Желаю вам приятного чтения!

Читать далее