В этой статье рассказываю, что побудило меня создать свой API для конвертации валют и получения актуального курса от различных источников. Начиная от анализа потребностей в онлайн-платежах и заканчивая разработкой гибкого и эффективного микросервиса. Демонстрирую вызовы, с которыми столкнулся в процессе разработки, а также описываю функциональности и возможности созданного сервиса. Приглашаю к обсуждению и обмену опытом в этой области.
API *
Интерфейс программирования приложений
Новости
YandexGPT API быстро и без труда с Python SDK. Делимся опытом интеграции
YandexGPT API — сервис для доступа к генеративным языковым моделям, хоть и является мощным инструментом во многих задачах, однако может озадачить разработчика, решившего внедрить его в свои проекты отсутствием официального SDK, разнообразием способов авторизации, видов моделей и эндпоинтов API. В данной статье я рассказываю, как мы внедряли YandexGPT в свои проекты, а в конце делюсь всеми наработками.
Meilisearch — организация поиска в связке с Laravel
Hola, Amigos! Меня зовут Евгений Шмулевский, я backend-разработчик на Laravel в агентстве продуктовой разработки Amiga. В статье описываю организацию поиска через Meilisearch и нюансы использования в связке с Laravel.
История успеха. Внедрение платформы «Вебмониторэкс» для защиты приложений «СберАвто»
В свете постоянно меняющегося ландшафта киберугроз, компания «СберАвто» столкнулась с необходимостью эффективно и быстро реагировать на появление новых уязвимостей и способов их эксплуатации. Особенно в части защиты web-приложений, так как основой бизнеса компании является её сайт.
Инфраструктура компании построена на основе микросервисов взаимодействующих друг с другом по API, в связи с этим, сильно возросла важность обеспечения наблюдаемости всех API и мониторинга их изменений.
Для обслуживания каждого инстанса web-приложения компания «СберАвто» использует кластерную пару веб-серверов Nginx, которые выполняют функции балансировки нагрузки, маршрутизации запросов и обработки HTTP-запросов от клиентов. Поэтому, при выборе межсетевого экрана уровня приложения (WAF) было важно обеспечить непрерывную интеграцию с существующей инфраструктурой на базе Nginx.
Для защиты инфраструктуры, модули платформы от компании Вебмониторэкс были интегрированы во внутренние процессы связанные не только, с защитой приложений и сервисов, но с безопасной разработкой, сопровождением и динамическим тестированием.
Гибкость в выборе вариантов установки ноды WAF как на балансировщики нагрузки, так и в контейнер рядом с конкретным приложением, обеспечила возможность защитить в том числе и сервисы, расположенные внутри инфраструктуры. Развертывание доступно с использованием playbook Ansible или Terraform, что существенно упрощает процесс установки и обслуживания.
Платформа «Вебмониторэкс» имеет большие возможности обеспечения наблюдаемости и защиты API. В частности, для наблюдения за API, построения OAS и мониторинга изменений API был использован модуль «Структура API» (рис.1), более подробно про данный модуль можно прочитать в нашей документации.
Истории
Что учесть если используешь SignalR и захочешь масштабировать .Net-приложение?
Все мы любим «магию», которую дает нам такой инструмент как SignalR и с удовольствием внедряем это в проекты.
Конечно, кто откажется от динамики, мгновенного отклика на действия и мигающих иконочек с подписью «что же делает система в данный момент и не стоит ли перезагрузить страницу чтобы клацнуть ее еще раз?» ?
Однако и тут есть пара подводных камней, с которым я с командой столкнулся на продакшне...
Адаптация приложений к специальной версии Платформы nanoCAD 23.1 для отечественных ОС Astra Linux, Alt Linux и РЕД ОС
Рассказываем, как адаптировать пользовательское Windows-приложение к работе на Linux-версии Платформы nanoCAD. Представляем пошаговую инструкцию по переносу существующего приложения, с указанием Linux-путей для нового расположения приложения, а также информацию по созданию соответствующих ярлыков в операционных системах Linux.
Управление API или API Security? Что это такое?
В сфере кибербезопасности существует постоянная гонка между атакующими и защитниками. Этот процесс можно сравнить с визуальным процессом гонки, где основная цель - это скорость. Начинается все с фазы разведки, где происходит инвентаризация ресурсов. Затем команды приоритизируют задачи и принимают меры, основанные на этих приоритетах. Важно отметить, что скорость играет ключевую роль в этой гонке. Примером может служить серия событий, начавшаяся с утечки набора инструментов в открытый доступ от группы хакеров «The Shadow Brokers». Через месяц после этого появился шифровальщик WannaCry, а вскоре после этого его модификация NotPetya, использующая те же уязвимости с незначительными изменениями. Это произошло благодаря быстрой адаптации уже существующего кода и техник. Сравнивая сегодняшние события с прошлыми, мы видим, что скорость изменений значительно выросла. Если раньше для появления базовой атаки требовался месяц, то сейчас это может занять менее 10 дней. Это объясняется не только изменениями в инструментарии, но и развитием технологий, включая использование искусственного интеллекта. Однако вместе с увеличением скорости изменений возросла и сложность кибербезопасности. Системы становятся связанными и зависимыми друг от друга, что создает новые вызовы для обеспечения их безопасности. Необходимость защиты таких систем становится все более острой, и скорость реагирования является ключевым фактором в обеспечении безопасности в цифровом мире.
Почему важно быстро реагировать на уязвимости, и какую роль здесь играет Web Application Firewall (WAF).
Кажется, дождь собирается. Пишем Vue-приложение для прогноза погоды
В статье рассмотрим, как сделать простое приложение погоды без дизайн-макета. Поработаем с HTML, CSS, JavaScript, Vue, Vite, подключением API, а также развернем проект на облачном сервере. Подробности под катом!
Обработка ошибок в web apps не должна быть такой сложной
В процессе работы с Go я столкнулся с ещё одной проблемой — обработкой ошибок в хендлерах. Как можно сделать этот процесс удобным и эффективным для 150+ обработчиков? Как обеспечить консистентность и поддержку при обработке ошибок?
Разумеется, мои поиски палочки-выручалочки закончились ничем, хочется чтобы бум и все готово. Есть протокол RFS7807, есть библиотека, есть масса противоречивых статей. По существу статья ниже полностью не отвечает на все, но в ней есть позиция и предложено решение, и я думаю, это решение может быть полезным. Статья лишь повод/предложение поделиться вашими примерами успешных кейсов.
Собственно, статья, приятного прочтения.
Локальная REST-служба, или как за 5 минут интегрировать Smart ID Engine
Сегодня мы расскажем, как встроить нашу систему распознавания документов, удостоверяющих личность, Smart ID Engine в виде локально работающей службы с интерфейсом REST API.
REST API на котиках
Привет любителям котиков! Меня зовут Юля, я backend‑разработчик компании CDEK. Я сама не так давно изучала все эти сложные понятия в программировании, поэтому решила помочь и вам разобраться с одним из них.
С какой стороны IT вы бы не пытались войти — в какой‑то момент столкнётесь с понятием REST API. Эта статья создана, чтобы смягчить данное столкновение. Новые темы всегда легче воспринимаются на простых примерах, ну а если это примеры с котиками, то варианта не разобраться просто нет. Хочется обойтись без сложных научных определений, а рассказать самым простым языком. Поэтому, если вы любите сухие и точные формулировки, то вам нужна другая статья :)
OpenAI API – получить ответ ChatGPT на C#
В мире развивающегося искусственного интеллекта доступ к таким технологиям, как ChatGPT от OpenAI, становится все более востребованным. Для облегчения процесса взаимодействия с этим инструментом я запилил класс AmChat, который предоставляет простой и удобный способ отправки запросов к API ChatGPT и получения ответов. В этой статье мы рассмотрим особенности класса AmChat и его использование для быстрого и эффективного получения ответов от ChatGPT в вашем коде на C#.
Класс AmChat имеет только один публичный метод – GetAnswer, который является статическим и асинхронным. Этот метод принимает вопрос в качестве параметра и возвращает ответ от ChatGPT.
Благодаря тому, что метод GetAnswer является статическим и асинхронным, его использование становится очень простым и удобным. Программист может вызвать этот метод и дождаться ответа с помощью ключевого слова await, что значительно упрощает код и делает его более читаемым.
AmChat обеспечивает надежную обработку возможных ошибок, которые могут возникнуть при взаимодействии с API ChatGPT. Это позволяет повысить стабильность и надежность приложений, использующих этот класс.
Рассмотрим пример использования класса AmChat:
Как написать свою первую спецификацию на REST API. С какими ошибками может столкнуться аналитик и как их избежать?
Всем привет! Делюсь очередным выпуском нашей рубрики «Открытый микрофон», тема этого выпуска — «Как написать свою первую спецификацию на REST API».
Спикером стала Мария Яковлева. Маша — ведущий аналитик Платформы Сфера, НОТА (Т1 Консалтинг). В интернете много описаний особенностей архитектурного стиля REST, но мало информации о том, как аналитику начать создавать качественные спецификации на REST-методы. Маша поделилась своим опытом и, что особенно ценно, ошибками, допущенными в работе. А ещё Маша систематизировала их, чтобы уберечь вас от них)
Ниже предлагаю расшифровку трансляции, ссылку на сам выпуск оставлю в конце статьи.
Ближайшие события
Классифицируем клиент-серверное взаимодействие от А до Kafka
Всем привет, меня зовут Александр Карташов, я Java-бэкенд разработчик в Альфа-Банке. Работаю в проекте альфа-бизнес мобайл, мобильное приложение для юрлиц. В рамках проекта мне часто приходилось интегрироваться с разными банковскими системами, с разными стеком технологий, так и родилась эта статья, как попытка все упорядочить.
Blockchain-интеграция: возможности API и веб-сервисов для безопасных биткоин транзакций
В современном мире цифровых технологий тема блокчейна приобретает все большее значение. Блокчейн-технологии обещают революцию в различных сферах экономики и информационных систем, предоставляя надежные и прозрачные способы ведения записей. Одним из ключевых аспектов внедрения и использования блокчейна в бизнесе и разработке приложений являются блокчейн API и веб-сервисы. Эти инструменты позволяют интегрировать функциональные возможности блокчейна в различные информационные системы, упрощая и ускоряя процесс взаимодействия с технологией распределенного реестра.
Цель данной статьи – осветить концепцию блокчейн API, исследовать основные типы веб-сервисов, используемых для работы с блокчейн-сетями, и проанализировать их применение в реальных бизнес-моделях. Мы рассмотрим технические аспекты интеграции блокчейн API, преимущества и недостатки различных подходов, а также потенциальные риски и вызовы, стоящие перед разработчиками и предприятиями при внедрении этих технологий.
В статье будет дан обзор ключевых платформ, поддерживающих блокчейн API, и примеры успешных кейсов, демонстрирующих эффективность их использования в различных отраслях. Особое внимание будет уделено вопросам безопасности и конфиденциальности данных при работе с блокчейн-сетями через API и веб-сервисы.
Давайте, обсудим перспективы развития блокчейн API и веб-сервисов, а также их влияние на будущее цифровой экономики и информационных технологий.
Новые угрозы в OWASP API Security Top 10
Всем привет! Сегодня мы будем говорить о новых рисках в OWASP API Security Top 10, что плохого они нам обещают и что со всем этим можно сделать.
В 2023 году некоммерческая организация OWSAP обновила свой отчёт и выпустила новую версию 2023. По сравнению с 2023 годом, перечень рисков претерпел довольно сильные изменения, которые мы постарались представить в виде таблицы. Дополнительно, в таблице отмечено, какие из пунктов уже сейчас покрываются продуктами от «Выбмониторэкс», а какие будут закрыты в ближайшем будущем.
Tutorial: в gigachat появился function calling
Недавно в документации к API GigaChat появился раздел, посвящённый работе с функциями, аналогично тому, как это реализовано в ChatGPT. Идея заключается в том, что модели передаётся информация о доступных ей функциях, и в зависимости от запроса пользователя модель может обратиться к этим функциям и добавить их результат к промту для генерации ответа.
Данный функционал ещё не доступен в gigachain и доступен через API только для модели "GigaChat-Pro-preview"
, и я хочу поделиться своим первым опытом его использования.
На странице с документацией вас ожидает множество json схем, которые которые нужно добавить к запросам для вызова функций, а здесь мы рассмотрим, как внедрить вызов функций в свой код.
В моём примере, помимо информации о погоде, ассистент будет получать из гугл-таблицы цены на запрошенные продукты, и передавать их пользователю.
Как мы интегрировались в казахстанский маркетплейс или история о нюансах
Привет! Меня зовут Ваня Крючков, я бэкенд-разработчик в Далее. Сегодня поделюсь опытом интеграции интернет-магазина Haier с маркетплейсом Kaspi. Это история о том, как, несмотря на ограничения и не самое удобное API, нам удалось интегрироваться с самым популярным маркетплейсом в Казахстане и увеличить продажи в 3 раза.
На Хабре про Kaspi в целом мало информации, в основном, про финансы и новости. Поэтому мне показалось логичным на своем опыте показать, какие подводные камни могут встретиться на пути к автоматизации продаж на Казахстанском маркетплейсе.
Как провести фаззинг REST API с помощью RESTler. Часть 3
Привет, Хабр! С вами Владимир Исабеков, руководитель группы статического тестирования безопасности приложений в Swordfish Security. В прошлых статьях, посвященных фаззингу REST API, мы рассказывали о методе Stateful REST API Fuzzing и настройках инструмента RESTler. Сегодня мы поговорим о режимах тестирования, аннотациях, проблемах при подготовке и проведении фаззинга API и способах их решения. Статья написана в соавторстве с инженером по безопасности Артемом Мурадяном @TOKYOBOY0701.
Подводные камни при разработке мобильного приложения на Bitrix REST API
Меня зовут Андрей Буйновский, я разработчик в ИТ-компании. Мы с командой решили написать эту статью и поделиться некоторыми проблемами, подводными камнями и их решениями в разработке мобильного приложения для одного нашего заказчика из ритейла.
Мы разработали интернет-магазин для крупной торговой сети. После запуска интернет-магазина, мы перешли к развитию проекта, в рамках которого появилась задача по созданию дополнительного канала по взаимодействию с покупателями. Вопрос о выборе API для бэкэнда не стоял, так как интернет-магазин был разработан на платформе 1С-Битрикс, система имеет необходимый функционал для работы с альтернативным фронтом и мобильным приложением. Перед нашей командой стояла задача разработать мобильное приложение на основе Bitrix REST API для платформ iOS и Android с сохранением функционала действующего интернет-магазин заказчика. Это означало необходимость использования компонентов, уже реализованных для интернет-магазина, копирования их с целью сохранения логики, удаления верстки и использования возвращаемых данных.
Вклад авторов
forgotten 544.0alizar 505.0Mehdzor 393.0dididididi 339.0m1rko 323.2ru_vds 272.4Vasilui 265.2empenoso 219.0jirfag 213.0GlobalSign_admin 207.2