Как стать автором
Обновить
48.6

API *

Интерфейс программирования приложений

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

Хватит использовать AI-плагины! Как получить доступ к LLM-преимуществам через API Jay Copilot

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

Меня зовут Алексей Петров, я solution-инженер в компании Just AI. Сегодня многие разработчики столкнулись с необходимостью внедрения LLM в свои корпоративные сервисы. В этой статье я попробую доказать, почему интеграция API в данном случае гораздо эффективнее использования AI-плагинов, а также расскажу о том, как интегрировать API Jay Copilot в бизнес-процессы на примере интеграции amoCRM.

Читать далее
Рейтинг 0
Комментарии 0

Новости

Telegram Mini Apps с мгновенной оплатой

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

Инструкция, посвящённая созданию Telegram Mini Apps с вызовом окна оплаты без создания дополнительной кнопки для этого.

Telegram Mini Apps c мгновенным вызовом окна оплаты.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 0

Как быстро написать API на FastAPI с валидацией и базой данных

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

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

В этой статье мы разработаем простой API с помощью самого популярного стека и FastAPI. Рассмотрим важные концепции в работе с этим фреймворком, набросаем базовую структуру проекта и развернем приложение на облачном сервере. Подробности под катом!
Читать дальше →
Всего голосов 25: ↑23 и ↓2 +21
Комментарии 6

Максимально простая игра на C++ (в консоли)

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

Мой выбор остановился на простецкой игре - виселице, запускаемой в консоли, которую я решил написать на С++. Здесь я хочу рассказать о том, как я её реализовал, что использовал и т.д.

Читать далее
Всего голосов 11: ↑9 и ↓2 +7
Комментарии 25

Истории

Коммуникация по RESTful API: синхронизируем данные с маркетплейсами

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

В статье разбирается код на Ruby и в Ruby on Rails, в частности, на примере задачи по разработке web-сервиса синхронизации данных с внешними источниками. Погружение в программное решение начинается с разбора бизнес-задачи. Через освещение реальных API с маркетплейсов OZON и Яндекс.Маркет обосновываются способы принятия архитектурных решений и способы оптимизации кода. Эта статья также является авторской попыткой раскрыть принцы SOLID при реализации логики реального бэкенд приложения по переработке структурированных данных в условиях эксплуатации стороннего REST API.

Читать далее
Рейтинг 0
Комментарии 1

Face-swap и анимация изображений сгенерированных Midjourney с использованием InsightFaceSwap и Pika

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

В этой статье рассматривается экспериментальный API для Discord ботов Midjourney, InsightFaceSwap и Pika.

Читать далее
Всего голосов 5: ↑2 и ↓3 -1
Комментарии 0

API-автотесты: как достичь наиболее полного покрытия?

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

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

Под катом мы подготовили практический шаблон, который поможет вам в этом.

Читать далее
Всего голосов 19: ↑19 и ↓0 +19
Комментарии 5

Полезные модули PowerShell. Переводчик в консоли, SpeedTest, Syslog и другие

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

Всем привет! Порой, написать графическую форму для консольного приложения может оказаться очень удобным решением, тем самым не нужно запоминать все ключи программы, особенно, если пользоваться им приходится изредка, тем самым автоматизируя работу с данным приложением в дальнейшем. Но, ситуация может быть обратной, когда приложение имеет только графический интерфейс, а вам нужно получить вывод его работы в консоли, например, для возможности передачи метрик в систему мониторинга. С тех пор как начал проводить все больше времени в консоли, заметил, что становится менее удобно переключаться на ранее привычные инструменты, лишний раз использовать мышь, держать открытыми излишние приложения или вкладки в браузере, особенно, если работаешь на удаленной машине без прямого доступа к графическому интерфейсу. У меня накопилась небольшая коллекция полезных модулей, большинство из которых написаны совсем недавно, успел привыкнуть при регулярном использовании и хотелось бы ими поделиться. Осознавая, что тенденция ухода Windows систем на территории РФ растет, тем не менее думаю еще очень много людей, кто так же как и я продолжают использовать данную систему и автоматизировать свою работу, возможно, представленные модули так же смогут пригодятся. Все модули опубликованы в репозитории на GitHub и менеджере пакетов Nuget, откуда их можно установить одной командой.

Читать далее
Всего голосов 19: ↑19 и ↓0 +19
Комментарии 0

Телеграм-бот для беспокойных родителей

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

Я расскажу вам, какие три звоночка заставили меня навсегда (по крайней мере, это до сих пор так) принять факт бесполезности собственной разработки, и решили судьбу вообще всех моих дальнейших стараний, уже даже не связанных с этой системой. И немножко морали в конце.

