Все потоки
Поиск
Написать публикацию
Обновить
38.3

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

О создании API

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

Mock-объект в рабочем коде, или как тестовый двойник помог решить проблему излишне связанного кода

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров734

На работе была поставлена задача: в главное веб-приложение нашей фирмы добавить метод формирования бланка в формате PDF «как вот в том микросервисе».

Форма бланка регулярно изменяется, и копировать её в веб-приложение означало нарушить принцип DRY («Не повторяйся») и обречь себя на постоянную двойную работу. Поэтому я решил оставить генерацию бланка в «том микросервисе».

«Тот микросервис» написан на PHP с использованием фреймворка Laravel, содержит большое число доменных объектов, экземпляры которых хранятся в БД MySQL, и имеет развитую систему API для обращения к своему функционалу.

И можно было добавить в него ещё одну точку доступа API, которая бы получала данные и на их основе формировала и возвращала бланк.

Проблема возникла из-за «неприлично» высокой связанности объектов в «том микросервисе». Так, в шаблоне, на основе которого строился бланк, использовались не просто примитивные типы данных, а объект-форма. И шаблон обращался к методам-геттерам этого объекта. А объект, в свою очередь, использовал другой доменный объект в своём конструкторе для заполнения полей.

Читать далее

Говорим с Битрикс24 на языке ИИ: представляем опенсорс MCP-сервер для LLM-интеграции

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

Привет! Мы — партнеры Битрикс24 и создаем для бизнеса приложения с генеративным ИИ, интегрируя их с корпоративными порталами.

В этой статье мы расскажем о созданном нами решении, которое позволяет любым разработчикам легко подключать свои чаты и другие приложения с LLM-моделями к Битрикс24. Речь идет о MCP-сервере — помощнике для ИИ, который позволяет получать из портала Битрикс24, например из раздела CRM, точные данные для ответа пользователю.

Читать далее

Как создавать A/B-тесты SMS-рассылок с нейросетью DeepSeek

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров946

Привет, Хабр. В этой статье поможем владельцам бизнесов и маркетологам в два клика с помощью нейросети получить хорошие тексты для A/B-тестирования SMS-рассылок и разослать выбранные варианты контактам из CRM.

Для генерации текстов используем API DeepSeek, для рассылок — SMS API от МТС Exolve, а контакты берём из CRM-системы «Битрикс24».

Читать далее

Optional vs Nullable на стыке технологий

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

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

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

Читать далее

Оповещение о РО через колонки Яндекса (Ну или в целом получение сигналов в УДЯ)

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

Система и алгоритм оповещения о ракетной опасности с использованием Яндекс Станций. Пользователь вручную создает сценарии для устройств «Умного дома Яндекса» с использованием «Лампочки», которая включается при сигнале о РО и выключается при сигнале ОТБОЙ.

Стэк: Python, telethon, aiogram 3.x, mqtt, postgresql.

Читать далее

Как автоматизировать ценообразование на маркетплейсах Ozon и Wildberries: система расчета + собственный модуль

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

Привет, Хабр! На связи Илья, руководитель проектов. В этой статье я расскажу, как мы разработали интерфейс для автоматизации цен на Озон и ВБ, который помогает бизнесу участвовать в акциях маркетплейсов, не опуская цену товара ниже РРЦ и сохраняя рентабельность продаж.

Компании, выходящие на маркетплейсы, рискуют тем, что цены на их товары могут опуститься ниже рекомендованной розничной цены (РРЦ). Это чревато снижением прибыли и потерей контроля над ценами.

Мы решили эту задачу с помощью автоматизированной системы мониторинга и обновления цен.

Читать далее

От фрагментированной автоматизации к единой IT-экосистеме: как Академия Ростеха внедрила BPMS, часть 2

Время на прочтение4 мин
Количество просмотров507

Продолжаем делиться опытом консолидации IT-инфраструктуры Академии Ростеха и переходом на единую систему, объединяющую CRM, бюджетирование проектов, управление закупками и другие процессы. В этой статье поговорим о цифровизации HR-процессов и управления финансами.

Читать далее

Полезные API для разработчиков: как автоматизировать рутину и ускорить выпуск продукта

Время на прочтение5 мин
Количество просмотров4.6K

