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

API *

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

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

Методы тестирования веб-API, которые должен знать каждый: чек-листы для начинающих

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

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

Михаил Абрамов, технический писатель платформы МТС Exolve, подготовил для начинающих специалистов чек-листы с основными правилами и процедурами тестирования.

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

Новости

Интеграционное тестирование с применением Testcontainers в .NET 8

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

В этой статье будет показано, как правильно организовать интеграционное тестирование с применением Testcontainers на платформе .NET. В качестве примера возьмём веб-API, который будет обмениваться информацией с SQL Server через EF Core.
Читать дальше →
Всего голосов 5: ↑5 и ↓0+9
Комментарии0

MapStruct — смаппь меня, если сможешь

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

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

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

Книга «Микросервисы и API»

Время на прочтение16 мин
Количество просмотров5.6K
image Привет, Хаброжители!

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

Книга наполнена проверенными советами и примерами кода на языке Python. Авторы фокусируются на реализации, а не на философии. Изучите проверенные методы проектирования простых в использовании API для микросервисных приложений. Создавайте надежные API микросервисов, тестируйте, защищайте и развертывайте их в облаке, следуя принципам и шаблонам, применимым в любом языке программирования.
Читать дальше →
Всего голосов 4: ↑3 и ↓1+4
Комментарии0

Истории

Ужасно подробные ошибки в API: пишем на Go инструмент для работы с ними

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

Привет, Хабр! Меня зовут Александр Лырчиков, я разрабатываю систему хранения данных TATLIN.UNIFIED в YADRO. СХД — сложная система, и, если при работе произошла ошибка, она должна своевременно и понятно сообщать пользователю об этом. В большинстве веб-сервисов для этого используют баннер с надписью «Что-то пошло не так», но такой способ уведомления нам не подходит.

Мы столкнулись с проблемой, когда переданных сообщений и HTTP-кодов уже не хватает. Поэтому разработали собственный инструмент для обработки ошибок Terror (TATLIN + error). В результате работа с кодом стала проще, мы получили красивый API, а пользователи — понятное описание ошибки и локализацию текста на разные языки. В этой статье расскажу, как мы создавали Terror, чтобы вы смогли повторить решение.

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

Разработка REST API с использованием Kotlin и Spring Boot: сочетание простоты и мощи

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

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

Почему Kotlin и Spring Boot?

Kotlin, разработанный компанией JetBrains, и Spring Boot, один из наиболее популярных фреймворков для создания веб-приложений на языке Java, образуют мощное сочетание для разработки REST API. Kotlin предоставляет чистый и современный синтаксис, что упрощает разработку и делает код более читаемым. Spring Boot, с другой стороны, предоставляет множество готовых компонентов и упрощает конфигурацию, что позволяет сосредоточиться на бизнес-логике приложения.

В добрый путь
Всего голосов 3: ↑2 и ↓1+3
Комментарии11

Как мы выбирали протокол для клиентского API. Сравнение JSON-RPC 2.0 и RESTful API

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

Привет, Хабр! Меня зовут Виталий Киреев, я руководитель R&D в SpaceWeb. В статье расскажу, как мы внедрили JSON-RPC в разработку SpaceWeb и объясню, почему выбрали именно эту технологию, а не RESTful API. А ещё покажу реальные кейсы и метрики использования технологии JSON-RPC.

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

Разделяемость данных между микросервисами

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


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

Но здесь есть важная тонкость, которую я осознал далеко не сразу. Чтобы как следует применять это правило, необходимо различать совместное использование источника данных и совместное использование данных как таковых.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+15
Комментарии2

Почему JOOQ — идеальный инструмент для работы с БД при интеграционном тестировании API

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

Привет! Меня зовут Евгений, я SDET-специалист в SimbirSoft. Хочу поделиться примером того, как я автоматизировал тестирование API, заменив встроенные JDBC-средства на JOOQ. И расскажу, почему считаю это лучшим решением.

Все началось с того, что передо мной поставили задачу автоматизировать тестирование API с проверкой данных в БД. Так как проект только начинался, а я один отвечал за эту часть работы, то надо было сделать всё с нуля. Мне хотелось сделать все идеально (удобно, понятно, масштабируемо, с удобной поддержкой кода). Получилось все, кроме одного — масштабирование сверки данных из БД. Об этом и пойдет речь. А в конце вы найдете ссылку на исходный код.

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

Фоновые асинхронные задачи в FastAPI и их мониторинг

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

Привет! Меня зовут Иван, я бэкенд-разработчик в KTS.

Сегодня расскажу, как в FastAPI эффективно работать с фоновыми задачами и настроить их мониторинг в Prometheus.

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

В статье опишу 5 вариантов: встроенный в FastAPI Background Tasks и 4 библиотеки — ARQ, SAQ, FastStream, адаптированный к асинхронному коду Celery.

В конце расскажу, как мониторить фоновые задачи.

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

Всё, Телеграм теперь уподобился «плохим» корпорациям?

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

Вопреки ценностям, которыми бравировал Павел Дуров во время своего интервью Такеру Карлсону, некоторые администраторы крупных телеграм-ботов (~сотни тысяч DAU) буквально только что получили вот такое сообщение:

Читать сообщение
Всего голосов 53: ↑24 и ↓29+2
Комментарии206

Фаззинг REST API

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

