Обновить
256K+

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

О создании API

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

Как команда проектировщиков за 2 месяца освоила nanoCAD BIM без отрыва от производства

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

Рассказ, как команда проектировщиков АО «НПП «ИСТА-СИСТЕМС» за 2 месяца в гибридном формате (видеоуроки в СДО + консультации) освоила nanoCAD BIM ОПС без отрыва от производства, после чего применила знания в крупном проекте.

Читать далее

Новости

Renga API: Создание объектов

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

Одна из главных автоматизаций в BIM – создание объектов. Разбираем создание объектов через Renga API шаг за шагом.

Читать далее

Иллюзия легких денег: почему американский API не быстрее активов, торгуемых на Московской бирже

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

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

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

В качестве поводыря я хотел использовать внешний рынок и API американского поставщика данных для того чтобы получать информацию о:

📍 XAU/USD — Gold Spot / US Dollar
📍 EUR/USD — EUR/USD
📍 BTC/USD — Bitcoin to US Dollar (котировки выбранной поставщиком биржи)

А саму торговлю осуществлять на фьючерсах Мосбиржи:

📍 GDM6 — фьючерсный контракт на золото
📍 GNM6 — фьючерсный контракт на золото (мини)
📍 EDM6 — фьючерсный контракт на курс евро‑доллар США
📍 IBM6 — фьючерсный контракт на акции IBIT iShares Bitcoin Trust ETF
📍 BTM6 — фьючерсный контракт на Индекс МосБиржи Биткоина

Сразу уточню что я не пытался строить высокочастотную торговую систему или конкурировать с маркет‑мейкером. Я частное лицо, НЕ представитель фонда или брокера, а работаю через обычный брокерский API, задержка до меня в город Пермь — несколько секунд (иногда больше).

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

Синхронизированы ли цены разных площадок?

Пособие по COM в Мастере функций nanoCAD BIM Строительство

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

Знакомим с API для автоматизации в nanoCAD BIM Строительство, фокусируясь на COM-интерфейсе: объясняем, что это такое, какие у него есть объекты, свойства, методы и коллекции, как работать с ними в Мастере функций.

Читать далее

Пять продуктов в одном FastAPI-монолите: HTMX вместо React, грабли Telegram Mini App и биллинг на Stars

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

TL;DR: Привет, Хабр. С 2 по 12 мая я в режиме нон-стоп писал Doday — кросс-платформенный todo: web, Telegram Mini App, чат-бот. Получилось 317 коммитов, ~40 000 строк кода, 633 теста, 38 модулей в app/. Стек — FastAPI + HTMX + Alpine.js + Tailwind, без единой строчки React. Писал в паре с Claude Code, и не скрываю этого — расскажу как именно и какая часть кода реально моя голова, а какая — клавиатура. Грабли, цифры, ссылки внутри.

Читать далее

Как я проектировал очередь задач для работы с AI-агентом

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

Разбираю, как я отделил жизненный цикл задачи от владельца следующего действия, чтобы AI-агент видел не просто список дел, а очередь: что можно брать в работу, что ждет человека, что требует ревью и что заблокировано.

Читать далее

Пауза, двойственная по природе: контракт хука и протокол воркера

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

Предположим, вы пишете интерпретатор машины Тьюринга, запущенный в Web Worker’е. UI должен показывать трейс — как машина шагает от состояния к состоянию, что пишется на ленту, как двигается каретка. Чтобы пользователь успевал считывать изменения в UI, между итерациями движка нужна короткая задержка — миллисекунды, регулярно, на каждом шаге. Это приостановка движка между итерациями — регулярная и предсказуемая, не «пауза» в смысле UI-кнопки «Пауза» (та останавливает машину до клика «Продолжить»).

Возникает вопрос: где именно в цикле итерации воркеру нужно реализовать приостановку? Кандидатов два, и выбор между ними фиксирует сразу два контракта: хуков движка и протокола между воркером и основным потоком. Выбрать точку — это спроектировать обе стороны сразу; промахнуться — испортить обе. Эта статья — про этот выбор.

Где живёт пауза

Парсинг Telegram: как мы автоматизировали сбор скрытых ID чатов через Telethon и сэкономили 20 часов рутины

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

Как автоматизировать перехват лидов из Telegram, если конкуренты прячут свои чаты и запрещают копирование ссылок? Клиент пришел с задачей: парсить комментарии из 50 крупных каналов в реальном времени. Проблема в том, что для прослушивания нужен ID скрытой группы, который менеджеры вытаскивали руками, тратя на это полдня. В этой статье показываю, как мы обошли визуальные ограничения интерфейса, вытащили нужные ID напрямую через API Telegram и сократили рутину с десятков часов до пары секунд. Внутри — готовый скрипт-сканер на Python.

Читать далее

Топ-10 вопросов на собеседовании по FastAPI

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

FastAPI окончательно закрепился в стеке Python-разработчиков, а значит, на собеседованиях вас точно будут гонять по корутинам, Pydantic и Dependency Injection. Я собрал 10 реальных вопросов (включая коварные подвохи от сеньоров!), которые сейчас задают джунам и мидлам. Никакой сухой теории из доков — только практика. Го под кат — проверим, насколько вы готовы к следующему интервью!

Читать далее

