Обновить
37.4

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

О создании API

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

OWASP Top 10 API: Полный разбор всех угроз и как от них защититься

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

API — это «кровеносная система» современного веба, но без должной защиты они становятся лёгкой добычей для хакеров. OWASP выделил Топ-10 уязвимостей API, которые чаще всего эксплуатируют злоумышленники. Разберём ключевые риски и методы защиты.

Читать далее

Схема GraphQL

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

В этой части цикла мы поговорим о центральном элементе GraphQL — схеме. Именно она является точкой соприкосновения клиента и сервера. И если нет схемы — то нет и API.

Читать далее

Меньше нагрузки — больше запросов: искусство кеширования API

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

Привет! Меня зовут Дима, я Backend-разработчик в Doubletapp. В этой статье расскажу про кеширование API (на примере Django Ninja): чем оно полезно бизнесу и когда его стоит внедрять.

Когда ваш продукт начинает расти, а пользователей становится всё больше, любой повторяющийся запрос к серверу — это лишняя нагрузка. Даже если человек просто обновил страницу или несколько пользователей задали один и тот же вопрос приложению, сервер отвечает заново — и тратит на это ресурсы.

А теперь представьте: вы можете обрабатывать одновременно в несколько раз больше запросов пользователей без расширения ресурсов и без переписывания ядра продукта. Как? С помощью кеширования — подхода, который «запоминает» одинаковые запросы и снижает нагрузку на сервер.

Содержание

Серверный кеш (хранилища «ключ-значение»)
Клиентский кеш (браузер, прокси)
Условные HTTP‑запросы
Промежуточное кеширование (CDN, reverse proxy)

Читать далее

Как трейдер с Reddit пытался обыграть рынок с Python и public API — и почему у него не вышло

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

На днях наткнулся на интересную дискуссию в англоязычном сообществе алгоритмических трейдеров на Reddit в r/algotrading. Участник поделился своим опытом создания скальпинг-бота для торговли 0DTE опционами (опционы с экспирацией в день торговли) и задался вопросом: "Есть ли здесь кто-то, кто реально обыгрывает рынок с помощью публичных API?".

Он использовал простую логику:
✅ Скользящие средние (EMA) для тренда
✅ RSI + Bollinger Bands для фильтрации входов
✅ Вход только "после открытия" и выход "до закрытия"
✅ Всё настраивается через параметры
✅ Бэктестинг через Python библиотеку backtesting.py

Несмотря на оптимизацию его робот в долгосроке всё равно не обыгрывает индекс S&P500.

Читать далее

От ручной обработки документов к СЭД на базе BPMS: опыт Корпорации развития Московской области (КРМО)

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

В госкомпаниях ежедневно работают с сотнями договоров, соглашений и внутренних регламентов. Такие объемы документооборота требуют автоматизации процессов согласования, контроля и архивирования. В этой статье расскажу, как Корпорация развития Московской области (КРМО) переехала на СЭД на базе BPM-платформы с автоматическими маршрутами согласования, контролем физических документов и интеграцией электронной подписи.

Читать далее

Управление скоростью маркетинговых рассылок: как не уложить фронтенд-платформу

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

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

Меня зовут Сергей Бакалдин, я работаю в команде ComPath. Сегодня я расскажу историю о том, как одна неосторожная e‑mail-рассылка чуть не положила фронтенд-систему «Спортмастера», и как мы от этого открестились с помощью гибкого механизма управления скоростью рассылок.

Читать далее

Frontend и OpenAPI: генерация клиента, мокирование API и данных с помощью MSW

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

Генерация кода по спецификации OpenAPI и мокирование запросов - эффективный способ автоматизировать процессы разработки и решить некоторые специфические задачи. В статье описано применение различных инструментов, которые могут быть использованы при генерации и мокировании.

Читать далее

Масштабирование stateful приложений

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

Всем привет! В этой статье я хочу разобрать довольно‑таки интересную и в то же время сложную тему — «Поддержание консистентного состояния в stateful сервисах при масштабировании».

Читать далее

Как добавить GigaChat в проект за 3 шага. Гайд и опенсорс-инструмент

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

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

В последнее время все больше разработчиков экспериментируют с большими языковыми моделями. GigaChat от Сбера — одна из самых доступных и мощных моделей на российском рынке. У нее есть подробное REST API, которое позволяет интегрировать нейросеть в любой продукт: от телеграм-ботов до сложных корпоративных систем.

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

Я столкнулся с этими задачами и, чтобы упростить жизнь себе и другим Go-разработчикам, написал gigago — легковесный и идиоматичный SDK. Его цель — взять на себя всю "грязную работу" и позволить вам добавить GigaChat в проект буквально за несколько минут.

Читать далее

Как «взломать» сайт Мосбиржи и получать лучшие BID и OFFER в Excel — без подписок, с помощью Python и API брокера

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

Excel - главный рабочий инструмент многих частных инвесторов. Здесь ведут портфели, стратегии и мониторинг котировок. Но получить от Московской биржи лучшие цены на покупку (BID) и продажу (OFFER) из стакана прямо в таблицу - задача не из простых. Даже платная подписка на сайт биржи не даёт получать котировки в Excel напрямую.

Но слово «взлом» в названии статьи - это художественное преувеличение. Мы не будем нарушать никаких законов или пытаться обойти защиту биржи и вообще даже не дышим в сторону серверов Мосбиржи. Однако голь на выдумки хитра - построим элегантное решение с помощью официального API от любого брокера.

Идея проста: создать локальный сервер-прокладку, который Excel сможет опрашивать через веб-запросы. Сервер будет обращаться к API брокера, получать данные стакана и возвращать их в понятном для себя XML формате прямо в вашу таблицу, в ячейке которой будет отображена нужная цифра.