Технология REST API (также называемая RESTful API или RESTful web API) получили в последнее время широкое распространение. REST API — это интерфейс прикладного программирования, который соответствует принципам проектирования архитектурного стиля передачи состояния представления (REpresentational State Transfer, REST). REST API предоставляют гибкий и легкий способ интеграции приложений и подключения компонентов в архитектурах микросервисов. Однако, приложения REST API могут содержать различные уязвимости, позволяющие злоумышленникам использовать эти ошибки в своих целях. Для выявления этих уязвимостей могут использоваться различные средства, об одном из которых — фаззинге мы и поговорим в этой статье. Но для начала давайте рассмотрим основы технологии REST API.

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

Создание собственного графического клиента ChatGPT с помощью NextJS и Wing

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

К концу этой статьи вы создадите и развернете клиент ChatGPT с помощью Wing и Next.js.

Это приложение может запускаться локально (в локальном облачном симуляторе) или развертываться у вашего собственного облачного провайдера.

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

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

Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область

Автоматизация тестирования: мой опыт

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

Приветствую!

Я – QA-инженер и мы разрабатываем медицинское приложение. В этой статье я хочу поделиться своим опытом внедрения автоматизации тестирования.

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

Анализ рынка акций мировых компаний на брокерской платформе Tinkoff Инвестиции

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

В мире, где цифровые технологии играют все более важную роль в повседневной жизни, рынок ценных бумаг становятся объектом увеличивающегося интереса исследователей, инвесторов, а также экономических и финансовых институтов. Цифровые активы и способы прогнозирования их стоимости быстро привлекают внимание своей децентрализованной природой, возможностью проведения глобальных финансовых транзакций и перспективой защиты от инфляции. Однако, они также характеризуются высокой волатильностью, что делает их предметом повышенного финансового риска. Этот рынок играет ключевую роль в экономике, поскольку предоставляет компаниям доступ к капиталу для финансирования своей деятельности, а также дает инвесторам возможность вложить свои деньги с целью получения прибыли [1, 2].

Платформа Tinkoff Инвестиции — это онлайн-сервис от Tinkoff Bank, который предоставляет клиентам возможность инвестировать в различные финансовые инструменты, включая акции, облигации, фонды, ETF и другие. Широкий выбор активов, удобный интерфейс и наглядная аналитика, и отчетность на платформе делает ее привлекательной для новичков и опытных инвесторов. Онлайн-брокерские компании позволяют инвесторам быстро и легко зарегистрироваться и приступить к торговле [3].

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

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

Когда целый день программировал на Zig: впечатления Rust-энтузиаста

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

Я — большой фанат Rust, так как в этом языке предоставляется отличное инструментальное оснащение, и, когда я пишу на этом языке, я могу быть вполне уверен, что этот код будет работать надёжно. Но иногда Rust ненавистен. Чтобы написать код на Rust, требуется немало времени, а некоторые вещи реализовать достаточно сложно (да, async, это я о тебе).

В прошлом году мне не раз доводилось слышать о новом низкоуровневом языке программирования, он называется Zig. И вот, наконец, я нашёл время, чтобы опробовать его на практике. В этой статье я хочу рассказать, что мне понравилось и не понравилось Zig (который я рассматривал с точки зрения Rust-программиста и тех высоких стандартов, к которым я привык в Rust).
Читать дальше →
Всего голосов 24: ↑21 и ↓3+27
Комментарии23

Как построить и продать API

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

API обеспечивает интеграцию сторонних функций, подключение корпоративных систем и обмен данными между приложениями. Этот инструмент часто используют как огромные корпорации, так и небольшие стартапы: за последние годы число разработчиков, применяющих это решение в своей работе, выросло на 61%. Такая популярность даёт создателям API новые возможности монетизации.

Что необходимо знать перед тем, как начать проектировать собственный API, и о ключевых особенностях его монетизации, рассказала Екатерина Саяпина, Product Owner личного кабинета платформы МТС Exolve.

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

Тестовое задание с Emfy — PHP разработчик

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

Пролог: Большое спасибо рекрутеру компании Emfy за то, что напомнил мне о моей способности быстро разбираться в незнакомых вещах ❤️

Всем привет! Это мой первый пост, и я хотел бы привнести свой вклад в сообщество, обсуждая интересные проекты и задачи с собеседований от руководителей различных компаний.

Начну, пожалуй, с того, что я PHP-разработчик, и мне нравится программировать. К сожалению, я упустил в своё время основные моменты при обучении и порой просто не обращал внимание на то, что мне не нравилось. Только совсем недавно, две недели назад, я начал изучать ООП.

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

Читать далее
Всего голосов 21: ↑9 и ↓120
Комментарии12

Прокси для Discord CDN

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

Начиная с декабря 2023 года все ссылки на вложения Discord CDN имеют следующий формат: https://cdn.discordapp.com/attachments/channel/message/filename.ext?ex=EXPIRES&is=ISSUED&hm=CODE Значения параметров запроса EXPIRES и ISSUED представляют собой даты в формате Unix/epoch hexCODE - это закодированная контрольная сумма, используемая для проверки значений EXPIRES и ISSUED. Попытка получить ссылки на вложения Discord CDN без вышеупомянутых параметров запроса или с параметром EXPIRES, превышающим текущее время, приведет к ответу 404: This content is no longer available. пример.

На практике это означает, что вы больше не можете ссылаться на вложения из Discord на своем сайте, делиться мемасиками на OK.ru и VK.com 😢

В этой статье представлено эффективное решение для публичного доступа к Discord CDN ссылкам.

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

Виртуальный аватар без мокап-костюма или сказ о том, как Unreal Engine не хотел с API работать

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

В этой статье мы расскажем Вам идею о том, как заставить манекена в Unreal Engine 5 повторять движения за человеком в кадре при помощи Python, нейронных сетей и API-запросов, а также поделимся наработками проекта “Виртуальный аватар без мокап-костюма”.

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

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