Обновить
50.45

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

О создании API

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

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

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

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

Читать далее

Новости

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

Получить цены акций, фондов и ОФЗ в Google Sheets

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

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

Изучая информацию по работе с API в таблицах Google/Excel, понял лишь то, что я ничего не понимаю, разбираться в xpath, в парсинге XML внутри формулы это всё, как-то очень тяжело и громостко. У меня была простая задача, разработать что бы то ни было для получения текущей цены по конкретному активу с Мосбиржи. И как мне кажется, у меня это получилось в дотаточной степени чтобы можно было получить информацию и далее, как-то её агригировать, как вам удобно. Также сразу поясню, что функция GOOGLEFINANCE больше не работает, по этому остается искать другие пути решения.

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее
1
23 ...

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