Узнать, о чём речь
Всего голосов 31: ↑31 и ↓0 +31
Комментарии 139

Если вы собираетесь сидеть и ничего не делать, то хотя бы делайте это правильно

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

Иногда бывает нужно, чтобы API не делал ничего. При этом важно, чтобы он не делал ничего правильным образом.

Например, у Windows есть сложная инфраструктура печати, но этой инфраструктуры нет у Xbox. Что должно произойти, если приложение попытается выполнить печать на Xbox?

Неправильно было бы, если бы функции печати выбрасывали Not­Supported­Exception. Установленное пользователем на Xbox приложение, вероятно, в основном (если не исключительно) тестировалось на PC, где печать всегда доступна. При запуске на Xbox исключение, скорее всего, не будет обработано, и приложение вылетит. Но даже если приложение попытается перехватить исключение, то, вероятно, отобразит сообщение типа «Ой. Что-то пошло не так. Обратитесь в службу поддержки и сообщите ей вот этот код ошибки».

Гораздо лучший способ «поддержки» печати на Xbox — это успешное выполнение функций печати с сообщением о том, что принтеры не установлены. При таком поведении в случае попытки печати приложение попросит пользователя выбрать принтер и отобразит пустой список. Пользователь осознает, что принтеров нет, и отменит запрос на печать.

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

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

Читать далее
Всего голосов 17: ↑15 и ↓2 +13
Комментарии 8

Мониторинг температуры Windows. Создание метрик, настройка InfluxDB и Grafana

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

Всем привет! Мониторинг температуры, нагрузки и других показателей системы всегда актуален, специалисты в области ИТ применяют разные подходы для реализации этой задачи, чтобы в конечном итоге визуализировать и наблюдать динамику полученных данных в максимально удобном формате. Существует много готовых решений для построения системы мониторинга, например, Zabbix, где уже из коробки присутствует огромная библиотека шаблонов по сбору данных из различных систем и визуализация в виде графиков, которые можно отобразить без излишних настроек, хотя обычно, этого недостаточно. Также часто бывают ситуации, когда требуется получить специфические показатели, их так же нужно где-то хранить и визуализировать, я же попытаюсь показать полный путь от получения таких метрик до конечной визуализации на примере сбора информации датчиков температуры Windows в минимально возможной конфигурации, чтобы сложилась общая картина данного процесса. Так как работаю администратором Windows систем, и на протяжении нескольких лет ежедневно использую PowerShell в работе, буду применять именного его (вы так же можете найти много полезных заметок по данному языку в моем репозиториями на GitHub). Для начале получим нужные нам метрики, настроим отправку этих метрик в базу данных InfluxDB, создадим службу Windows и отобразим датчики температуры на панели в Grafana.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 2

Работаем с HTTP API: разбор частых проблем и методы их решения

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

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

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

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 4

Еще один кейс на PHP. Скачиваем базу данных из открытого API

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

Решать задачу будем на примере каталога исторических экспонатов Музейного фонда РФ. API каталога является общедоступным сервисом. Сначала нам нужно будет сформировать ссылку на скачивание архива ZIP с информацией. Сделать это нужно аккуратно, так, чтобы изменения в названиях файлов, которые могут время от времени случаться, не повлияли на работоспособность нашего скрипта.

Затем, мы создадим шакалу загрузки, или прогресс‑бар, как ее еще называют, чтобы отслеживать процесс скачивания. Экспонатов много, каталог большой: «весит» он более 5 Гб. Без индикации загрузки пользователь может недоумевать, почему ничего не происходит и консоль просто висит долгое время. Наконец, скачаем файл из API, который потом можем разобрать по таблицам своей базы в том виде, в котором понадобится.

Читать далее
Всего голосов 13: ↑5 и ↓8 -3
Комментарии 9

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

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн

Большой API для экспериментов и front проектов или памятка о том, как я создавал проект

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