Фактически по такой схеме можно получать любые параметры с биржи и видеть их в своём локальном Microsoft Excel или его свободном аналоге LibreOffice Calc.

Весь код представлен на GitHub.

Читать далее

Автоматизация рутины в Postman (часть 2): 10 Post-response скриптов, которые упростили мне жизнь

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

Как понять, что API отработало корректно? Как убедиться, что в ответе пришли нужные данные? И как использовать эти данные в следующих шагах, выстраивая сложные тестовые цепочки?

Именно здесь на сцену выходят post-response скрипты. Это код, который выполняется после получения ответа от сервера. Его основная задача – анализ, валидация и обработка полученных данных. Эти скрипты – ваши глаза и уши в мире API-тестирования, позволяющие автоматически проверять всё: от статус-кода до мельчайших деталей в теле JSON.

В этой статье мы рассмотрим 10 самых полезных post-response скриптов, которые превратят ручную проверку ответов в быстрый и надежный автоматизированный процесс. Давайте завершим наш путь к эффективному тестированию API!

Читать далее

Шаг за шагом проектируем сокращатель ссылок

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

В этой статье я хочу показать, что из себя представляет System Design. На примере простого и очень популярного на собеседованиях сервиса «Сокращатель ссылок», мы рассмотрим стадии System Design и в конце у нас будет готова схема системы со всеми расчетами.

Вперед!

Как вызывать C++ из Python

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

Сравнение PyBind11 vs ctypes

В принципе, можно вызывать C++ из Python двумя способами: при помощи библиотеки PyBind11 для C++, которая готовит модуль Python, либо при помощи пакета cytpes для Python, который предоставляет доступ к скомпилированной разделяемой библиотеке. Работая с PyBind11, не составляет труда совместно использовать множество типов данных, в то время как ctypes — это гораздо более низкоуровневое решение в стиле C.

Взявшись за описанный здесь проект, я хотел рассчитывать на производительность и переносимость C++, но так, чтобы не жертвовать интерактивностью интерпретируемых языков, которая удобна для экспресс-исследования и отладки.

К счастью, вызывать C++ из Python не так сложно, как может показаться на первый взгляд. Таким образом, можно в какой-то степени позаимствовать интерактивность Python при разработке кода C++.

Читать далее

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

Полуприподоткрытый API. Истории от команды, которая прошла через 10+ API-интеграций с банками

Время на прочтение5 мин
Охват и читатели503

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

Читать далее

Введение в GraphQL

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

В этой статье мы рассмотрим, что такое GraphQL и для чего он был создан. Разберёмся, какие задачи сложно решить в REST API, и какую альтернативу предлагает GraphQL.

Читать далее

COBOL в XXI веке: почему банки и госслужбы не могут отказаться от языка 1959 года

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

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

Как старейший «серверный» язык справляется с XXI веком, где безопасность и гибкость важнее вечной стабильности?

Читать далее

Как я создал Text Extract API для RAG за 2 дня с помощью AI и Cursor: подробный кейс

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

Разработка с помощью AI‑инструментов меняет подход к созданию ПО. Я сам убедился в этом на практике: всего за два дня мне удалось создать Text Extract API для RAG, используя Claude 4.0, Gemini Pro 2.5 и IDE Cursor. Этот эксперимент показал, что нейросети — уже не просто хайп, а мощный ассистент, способный значительно ускорить процесс разработки.

Наша команда занимается созданием ПО для IT‑специалистов — программу Управление IT‑отделом 8. В ней есть блок для работы с заявками от клиентов и обширная база знаний. Возникла идея: интегрировать нейросети для автоматической обработки тикетов. Кейс прост:

Прилетает тикет от клиента > Нейросеть смотрит в базу знаний и готовит ответ > IT‑специалист либо использует ответ нейросети, либо нейросеть отвечает автоматически.

Для реализации такого функционала необходимо обучить AI‑модель на нашей базе знаний, а это требует качественного извлечения текста из различных документов. Эта статья посвящена первому этапу этого процесса — созданию API для извлечения текстовых данных из файлов любых форматов, что критически важно для эффективной работы с Retrieval‑Augmented Generation (RAG).

Читать далее

System Design: Чек-лист для расчета нагрузки и стоимости системы на все случаи жизни

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

Этот коротки чек-лист поможет вам структурированно отвечать на вопросы по расчету нагрузки и стоимости системы на собеседовании System Design. Используйте его как пошаговый гайд, чтобы не упустить ключевые моменты.

Читать далее

Магия чисел в System Design: эти формулы спасут вас от банкротства и помогут оптимизировать вашу систему

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

При проектировании систем, обязательным этапом является расчет нагрузки и стоимости на вашу IT-Систему. Давайте разберемся что это за этап и почему он так важен. А также вместе посчитаем основные показатели нагрузки и договоримся о стоимости решения.

Читать далее

Как провалить собеседование по System Design: ошибки, которые допускают даже опытные разработчики

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

Собеседование по System Design — это не просто проверка технических знаний, а настоящее испытание вашего инженерного мышления. В отличие от алгоритмических задач, где есть чёткие правильные и неправильные ответы, здесь всё строится на умении анализировать, взвешивать компромиссы и предвидеть проблемы до их появления. Ирония в том, что даже опытные разработчики часто проваливают эти собеседования, потому что сосредотачиваются не на том. Они могут идеально знать, как работает Kafka или Cassandra, но если не умеют структурировать свои мысли и задавать правильные вопросы, их шансы резко падают.

Читать далее

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