Обновить
44.67

Проектирование API *

О создании API

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

Бот авторизаций в Telegram для корпоративных чатов

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

Привет, я Саша Снытко, и я руковожу командой BI в Data Office Tele2. Мы уже рассказывали здесь о миграции на Fine BI, если быть точнее, о нашем опыте мониторинга пользователей. Сегодня речь пойдет о кардинально другой теме – разработке Telegram-бота для корпоративных каналов и чатов. Задача, которая родилась из потребности следить за составом подписчиков чата Data Office и выросла в полноценный корпоративный инструмент.

В статье мы с главным разработчиком нашего бота (спойлер: стажером команды, которая проявила инициативу и вызвалась заняться этой нетривиальной задачкой) рассказываем о своем опыте разработки в Telegram API на основе библиотек Telebot и Telethon. Еще объясним, как смогли обойти ограничение Telegram по выгрузке в 200 пользователей и настроили интеграцию с корпоративным LDAP-каталогом. Ну и куда без дашборда статистики активности Tg-каналов в Fine BI. В свое время нам не хватило прикладного DIY-материала, и мы проходили весь путь с граблями и шишками самостоятельно. Надеемся, что эта статья поможет кому-то из вас. А те, кто уже прошел этот путь, подскажут нам новые пути решения и возможности апгрейднуть наш сервис.

Читать далее

Встречайте новые функции продукта «ПроAPI Структура» от команды «Вебмониторэкс»

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели542

Приветствуем вас, уважаемые пользователи и читатели Хабра!

Мы рады представить вам долгожданные функции нашего продукта «ПроAPI Структура» от команды «Вебмониторэкс». Эти функции позволят вам еще более эффективно управлять и оптимизировать ваши API. Речь идет о «Настройке чувствительности», «Очистке трафика» и «Создание правил WAF для параметров роута». Давайте подробно рассмотрим каждую из них.

Читать далее

Разработка ядра – API для прошивки

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

Что касается абсолютного большинства устройств, поддерживаемых в ядре Linux, от вас не требуется почти никакого вмешательства, чтобы пустить их в работу. Пожалуй, устройство потребуется включить (например, при помощи регулятора), отменить команду сброса или обратиться к нескольким конфигурационным регистрам. Но среди устройств есть и достаточно сложные; чтобы в полной мере использовать имеющиеся в них функции или добавлять собственные, для таких устройств требуется специализированная прошивка. Некоторые подобные устройства изначально рассчитаны на подключение заранее запрограммированной персистентной памяти, но в других предусматривается механизм, получающий им подтягивать прошивку из какого-либо приложения. Есть даже такие устройства, в которых одновременно предоставляются обе эти возможности.

Читать далее

Анти-паттерны в Go Web Applications

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели5.9K

В какой-то момент моей карьеры меня перестало радовать ПО которое я разрабатывал.

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

Читать далее

Сделали собственную платформу под документацию API: стоила ли игра свеч

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

HTTP SMS API vs SMPP API

Время на прочтение10 мин
Охват и читатели2K

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

Читать далее

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

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

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

Читать далее

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

Время на прочтение14 мин
Охват и читатели12K
image Привет, Хаброжители!

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

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

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

Время на прочтение4 мин
Охват и читатели13K


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

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

Но исследователи из Мэрилендского университета (США) доказали, что детали реализации API позволяют отслеживать перемещение маршрутизаторов по миру, то есть следить за людьми.
Читать дальше →

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

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

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

Продолжить

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

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

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

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

Читать далее

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

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

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

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

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

Ну что же, давайте разберемся

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

Время на прочтение16 мин
Охват и читатели8.4K
image Привет, Хаброжители!

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

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

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

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

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

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

Читать статью

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

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

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

Почему Kotlin и Spring Boot?

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

В добрый путь

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