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

API *

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

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

Web APIs, которые функционально приближают веб-приложения к нативным

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

Исходные данные: мы с командой делаем банковское приложение. Веб-приложение. Не все поверят, но сегодня реально реализовать на вебе такой пользовательский опыт, от которого люди не будут скрипеть зубами и умолять вернуть им натив. Расскажу, какие Web API мы используем, раскрою тонкости и покажу примеры кода.

Читать далее
Всего голосов 24: ↑23 и ↓1+27
Комментарии23

Новости

Об извлечении кода в Python

Время на прочтение6 мин
Количество просмотров4.4K
Я начал изучать Python в 2009 году, столкнувшись с очень нетривиальной и, кстати, необычной задачей на этом языке. Тогда я разрабатывал приложение для ПК, где графический пользовательский интерфейс создавался на PyQT, а основным языком в программе был Python.

Чтобы скрыть код, я встроил интерпретатор Python в самостоятельный исполняемый файл Windows. Это можно сделать при помощи множества инструментов (напр., pyinstaller, pyexe), все они функционально похожи. Они компилируют в байт-код ваши скрипты, написанные на Python, а далее, связывая их с интерпретатором, укладывают в исполняемый файл. Если компилировать скрипты, понижая их до байт-кода, то злоумышленникам становится сложнее добраться до вашего исходного кода и взломать ваше приложение. Байт-код приходится извлекать из исполняемого файла и декомпилировать. Кроме того, таким способом можно выполнять обфускацию кода, и в результате код становится гораздо сложнее понимать.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+15
Комментарии2

HTTP SMS API vs SMPP API

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

HTTP SMS API и SMPP API — популярные инструменты среди разработчиков, которым нужен качественный и высокопроизводительный SMS API. Их используют, чтобы встроить в свои приложения передачу текстовых сообщений. В статье Михаил Абрамов, технический писатель МТС Exolve, расскажет про оба варианта и сравнит их.

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

Предотвращение утечек API

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

Компонент «Предотвращение утечек API» расширяет функциональность ПО «Структура API» в области мониторинга скомпрометированных секретов (токенов) с дальнейшей возможностью блокировки таких токенов путём создания виртуальных патчей.Он предоставляет следующие возможности:

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

Истории

FastAPI: веб-разработка на Python

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

FastAPI — относительно новый, но надежный фреймворк с чистым дизайном, использующий преимущества актуальных возможностей Python. Как следует из названия, FastAPI отличается высоким быстродействием и способен конкурировать в этом с аналогичными фреймворками на таких языках, как Golang. Эта практическая книга расскажет разработчикам, знакомым с Python, как FastAPI позволяет достичь большего за меньшее время и с меньшим количеством кода.

Билл Любанович рассказывает о тонкостях разработки с применением FastAPI и предлагает множество рекомендаций по таким темам, как формы, доступ к базам данных, графика, карты и многое другое, что поможет освоить основы и даже пойти дальше. Кроме того, вы познакомитесь с RESTful API, приемами валидации данных, авторизации и повышения производительности. Благодаря сходству с такими фреймворками, как Flask и Django, вы легко начнете работу с FastAPI.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+10
Комментарии3

WiFi-маршрутизаторы — это трекеры для массовой слежки

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


Как известно, Android и iOS активно используют для позиционирования своих смартфонов информацию об окружающих точках доступа Wi-Fi. Периодически смартфон сканирует окружающее пространство на предмет окружающих BSSID (уникальные идентификаторы маршрутизаторов WiFi), также регистрирует свои координаты GPS — и отправляет информацию производителю операционной системы.

В свою очередь, Google и Apple предоставляют геопозиционную информацию всем желающим через открытые API.

Но исследователи из Мэрилендского университета (США) доказали, что детали реализации API позволяют отслеживать перемещение маршрутизаторов по миру, то есть следить за людьми.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+13
Комментарии11

Получение информации с LeetCode о пользователе на Golang

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

В данной статье будет рассмотрено, как можно написать программу на Golang для получения информации о пользователе с помощью API LeetCode. Для разработки будет использоваться библиотека graphql на Golang, чтобы отправить запросы к API LeetCode и получить необходимые данные о пользователе. Для простоты взаимодействия с пользователями будет использован Telegram API. Стоит добавить, что для Телеграм бота не нужно покупать отдельный хостинг, можно все сделать локально, нужно только доступ к интернету.

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

Используем базу в Notion как знания для нейро-сотрудника на базе LLM (ChatGPT)

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

Разбираем кейс по подключению к чат-боту на базе LLM (ChatGPT и другие) базы данных в Notion.

В итоге мы с вами получим нейро-сотрудника, который может работать с базой знаний неограниченного объема и 100% достоверностью ответов.

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

Как подключить сканер распознавания и проверки подлинности быстро и без программирования

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

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

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

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

Откажитесь уже наконец от gin, echo и <иной ваш фреймворк>

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

Введение: Пересмотр Традиций в Мире Go

В мире разработки на Go выбор фреймворка часто превращается в лояльность, сопоставимую с выбором между Apple и Android. Фреймворки вроде Gin, Echo и Beego долгие годы были верными спутниками программистов, помогая быстро развертывать проекты и достигать первых успехов. Они предлагали удобные инструменты и привычные шаблоны работы, но со временем становится очевидным, что у каждого свой «язык». Это создаёт трудности при переходе между ними или интеграции с другими системами.

Ну что же, давайте разберемся
Всего голосов 17: ↑13 и ↓4+11
Комментарии9

Шаблон Go-микросервиса для начинающих от .NET разработчика. Часть 1

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

Привет, Хабр! У многих разработчиков на .NET вызывает интерес относительно свежий язык программирования Go (Golang). Однако при поиске информации и учебных материалов он может отпугивать. Нам предлагается забыть все удобное и красивое, чему нас научила .NET, и принять что-то новое, но кажущееся непривычным и не всегда приятным.

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

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

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

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

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

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

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

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

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

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

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

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

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

Конференция HR API 2024
Дата14 – 15 июня
Время10:00 – 18:00
Место
Санкт-ПетербургОнлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область

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

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

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

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

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

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

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

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

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

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

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

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

Почему Kotlin и Spring Boot?

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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