Это моя первая статься, а потому, как мне кажется, будет хорошим шагом начать с того, кто я такой. Меня зовут Юрий, я учусь на программиста и попутно сам стараюсь изучать всё возможное про мою специальность, а моя специальность - это .Net. Влюбился в него и вцепился с первого взгляда, прям как к php слова "скоро умрёт".Несколько месяцев назад, а именно в сентябре, я решил, что необходимо начать делать какой-нибудь большой учебный проект для закрепления моих знаний да и для изучения новых. Я вообще отношу себя к практикам, обожаю сначала что-то делать, а только потом читать. А вдруг я и сразу всё хорошо сделаю, и потом даже читать дополнительные источники не придется :). Но это почти никогда не бывает, так что не пишите в комментариях, что я упускаю важный момент в изучении. Если возвращаясь к проекту, то сделать его я хотел, но я считал себя истинным бэкендером: притрагиваться к фронденту я вообще не слишком хотел. А потому я решил обратиться к своим друзьям программистам, чтоб хоть кто-то занялся фрондент частью. К счастью такой человек у меня был: React разработчик. И также ещё один бэкендер на C#. Идея командой разработки им понравилось, я взял проект из своего списка проектов (да, у меня такой есть) и начали разработку.

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

Теперь о самом проекте, мы дали ему названия Author Verse. Его фишка в том, что пользователи могли бы создавать свои книги, вставляю в него любой контент, то есть, что из него обычной книги можно было бы сделать легко обычную книгу из текста, комикс из картинок, мангу, аудиокнигу, манга-аудиокнига-комикс сразу??? или придумать вовсе свой жанр. И главная фишка: писатели могли бы делать разветвление сюжета на любую часть главы, на любую другую часть из других глав своей книги и, наверное самое прикольно, но которое пришло мне в голову уже на последних этапах разработки, это ответвлению в другие книги. Конечно, раз мы говорим о том, что могут быть ссылки на другие книги, то все книги на сайте должны быть бесплатны.

Стать умнее
Всего голосов 10: ↑8 и ↓2 +6
Комментарии 7

Айтишник женился на девушке, с которой общался ChatGPT. А как научить бота общаться с клиентами?

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

Привет, Хабр! Меня зовут Алексей, в Пиробайте я разрабатываю мобильные приложения на Flutter. Недавно я зашел в Twitter и не знал — радоваться мне или плакать, ведь эпопея об айтишниках и кринжовых тредах получила новый виток развития. 

Если вкратце, парень рассказал о том, что женился на девушке, с которой общался не он, а ChatGPT. И это было не просто пару сообщений, а поставленная на поток схема, где чат-бот искал, общался и звал на свидания тысячи девушек из Тиндера. Пока не нашел ту единственную, на которую перенастроил бота. А потом, слава Богу, начал общение самостоятельно. На других же девушках он зарабатывал реферальным путем (приводя их в разные компании). What a story, Mark!

История хоть и интересная, но в целом непонятно, зачем о ней писать здесь… Или не совсем? Давайте разбираться.

Читать далее
Всего голосов 15: ↑2 и ↓13 -11
Комментарии 4

Миграция микросервисной архитектуры на API Gateway

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

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

Читать далее
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 2

Разбор переменных и скриптов в Insomnia

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

Автор: Надежда Дудник

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

Сейчас хочу поделиться разбором динамических переменных и показом примера скриптов с использованием Chains.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 2

«16+» или делаем шаблон страницы в XWiki на примере спецификации API

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

Пусть вас не смущает надпись: «16+» в заголовке. В статье не будет ни слова о безудержном кутеже с куртизанками за игрой в блэк-джек.

Просто я решил очередной статьей отпраздновать выпуск в свет 16-й версии XWiki – «open-source аналога Confluence» (по мнению её разработчиков).

Сегодня мы сделаем шаблон спецификации API в XWiki, чтобы в будущем нам было легко и удобно его тиражировать. 

Статья скорее рассчитана на новичков, поэтому в процессе я немного расскажу об XWiki и наиболее простом способе её установки.

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 0

Простой GPT-ассистент в Telegram на базе Яндекса и Node.js

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

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

В статье вас ждёт "сборка" очень простой связки из распознавания и синтеза речи, а также запросов в модель YandexGPT на Node.js. Наш телеграм бот будет получать голосовое сообщение, а затем распознавать его, скармливать в модель GPT и синтезировать полученный ответ в голосовое сообщение.

Хочется начать с небольшого предисловия. В ходе написания этого простейшего решения я потратил кучу времени на попытку интегрироваться с популярным OpenAI ChatGPT, но мои нервы вышли из чата (обход блокировки, HTTPS прокси и т.п.), поэтому я перешёл к Яндексу. Он встречает нас дружелюбной консолью, понятной документацией и грантом на тестирование. В целом, если гранта по каким-либо причинам нет, то мне на все тесты хватило 20 рублей.

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 7

Топ 5 моментов при разработке бота ТГ на R, на Serverles functions Яндекса

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

Возьмем пример: Как создать бота в Telegram

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

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

Читать далее
Всего голосов 7: ↑2 и ↓5 -3
Комментарии 0

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