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

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

О создании API

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

Контекст диалога в pytelegrambotapi

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

Контекст в чат-ботах играет ключевую роль в создании удобных и интерактивных взаимодействий с пользователем. Без него бот теряет связь с предыдущими сообщениями, что усложняет диалог. В этой статье мы рассмотрим, как реализовать систему контекстных диалогов на Python с использованием библиотеки telebot. Мы покажем, как управлять состоянием диалога, сохранять контекст и обрабатывать несколько пользователей одновременно, делая бота более умным и персонализированным.

Читать далее

Следим за Telegram по-деловому

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

Прошло полгода с момента введения бизнес-режима в Telegram.

Суммарно за это время им воспользовались около 300.000 раз (в приложении, где миллионы сообщений отправляются ежедневно).

В статье я расскажу, как можно классно использовать использовать эту фичу и не потерять свой аккаунт.

Прочитать

Один год с GraphQL: как технология работает на длинной дистанции?

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

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

В Сравни у нас много продуктов, включая сервисы подбора и покупки полиса ОСАГО, подбора кредита, образовательных курсов, онлайн-оформления ипотеки. Информация о пользователях хранится и обрабатывается в специальном центральном сервисе (Profile Service). На текущий момент сервис содержит миллионы объектов пользователей, а нагрузка в пиковые моменты там до 180 запросов в секунду.

Исходная реализация Profile Service была построена на микросервисах и, как казалось нам ранее, полностью покрывала наши потребности: в плане гибкости взаимодействия с продуктами и работы с существующей нагрузкой. Изменения назрели под конец прошлого года, когда продуктовые команды стали настойчиво обращаться в команду сервиса для решения срочных задач. Здесь им регулярно требовалась помощь разработчиков — и команда Profile Service около месяца занималась только обработкой продуктовых запросов.

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

Читать далее

Контракт REST API: Пригладим названия

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

А сколько у вас в компании во внутренних системах используется наименований одного и того же поля в API? А сколько способов назвать поле, которое перечисляет список id?

Я часто сталкиваюсь с тем, что при проектировании и разработке HTTP REST API команды (чаще неосознанно) собирают целый семантический и лексический зоопарк наименований. Потом бывает сложно разобраться, что нужно записать в определенное поле, или какое название поля выбрать для перечисления списка ID из уже существующих.

Поэтому я однажды собрала для себя и коллег гайд–чек-лист под названием “Приглаживаем названия в API” и теперь публикую его для широкой аудитории. Уверена, что он кому-то да пригодится.

Читать далее

Как за 10 минут создать тестировщик нагрузки для API на Node.js

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

Приветствую Хабр!

Решил поделиться своим проектом, который позволяет быстро создать инструмент для тестирования нагрузки HTTP-запросов (GET и POST) к заданному API. Этот инструмент идеально подходит для разработчиков и тестировщиков, которые хотят проверить производительность своих API с минимальными затратами времени на настройку.

Читать далее

Создаем систему напоминаний о приёме лекарств

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

Утро, аромат свежесваренного кофе, и телефон тихонько напоминает вам о приеме важного лекарства. «Привет! Не забудь принять лекарство!» Такую систему можно реализовать самостоятельно с помощью Golang и Exolve API.

В этой статье я покажу, как клиники и медцентры могут построить надежную систему SMS-напоминаний.

Читать далее

Как, имея более 200 методов HTTP, смэтчить их с тем, в какие сервисы они ходят

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

Привет, Хабр! На связи команда Seller API, а именно её тимлид Саша Валов и старший разработчик Никита Денисенко. В этой статье мы разберём одну из проблем большого API и расскажем, как мы её решили.

Читать далее

Как отправлять SMS из NodeMCU (ESP8266)

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

Всем привет! У платформы МТС Exolve есть сообщество, которое часто делится полезными гайдами от прокачки серверов до создания своих приложений. Наиболее интересные и подробные продолжаем размещать в нашем хабе.

В этом гайде пользователь на простом примере рассматривает, как с помощью микроконтроллера NodeMCU (ESP8266) и кнопки отправлять SMS через HTTP POST-запросы. Это полезно для создания различных IoT-устройств — мониторинга и умных домов.

Читать далее

Автоматизация дилерской сети. Интеграция CRM с 1C и Контур.Фокус помогает следить за финсостоянием дилеров

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

Всем привет! Сегодня расскажу, как мы автоматизировали работу с дилерами у крупного производителя окон. 

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

Нашей задачей было автоматизировать процесс мониторинга финансовых рисков с помощью интеграции CRM-системы с 1С и Контур.Фокусом. 

Читать далее

Идемпотентность: искусство не менять мир дважды

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

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

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

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

Читать далее

API-безопасность 2025: Прогноз и стратегии защиты на основе OWASP Top 10

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

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

Акцент на 2025 год: В статье теперь говорится о будущем и новых вызовах.

ИИ в угрозах и защите: Подчеркнуто влияние ИИ как для атакующих, так и для защитников.

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

Микросервисы и облако: Уделено внимание облачной инфраструктуре и микросервисам.

Проактивный подход: Акцент на профилактических мерах и обучении.

Читать далее

Анализ фильмов с интернет-портала Кинопоиск

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

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

Разработка включала этапы сбора, обработки, анализа и визуализации данных. Для обработки данных применялись методы очистки от пропусков и ошибок, фильтрации по ключевым показателям и трансформации структур данных. Были реализованы функции для конвертации валют, извлечения данных о жанрах и персоналиях фильмов (актёрах и режиссёрах), а также вычисления статистических показателей полноты и однородности выборки.