AI-метрдотель для ресторанной сети: архитектура, сценарии и интеграции

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

Чат-боты в ресторанном бизнесе чаще всего начинают с простой задачи: снять часть нагрузки с менеджеров и отвечать гостям на типовые вопросы. На практике многие такие решения быстро упираются в ограничения. Бот отвечает шаблонно, не понимает свободный текст, не учитывает контекст гостя, не видит актуальные данные ресторана и при нестандартном запросе просит переформулировать вопрос или вручную переключает диалог на сотрудника.

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

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

Читать далее

Super Schema Architecture

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

В статье описывается подход к разработке прикладных приложений, основанный на едином максимально подробном формате описания доменных сущностей и контрактов. Приводятся практические примеры использования такого описания. В том числе показано, как декларации могут привнести удобства low-code решений в обычные full-code программы.

Описанный подход работает независимо от используемого на проекте стека технологий и особенно полезен в гетерогенных системах. Поэтому я стараюсь приводить примеры из разных языков программирования и технологий: Java, Python, TypeScript, REST, GraphQL, protobuf.

Читать далее

Ваше сообщение об ошибке читает уставший человек в два часа ночи

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

Два часа ночи, у разработчика горит релиз, он подключает ваш API — и получает в ответ голое «invalid_request». Что не так, почему, что делать — ни слова. Сорок минут гаданий и злое письмо в поддержку.

Разбираем, как сделать опыт разработчика (DX) человеческим: как переписать ошибки по стандарту RFC 9457, но для живого человека; почему время до первого успешного вызова — главная метрика онбординга; и отчего предсказуемый, «скучный» API — это комплимент. С готовым шаблоном, который можно прикрутить к себе сегодня.

Читать далее

FASA: архитектура ПО без слоёв и адаптеров. Спецификация

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

Большинство современных архитектурных подходов учат нас строить всё больше слоёв абстракции: контроллеры, сервисы, репозитории, адаптеры, транспортеры… Но что, если сложность системы растёт не из-за предметной области, а из-за самой архитектуры?

В этой статье я представляю FASA (Flat Adaptive Software ARchitecture) — спецификацию, которая предлагает радикально простой ответ: всего три сущности, строгие правила зависимостей и никаких промежуточных слоёв.

Вы узнаете, почему «плоский» граф компонентов может быть устойчивее многослойной архитектуры, как версионировать интерфейсы без боли, используя правило двойной поддержки (N-1) и где проходит граница между семантикой приложения и инфраструктурой — и почему это важно.

Спецификация языково-независима: примеры приведены для разных контекстов (Rust, сетевые протоколы, IPC), но правила применимы в любом стеке.

Читать

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

IT-ретейнер для ресторанной сети: как за 7 месяцев запустить 6 цифровых продуктов

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

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

За 7 месяцев работы были запущены 6 продуктов:

Читать далее

APItizer — конструктор REST API-контрактов

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

Добрый день, уважаемые читатели Хабра.

В этой статье я хочу рассказать о продукте APItizer, почему появилась потребность в его создании и какой путь привёл от небольшого Python-скрипта к полноценному инструменту для проектирования REST API-контрактов.

Если вам интересно сразу посмотреть на продукт, добро пожаловать в APItizer (прямая ссылка, вдруг домен не работает).

Читать далее

Два мажора, один README, одно демо: два почти бесплатных дизайн-ревью

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

Из трёх мажоров, описанных в предыдущей статье, два не всплыли в тестах. Они всплыли в двух дизайн-ревью, которые тесты провести не могут.

Что поймали ревью, а не тесты

Автоматизируем генерацию gRPC стабов для Go

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

Держать proto-контракты в одном репозитории удобно, но подключать их целиком в каждый сервис — не очень. Разберём, как автоматически генерировать Go-стабы из proto-файлов, версионировать их как отдельные Go-модули и публиковать через GitLab CI/CD. Бонусом — swagger-документация и GitLab Pages.

Читать далее

Telegram Mini App для ресторанов: бронирования, IIKO, CRM, Grafana и Telegram API в одной системе

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

Ресторанный холдинг с 10 ресторанами использовал первую версию Telegram Mini App как интерфейс, через который гости могли ознакомиться с заведениями сети. На следующем этапе потребовалось усилить IT-направление: увеличить скорость разработки, стабилизировать систему, расширить функциональность и связать приложение с операционными процессами ресторанов.

В результате Telegram Mini App вырос в полноценный цифровой контур, который объединяет бронирования, мероприятия, меню, банкеты, сертификаты, кулинарию, коммуникацию с гостями, аналитику, админ-панель и интеграции с внешними системами.

На текущем этапе система стабильно держит 11 000 MAU, включает более 200 функций, работает с Remarked, IIKO, RocketData, CRM, Telegram API и внутренними API заказчика. В процессе эксплуатации также была отражена атака на серверы заказчика.

Читать далее

Три мажора, две ошибки: проектирование API приостановки для интерпретатора машины Тьюринга

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

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

К разбору полётов

Миграции в Go-проекте: PostgreSQL в Docker и goose на практике

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

Когда я начал поднимать PostgreSQL через Docker для своих проектов, всё выглядело просто: описал сервис в docker-compose.yml, запустил контейнер - база доступна.

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

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