Исходные данные: мы с командой делаем банковское приложение. Веб-приложение. Не все поверят, но сегодня реально реализовать на вебе такой пользовательский опыт, от которого люди не будут скрипеть зубами и умолять вернуть им натив. Расскажу, какие Web API мы используем, раскрою тонкости и покажу примеры кода.
API *
Интерфейс программирования приложений
Новости
Об извлечении кода в Python
Чтобы скрыть код, я встроил интерпретатор Python в самостоятельный исполняемый файл Windows. Это можно сделать при помощи множества инструментов (напр., pyinstaller, pyexe), все они функционально похожи. Они компилируют в байт-код ваши скрипты, написанные на Python, а далее, связывая их с интерпретатором, укладывают в исполняемый файл. Если компилировать скрипты, понижая их до байт-кода, то злоумышленникам становится сложнее добраться до вашего исходного кода и взломать ваше приложение. Байт-код приходится извлекать из исполняемого файла и декомпилировать. Кроме того, таким способом можно выполнять обфускацию кода, и в результате код становится гораздо сложнее понимать.
HTTP SMS API vs SMPP API
HTTP SMS API и SMPP API — популярные инструменты среди разработчиков, которым нужен качественный и высокопроизводительный SMS API. Их используют, чтобы встроить в свои приложения передачу текстовых сообщений. В статье Михаил Абрамов, технический писатель МТС Exolve, расскажет про оба варианта и сравнит их.
Предотвращение утечек API
Компонент «Предотвращение утечек API» расширяет функциональность ПО «Структура API» в области мониторинга скомпрометированных секретов (токенов) с дальнейшей возможностью блокировки таких токенов путём создания виртуальных патчей.Он предоставляет следующие возможности:
Истории
FastAPI: веб-разработка на Python
FastAPI — относительно новый, но надежный фреймворк с чистым дизайном, использующий преимущества актуальных возможностей Python. Как следует из названия, FastAPI отличается высоким быстродействием и способен конкурировать в этом с аналогичными фреймворками на таких языках, как Golang. Эта практическая книга расскажет разработчикам, знакомым с Python, как FastAPI позволяет достичь большего за меньшее время и с меньшим количеством кода.
Билл Любанович рассказывает о тонкостях разработки с применением FastAPI и предлагает множество рекомендаций по таким темам, как формы, доступ к базам данных, графика, карты и многое другое, что поможет освоить основы и даже пойти дальше. Кроме того, вы познакомитесь с RESTful API, приемами валидации данных, авторизации и повышения производительности. Благодаря сходству с такими фреймворками, как Flask и Django, вы легко начнете работу с FastAPI.
WiFi-маршрутизаторы — это трекеры для массовой слежки
Как известно, Android и iOS активно используют для позиционирования своих смартфонов информацию об окружающих точках доступа Wi-Fi. Периодически смартфон сканирует окружающее пространство на предмет окружающих BSSID (уникальные идентификаторы маршрутизаторов WiFi), также регистрирует свои координаты GPS — и отправляет информацию производителю операционной системы.
В свою очередь, Google и Apple предоставляют геопозиционную информацию всем желающим через открытые API.
Но исследователи из Мэрилендского университета (США) доказали, что детали реализации API позволяют отслеживать перемещение маршрутизаторов по миру, то есть следить за людьми.
Получение информации с LeetCode о пользователе на Golang
В данной статье будет рассмотрено, как можно написать программу на Golang для получения информации о пользователе с помощью API LeetCode. Для разработки будет использоваться библиотека graphql на Golang, чтобы отправить запросы к API LeetCode и получить необходимые данные о пользователе. Для простоты взаимодействия с пользователями будет использован Telegram API. Стоит добавить, что для Телеграм бота не нужно покупать отдельный хостинг, можно все сделать локально, нужно только доступ к интернету.
Используем базу в Notion как знания для нейро-сотрудника на базе LLM (ChatGPT)
Разбираем кейс по подключению к чат-боту на базе LLM (ChatGPT и другие) базы данных в Notion.
В итоге мы с вами получим нейро-сотрудника, который может работать с базой знаний неограниченного объема и 100% достоверностью ответов.
Как подключить сканер распознавания и проверки подлинности быстро и без программирования
Известный факт: мультиспектральные сканеры — одно из самых надежных средств для защиты от мошенников при оказании финансовых и других услуг. Они уже давно установлены в пограничных службах, используются в ФНС и других организациях. Тем не менее, случаи, когда мошенники по фальшивым документам, например, открывают счета в банках, не редки.
Сканеры уступают ультрамагам, которые до сих пор используются в абсолютном большинстве финорганизаций, по сложности интеграции. Поставили и заработало. Мы осознали проблему и решили все сложности. А заодно исключили раздражающее всех введение паспортных данных вручную.
Откажитесь уже наконец от gin, echo и <иной ваш фреймворк>
Введение: Пересмотр Традиций в Мире Go
В мире разработки на Go выбор фреймворка часто превращается в лояльность, сопоставимую с выбором между Apple и Android. Фреймворки вроде Gin, Echo и Beego долгие годы были верными спутниками программистов, помогая быстро развертывать проекты и достигать первых успехов. Они предлагали удобные инструменты и привычные шаблоны работы, но со временем становится очевидным, что у каждого свой «язык». Это создаёт трудности при переходе между ними или интеграции с другими системами.
Шаблон Go-микросервиса для начинающих от .NET разработчика. Часть 1
Привет, Хабр! У многих разработчиков на .NET вызывает интерес относительно свежий язык программирования Go (Golang). Однако при поиске информации и учебных материалов он может отпугивать. Нам предлагается забыть все удобное и красивое, чему нас научила .NET, и принять что-то новое, но кажущееся непривычным и не всегда приятным.
И к проблеме непривычности добавляется отсутствие качественного материала на русском языке. Большинство книг поверхностно рассматривают стандартные для всех языков ключевые слова, не углубляясь в важные аспекты их внутреннего устройства и работы.
В своей статье я хочу поэтапно описать все необходимые шаги для создания простого микросервиса и представить его в виде шаблона. Так как я сам не являюсь опытным разработчиком на Go, а только изучаю этот язык, мой шаблон предназначен для того, чтобы показать, как примерно выглядит микросервис.
Методы тестирования веб-API, которые должен знать каждый: чек-листы для начинающих
Тестирование веб-API нужно, чтобы обеспечить надёжность взаимодействий и обработки данных в приложениях. Ошибки в API могут вызвать сбои и уязвимости, поэтому проверка аутентификации, авторизации и шифрования критична. Качественно протестированные API улучшают пользовательский опыт и снижают затраты на дальнейшую поддержку продукта.
Михаил Абрамов, технический писатель платформы МТС Exolve, подготовил для начинающих специалистов чек-листы с основными правилами и процедурами тестирования.
MapStruct — смаппь меня, если сможешь
Я потратил на изучение данной библиотеки немало нервных клеток, и уверен, что узнал далеко не все способы и лайфхаки, но постарался донести информацию с практической стороны, чтобы вы с самого старта не испытывали "нежданчиков" и сэкономили свое время в попытках найти работающий способ.
Ближайшие события
Книга «Микросервисы и API»
Простые и понятные API — необходимое условие успеха микросервисных приложений. Хорошо продуманные API гарантируют надежную интеграцию сервисов и помогают упростить сопровождение, масштабирование и дальнейшее совершенствование. Познакомьтесь с паттернами, протоколами и стратегиями, которые помогут вам проектировать, реализовывать и развертывать эффективные микросервисы с REST и GraphQL API.
Книга наполнена проверенными советами и примерами кода на языке Python. Авторы фокусируются на реализации, а не на философии. Изучите проверенные методы проектирования простых в использовании API для микросервисных приложений. Создавайте надежные API микросервисов, тестируйте, защищайте и развертывайте их в облаке, следуя принципам и шаблонам, применимым в любом языке программирования.
Ужасно подробные ошибки в API: пишем на Go инструмент для работы с ними
Привет, Хабр! Меня зовут Александр Лырчиков, я разрабатываю систему хранения данных TATLIN.UNIFIED в YADRO. СХД — сложная система, и, если при работе произошла ошибка, она должна своевременно и понятно сообщать пользователю об этом. В большинстве веб-сервисов для этого используют баннер с надписью «Что-то пошло не так», но такой способ уведомления нам не подходит.
Мы столкнулись с проблемой, когда переданных сообщений и HTTP-кодов уже не хватает. Поэтому разработали собственный инструмент для обработки ошибок Terror (TATLIN + error). В результате работа с кодом стала проще, мы получили красивый API, а пользователи — понятное описание ошибки и локализацию текста на разные языки. В этой статье расскажу, как мы создавали Terror, чтобы вы смогли повторить решение.
Разработка REST API с использованием Kotlin и Spring Boot: сочетание простоты и мощи
В мире разработки программного обеспечения создание эффективных и масштабируемых веб-API является ключевой задачей для большинства проектов. Использование правильного инструментария и языка программирования может существенно облегчить этот процесс. В этой статье мы рассмотрим, как использование языка программирования Kotlin с фреймворком Spring Boot упрощает создание REST API, обеспечивая при этом высокую производительность и надежность.
Почему Kotlin и Spring Boot?
Kotlin, разработанный компанией JetBrains, и Spring Boot, один из наиболее популярных фреймворков для создания веб-приложений на языке Java, образуют мощное сочетание для разработки REST API. Kotlin предоставляет чистый и современный синтаксис, что упрощает разработку и делает код более читаемым. Spring Boot, с другой стороны, предоставляет множество готовых компонентов и упрощает конфигурацию, что позволяет сосредоточиться на бизнес-логике приложения.
Как мы выбирали протокол для клиентского API. Сравнение JSON-RPC 2.0 и RESTful API
Привет, Хабр! Меня зовут Виталий Киреев, я руководитель R&D в SpaceWeb. В статье расскажу, как мы внедрили JSON-RPC в разработку SpaceWeb и объясню, почему выбрали именно эту технологию, а не RESTful API. А ещё покажу реальные кейсы и метрики использования технологии JSON-RPC.
Разделяемость данных между микросервисами
Когда я только начинал работать с микросервисами, я чрезмерно буквально следовал общему правилу «не допускайте, чтобы два сервиса совместно использовали один источник данных».
Этот тезис фигурирует повсюду в Интернете как заповедь: «да не раздели ты базу данных между двумя сервисами» и, определённо, в нём есть смысл. Сервис должен владеть собственными данными и иметь возможность свободно менять их схему так, как будет сочтено нужным, не меняя при этом API, направленный вовне.
Но здесь есть важная тонкость, которую я осознал далеко не сразу. Чтобы как следует применять это правило, необходимо различать совместное использование источника данных и совместное использование данных как таковых.
Почему JOOQ — идеальный инструмент для работы с БД при интеграционном тестировании API
Привет! Меня зовут Евгений, я SDET-специалист в SimbirSoft. Хочу поделиться примером того, как я автоматизировал тестирование API, заменив встроенные JDBC-средства на JOOQ. И расскажу, почему считаю это лучшим решением.
Все началось с того, что передо мной поставили задачу автоматизировать тестирование API с проверкой данных в БД. Так как проект только начинался, а я один отвечал за эту часть работы, то надо было сделать всё с нуля. Мне хотелось сделать все идеально (удобно, понятно, масштабируемо, с удобной поддержкой кода). Получилось все, кроме одного — масштабирование сверки данных из БД. Об этом и пойдет речь. А в конце вы найдете ссылку на исходный код.
Фоновые асинхронные задачи в FastAPI и их мониторинг
Привет! Меня зовут Иван, я бэкенд-разработчик в KTS.
Сегодня расскажу, как в FastAPI эффективно работать с фоновыми задачами и настроить их мониторинг в Prometheus.
В туториалах для фоновых задач в FastAPI обычно предлагают celery и при этом используют синхронный код. Но сегодня в реальной практике такое встречается редко, поэтому в этой статье я покажу, как в фоновых задачах использовать асинхронный код.
В статье опишу 5 вариантов: встроенный в FastAPI Background Tasks и 4 библиотеки — ARQ, SAQ, FastStream, адаптированный к асинхронному коду Celery.
В конце расскажу, как мониторить фоновые задачи.
Вклад авторов
forgotten 544.0alizar 505.0Mehdzor 393.0dididididi 339.0m1rko 323.2ru_vds 272.4Vasilui 265.2ph_piter 220.2GlobalSign_admin 220.2empenoso 219.0