Для эффективной работы системы был использован современный технологический стек. Обработка данных осуществлялась с помощью MongoDB, что обеспечило хранение и управление большими объёмами неструктурированной информации. RabbitMQ организовал асинхронный обмен сообщениями между компонентами системы, а серверная часть приложения разрабатывалась на базе Spring Boot, что ускорило процесс разработки и упростило развертывание приложения. Контейнеризация с использованием Docker обеспечила удобное развертывание и масштабирование системы. Основными языками программирования стали Java 17 и Python: Java использовалась для серверной части и микросервисов, а Python — для анализа данных и построения алгоритмов обработки информации.

Для анализа данных применялись библиотеки Pandas, Seaborn и SciPy, которые обеспечили эффективную обработку данных и визуализацию результатов. В рамках анализа строились графики, отображающие популярность жанров, исследовалась корреляция оценок на Кинопоиске и IMDb, а также визуализировалась связь между бюджетами и кассовыми сборами. Для представления результатов применялись такие инструменты, как matplotlib и seaborn, позволяя визуализировать ключевые закономерности в виде графиков и диаграмм.

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

Читать далее

Безопасность на высоте: как защищать API сегодня

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

К 2030 году количество используемых в мире API составит около 2 миллиардов. Это в 8 раз больше, чем в 2018 году. Рост числа открытых точек увеличивает количество уязвимостей, угроз и прогнозируемых атак. По оценкам экспертов, к 2026–2027 годам рост прогнозируемых атак на API составит 156% от сегодняшнего состояния.

Меня зовут Денис Кириллов, я главный архитектор решения Platform V SOWA в СберТехе. Сегодня я хотел бы рассказать о лучших практиках защиты API в современном мире. Эта тема довольно обширная, поэтому я разделил её на два материала. В первой статье рассмотрим принципы безопасности API, спецификации API и как они влияют на безопасность. Поговорим о проверке объектов на соответствие спецификации и о том, как она помогает снизить риски из списка Тор-10 API Security Risks.

Во второй статье расскажу о проблемах валидации API и совместном использовании механизмов валидации и WAF. Выясним, почему необходим отдельный компонент, который реализовывал бы функцию безопасности по отношению к API. И рассмотрим возможности продукта Platform V SOWA, который мы создали для решения этих задач.

Материал будет полезен специалистам в области информационной безопасности, сопровождения и разработки.

Читать далее

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

Как мы создали микросервисное приложение для анализа вакансий с hh.ru: Docker, Kafka, Elasticsearch и ещё немного магии

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

Как мы создали микросервисное приложение для анализа вакансий с hh.ru: Docker, Kafka, Elasticsearch и ещё немного магии

Читать далее

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

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

Привет! Я лид backend-разработки red_mad_robot, Илья Трусов, и я создал инструмент Meroving, который помогает оптимизировать рутинные задачи, а иногда полностью их делает за разработчика. Например, монотонное написание однотипного кода или бесконечное перекладывание JSON-файлов. О том, как создавался и зачем нужен Meroving, рассказываю в статье.

Читать далее

Как спроектировать мобильное приложение маркетплейса за 7 шагов

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

Маркетплейсы занимают ключевую роль в цифровой экономике: на площадках проще покупать и продавать. На Wildberries и Ozon пришлось 78% всех заказов в российской электронной торговле за второе полугодие 2023 года, а количество заказов увеличилось до 5,1 млрд.

В этом материале мы рассмотрим основные шаги для запуска мобильного приложения своего маркетплейса. Статья охватывает разные методы разработки — от nocode-платформ до кастомных решений и гибридных подходов с использованием headless CMS. Это поможет выбрать технологии и стратегии для проекта.

Читать далее

Интеграция предобученных нейросетей в Java-проектах: практический пример

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

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

В данной статье я привожу практический пример интеграции с предобученной моделью, так рассмотрим задачу извлечения именованных сущностей (NER) — автоматического определения имен, мест или дат из текста. Мы будем использовать предобученную модель BERT, выполненную через библиотеку ONNX Runtime.

Вообще существует множество предобученных моделей для извлечения именованных сущностей (NER) и других задач NLP. Вот некоторые из них:

Читать далее

Как построить оценку качества контакт-центра с помощью Speech Analytics API

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

Привет, Хабр! Контакт-центры — это важная линия взаимодействия бизнеса с клиентами. Клиенты могут быть разными: кто-то жалуется на задержки, кто-то хочет вернуть товар, а кто-то просто звонит выразить благодарность. Но для бизнеса важно понять одно: насколько хорошо оператор решил проблему клиента? И ушел ли клиент довольным?

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

Читать далее

«Птица говорун» или интеграция open source LLM с XWiki

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

В предыдущей статье я давал специфические, несколько провокационные советы по работе с XWiki. Сегодня же мы обратимся к актуальным трендам. Если я не забыл выпить свои таблетки, то тема больших языковых моделей (LLM) по-прежнему вызывает большой интерес.

Представим следующую ситуацию: вы трудитесь в небольшой IT-компании, и вам поставили задачу — запустить свою «Confluence с блекджеком и нейросетями».

После недолгих поисков вы остановили свой выбор на OpenLLM — веб-API для работы с большими языковыми моделями, и XWiki — open source аналоге Confluence. Осталось лишь их подружить. И что самое приятное, для решения этой задачи, каких-то специальных навыков нам не понадобится.

Читать далее

Как узнать у клиента мнение о товарах и доставке при помощи SMS и Node JS

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

Узнать, что думает клиент о товарах после покупки, об указанных услугах, включая доставку, выявить проблемы в обслуживании — вроде бы понятная задача бизнеса. В этой статье расскажем, как под такие задачи реализовать отправку автоматических опросов по SMS с помощью Node.js и Exolve SMS API.

Читать далее

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