Обновить
44.44

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

О создании API

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

Автотесты: что есть 100% покрытие API?

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

Ку! Меня зовут Евген, и я Автоматизатор тестирования на Python. В этой статье я расскажу как из вопроса ко мне «на сколько% у нас покрыта API автотестами?» Я выдал базу в виде регламента по автоматизации API.

Читать далее

Как уведомлять клиентов о снижении цен на избранные товары в 1С-Битрикс

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

Когда клиент откладывает покупку, ожидая скидки, важно не потерять его интерес. Уведомления о снижении цен на избранные товары помогают вовремя сообщать пользователям о выгодных предложениях, возвращая их на сайт и стимулируя продажи. В статье мы расскажем, как настроить такую функцию в 1С-Битрикс.

Читать далее

Интеграция API — это кошмар

Время на прочтение4 мин
Охват и читатели1.7K
А вам казалось, что соединение API друг с другом — это нескончаемая битва?

Сейчас у нас уже есть машины, которые умнее людей. Но мы до сих пор не можем как следует справиться с интеграцией API. Что не так с API, которые часто становятся для разработчиков камнем преткновения? Интернету примерно 55 лет. Всемирной Паутине — 34 года. Даже JSON уже 18, я не шучу. За всё это время так и не найден простой способ соединять API. Почему так складывается, и почему мы общими силами не можем этого исправить? Читайте дальше.
Читать дальше →

FastAPI и Vue.js 3: телеграм-бот с MiniApp для записи и автоматических уведомлений. Пишем бэкенд

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

Сегодня я рад представить новый масштабный проект, в рамках которого мы подробно рассмотрим технологии и подходы, ранее не освещенные в моих статьях.

На этот раз мы создадим телеграм-бота с MiniApp (ранее известным как WebApp) — это будет бот с интегрированным мини-сайтом прямо в Telegram. Для реализации проекта мы используем два основных фреймворка:

1. FastAPI — мощный Python-фреймворк, который мы задействуем для разработки API нашего телеграм-бота. Мы рассмотрим уникальный подход, позволяющий создать полноценный бэкенд, который будет закрывать как API-методы, так и функционал телеграм-бота.

2. Vue.js 3 — JavaScript-фреймворк, выбранный за его удобство разработки и возможности создания сложных визуальных элементов.

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

Читать далее

Баг в дизайне коллекций

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

В этой статье речь пойдёт о фреймворке коллекций в Java. Относительно недавно (в 3 кв. 2023 года) эта библиотека вновь слегка обновилась. Я ознакомился с обновлениями, и скажу, что они меня разочаровали.

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

Итак случившееся обновление - добавление последовательных версий интерфейсов в коллекции, а именно SequencedCollection, SequencedSet и SequencedMap. Такие последовательные коллекции ещё во времена Рапиры, кажется, называли кортежами.

Читать далее

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

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

JSON - наш повседневный помощник, но вместе с другими текстовыми форматами он может преподнести неприятные сюрпризы: потеря точности чисел, громоздкие файлы, путаница с датами. Рассказываю, как этих проблем избежать и повысить эффективность с помощью стриминга в Node.js, а также MessagePack и Protobuf. Узнайте, где подводные камни и как их обходить на практике!

Если хотите понять, в чём именно проблема на иллюстрации, загляните в статью — там всё разобрано :-)

Читать далее

Как отправлять SMS из Google Таблиц с использованием Google Apps Script: 2 способа

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

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

Google Таблицы — мощный инструмент для работы с данными. Их потенциал значительно расширяется с помощью Apps Script. 

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

Читать далее

Выгрузка карточек товаров на Озон через API

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

При разработке нашей системы OpenPIM мы столкнулись с необходимостью выгружать карточки товаров на Озон. У Озона есть официальная документация по АПИ, но при этом существует масса мелочей которые не всегда ясны и мы потратили много времени чтобы со всем этим разобраться. Поэтому мы решили поделиться с вами техническими деталями работы с API Озон.

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

Читать далее

Часть 1: Как я создал идеальный REST API — микросервис инцидентов на Java и Spring

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

В этой статье вы узнаете, как спроектировать и реализовать REST API для микросервиса на Java с использованием Spring Framework.

Рассмотрим лучшие практики, принципы архитектуры, реализацию CRUD-операций и удобные инструменты, такие как Lombok, ControllerAdvice, MapStruct. Эта статья будет полезна как начинающим разработчикам, так и тем, кто хочет улучшить свои навыки в проектировании REST API.

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Прочитать

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Читать далее

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