Привет! Меня зовут Саша Пиманов, я разработчик в МWS. В прошлый раз писал о ЯП для изучения в 2025 году, а сегодня поговорим про сервисы, которые могут ускорить вашу работу.

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

Читать далее

Люблю я http, и вот как я его готовлю

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

Я старый фуллстек-разработчик и не знаю слов любви, но около полугода назад при очередной итерации сервера почувствовал себя утомленным путником, который узрел нежную красоту wr-обработчика нативного net/http! Вот раньше всё было ужасно - а теперь красиво, приятно читать и интересно показать! За несколько месяцев я переделал свои сотни обработчиков на новый стиль - и всё еще доволен! Почистил авгиевы конюшни слоев логики - теперь там царит запах фиалок! Также у меня была возможность посмотреть как пилят http профессионалы бэкенда - далеко не как фуллстеки, о чем тоже хочется рассказать!
Для ленивых читать - пора вернуть логику в обработчики! Но я расскажу подробно о той красоте, которая скрывается за этими многими восклицательными знаками, и о том, как её можно испортить. Структура такова:
- сначала чем фуллстек отличается от нативного бэкенда,
- потом пройдемся по API-стилю а-ля РЕСТ,
- прочтем оду нативному http-модулю, расковыряем пару болячек фреймворков,
- почитаем мои слова, почему wr-обработчик хорош сразу из коробки,
- и посмотрим пример того, как превратить обработчик в простой вид "задача-дано-решение-ответ".

Внимание, это мнение. В статье поднимаю холиварные темы, при этом я могу быть не прав, но буду настаивать! И фотка из личного фотоархива на тему "Люблю лето!", потому что уже надоели сгенерированные картинки.

Читать далее

LitestarCatsCV. Тренируемся на кошках. Расширяем возможности и готовимся к продакшену. Часть 3

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров1K

Привет, котики и котолюбы! В первой части нашего кошачьего приключения мы выбрали инструменты (Litestar вместо FastAPI, Granian вместо Gunicorn, KeyDB вместо Redis), настроили uv и заложили фундамент проекта. Во второй части мы построили полноценное CRUD API для резюме котиков (или людей, если вам так ближе), подружили его с PostgreSQL через SQLAlchemy, настроили миграции с Alembic и написали тесты с Pytest. У нас уже есть стены и фундамент, но пора ставить крышу и готовиться к продакшену! 🏠

Сегодня мы сделаем наш API ещё круче: вынесем конфиги в отдельный модуль с помощью msgspec, добавим аутентификацию через встроенный JWT в Litestar, ускорим API с KeyDB, проверим покрытие тестами с coverage, упакуем всё в Docker и нарисуем резюме котиков с помощью Jinja. К концу статьи наш кошачий проект будет готов к реальной жизни — поехали! 🚀

Читать далее

Оптимизация UI-тестов с помощью API. Как избавиться от боли и ускорить автотесты в разы

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

Привет, всем! Я главный специалист по автоматизации тестирования в компании ITFB Group. Знакомо, когда UI-тесты работают медленно, падают из-за ерунды и отнимают кучу времени? Мы нашли решение - грамотно комбинируем API и UI проверки. Теперь тесты летают! Хотите так же? Сейчас расскажу, как это сделать.

Читать далее

Популярные API для работы с искусственным интеллектом

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

В 2025 году API для работы с искусственным интеллектом стали неотъемлемым инструментом для разработчиков, стремящихся быстро внедрять мощные AI-функции без необходимости глубоко разбираться в машинном обучении. В этой статье — практический обзор ключевых провайдеров AI API, таких как OpenAI, Anthropic, Google и AWS, а также новых решений вроде Groq и Cerebras, предоставляющих высокопроизводительные платформы инференса. Мы разбираем особенности, ценовые модели и сценарии использования, чтобы помочь вам сориентироваться в быстро развивающемся ландшафте технологий искусственного интеллекта.

Читать далее

Telegram Web App: Интеграция с Flutter

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

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

Теперь рассмотрим, как создать Telegram Web App с использованием Flutter, фреймворка для разработки кроссплатформенных приложений.

Читать далее

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

От фрагментированной автоматизации к единой IT-экосистеме: как Академия Ростеха внедрила BPMS

Время на прочтение5 мин
Количество просмотров1.1K

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

В этой статье поделимся опытом консолидации IT-инфраструктуры Академии Ростеха и переходом на единую систему, объединяющую CRM, бюджетирование проектов, управление закупками и другие процессы.

Читать далее

Как получать SMS, когда в МойСклад поступает предоплата

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров394

Сегодня мы поговорим о том, как реализовать автоматическую отправку SMS-уведомлений через платформу МТС Exolve при получении предоплаты в сервисе «МойСклад».

Читать далее

Интеграция виджета обратного звонка МТС Exolve в документацию на MkDocs

Время на прочтение8 мин
Количество просмотров692

Привет, Хабр! Это Екатерина Саяпина, Product Owner платформы МТС Exolve. Сегодня покажу, как быстро добавить виджет обратного звонка на страницу, созданную с помощью MkDocs — статического генератора сайтов с уклоном в техническую документацию. Такое размещение виджета бывает нужно в справочных разделах сложных продуктов, где клиентам может потребоваться консультация или разъяснение каких-то технических моментов.

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

Читать далее

Telegram Bot API 9.0: Крупнейшее обновление 2025 года

Время на прочтение5 мин
Количество просмотров21K

Telegram продолжает расширять возможности для разработчиков, представив Bot API 9.0 — крупнейшее обновление 2025 года (пока что! 😈). Этот релиз открывает новые горизонты для бизнес-аккаунтов, усиливает инструменты монетизации и даёт ботам невиданную ранее гибкость. От кастомизации профилей до интерактивных историй и управления виртуальными подарками — Bot API 9.0 превращает Telegram в мощную платформу для цифрового бизнеса и креативного взаимодействия с аудиторией.

Читать далее

GigaCode: как ИИ-ассистент упрощает жизнь системным аналитикам

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

Здравствуйте! Меня зовут Щедрин Николай, и я являюсь ведущим аналитиком продукта GigaCode от Сбер. Хочу поделиться с вами сценариями применения ИИ-ассистента в работе системного аналитика, которые использую сам. Надеюсь, статья позволит вам посмотреть на привычные вещи под другим углом и побудит поделиться своими мыслями, идеями и предложениями о применении ИИ-ассистентов в вашей профессиональной деятельности.

Если вы системный аналитик, эта статья — ваш must read. Остальным коллегам (разработчикам, архитекторам, владельцам продукта) будет полезно узнать, как ИИ-инструменты выходят за рамки генерации кода и помогают проектировать системы.

А ещё здесь есть мемы от Kandinsky — куда же без них?  

Читать далее

Академия OpenAI для разработчиков: Разбор 10 лекций про API, RAG, Fine-tuning

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

OpenAI запустила свою Академию — десятки видеолекций. Полезно, но далеко не все. Если вы разработчик или аналитик, которому нужны технические детали и практические руководства по API, моделям и их оптимизации, смотреть всё подряд — не вариант.

Я изучил доступные материалы и сделал выжимку из только технических материалов. Этот гайд проведет по 10 ключевым лекциям вышедшим на сегодня, которые помогут разобраться в Function Calling, RAG, Fine-tuning, Evals и других важных темах. Мы не будем здесь касаться лекций для новичков, материалов про Sora или использования ИИ в образовании — только хардкор, только для тех, кто строит и анализирует LLM.

Читать далее

Это под силу даже веб-разработчику! Размышляю, как создать драйверы на JavaScript с API WebUSB

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

Привет! Я Игорь Кечайкин, руководитель группы разработки во Frontend-команде Flocktory. Недавно, решая задачу, связанную с API WebUSB для Fingerprint-атрибуции пользователя, задался совершенно не связанным теоретическим вопросом: а как создать с этим API  драйверы на JavaScript?

Чтобы разобраться, изучил спецификацию API WebUSB, а теперь принёс на Хабр выжимку самых важных элементов. В статье я расскажу о принципах работы решения и том, что с ним делать веб-разработчику, который хочет напрямую реализовать на сайт функцию, например, 3D-принтинга с пользовательских девайсов. А также вы узнаете, насколько это безопасно — для сайта, внедряющего API, и для девайсов юзера.

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

Читать далее

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