Обновить
45.22

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

О создании API

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

Данные из базы Notion по Api за 5 минут

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

Недавно дали мне задачку - сделать скрипт, который будет вытаскивать данные из базы данных Notion по API и загружать их в хранилище S3 в формате Parquet (автоматическая работа скрипта была на заказчике), при этом:

Читать далее

А что если вместо банковского вклада использовать облигации после резкого повышения ставки Банком России?

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

Процентные ставки по вкладам сейчас очень высокие - Банк России публикует информацию о 17,11%, но что если вместо традиционных банковских депозитов использовать облигации для сбережения и получения дополнительного пассивного дохода от этого актива?

Какие у облигаций есть особенности?

📍 Покупать облигации всегда выгоднее, когда ключевая ставка высокая (сейчас 18%). В таких случаях рыночная цена облигаций будет ниже, а доходность к погашению - больше.

📍 При покупке облигаций доходность фиксирует на всё время владения облигациями до их погашения.

📍 Когда Банк России начнет снижать ставку, доходность облигаций начнет падать, а цена - расти, но доходность облигаций, которые уже куплены останется неизменной.

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

За эти годы скрипт регулярно менялся. Сейчас представляю его обновленную версию.

Ищём куда пристроить рубли‭💸

Бот-парсер маркетплейса на Python

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

Всем привет! В этой статье я решил показать один из методов парсинга на Python на примере маркетплейса Wildberries.

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

В проекте будут использоваться следующие библиотеки:

Читать далее

Как построить асинхронное Python-приложение для рассылки уведомлений о событии

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

В этой статье рассмотрим создание асинхронного приложения на Python с использованием библиотеки httpx для рассылки уведомлений пользователям о предстоящих событиях, на которые они зарегистрировались.

Читать далее

Настраиваем аутентификацию по SMS и через мессенджеры для самых мобильных пользователей

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

Привет, Хабр! Меня зовут Екатерина Саяпина, я Product Owner личного кабинета платформы МТС Exolve. В разных проектах я вижу одну и ту же ошибку: разработчики пытаются внедрить как можно больше разных методов аутентификации. В результате падает безопасность, пользователям сложнее ориентироваться, а разработчикам — управлять и поддерживать продукт.

В этой статье я объясню отличие аутентификации от авторизации, идентификации от верификации и опишу два простых варианта ее реализации с использованием node.js: по SMS и через Telegram.

Читать далее

Создание полного Fast-API сервиса с фронтендом и деплоем за полчаса

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

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

После этого мы выполним деплой этого приложения, чтобы любой пользователь мог им воспользоваться.

Читать далее

Ещё раз о том, какого размера должны быть тесты

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

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

Читать далее

CurlFetch2Py – Эффективное преобразование CURL и FETCH команд в структурированные Python объекты

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

В этой статье мы рассмотрим, как использовать библиотеку CurlFetch2Py для преобразования CURL и FETCH запросов в структурированные Python объекты.

Эти инструменты часто применяются для выполнения HTTP-запросов и взаимодействия с веб-сервисами и API, обеспечивая обмен данными между клиентом и сервером.

Однако синтаксис этих запросов не всегда удобен для Python-разработчиков. Сегодня я покажу, как библиотека CurlFetch2Py упрощает работу с такими запросами, позволяя легко интегрировать их в Python-код.

На реальных примерах вы увидите, как эффективно трансформировать и использовать эти запросы, делая процесс работы с сетевыми запросами через python более удобным и продуктивным.

Читать далее

Как ускорить интеграцию API с помощью библиотеки и продвигать свои услуги

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

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

Читать далее

Создание масштабируемых приложений при помощи Kafka и реактивного программирования

Время на прочтение12 мин
Охват и читатели8.5K
image


Введение


В современном цифровом мире критически важна возможность обрабатывать данные в режиме реального времени и масштабировать приложения. Для этого хорошо подходит Kafka – платформа для распределённой потоковой обработки событий, особенно, если сочетать её с реактивным программированием. В данной статье будет рассказано, как создавать реактивные приложения при помощи этого инструментария.
Читать дальше →

React: одна любопытная особенность порталов

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



Привет, друзья!


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


Полагаю, статья будет интересна всем разработчикам React, а также тем, кто любит разбираться с тонкостями работы JavaScript и браузерных API.


Предполагается, что вы имеете некоторый опыт работы с React, и вам не надо объяснять, что такое порталы и для чего они нужны.

Читать дальше →

Эволюция API: от монолита к открытой платформе

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

Привет, Хабр. Меня зовут Сергей Синяков, тимлид команды спецификации в разработке КОМПАС-3D, занимаюсь вопросами управления данными об изделии и формированием документа Спецификации. И сегодня мы поговорим про API.

Любой программный продукт не существует в вакууме и предназначен для взаимодействия с пользователем через пользовательский интерфейс (UI) и/или с внешним приложением через API. Учитывать будущий интерфейс приложения чрезвычайно важно еще на этапе проектирования, т.к. требования к UI и API  могут накладывать существенные ограничения на архитектуру продукта. Не зря классическая пользовательская история, поступающая в разработку, звучит так: "Я как пользователь, выполнив определенные действия с UI, ожидаю получить соответствующий результат".  Если же спроецировать пользовательские истории на API, получим сценарий для автотестов и разработку через тестирование - TDD, когда перед началом разработки структуры данных, функции API и их ожидаемое поведение фиксируются в тестах, а разработка фокусируется на обеспечении их корректного прохождения.

Читать далее

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

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

Привет, Хабр! В предыдущей статье я поделился своей версией шаблона Go-микросервиса для начинающих, чтобы помочь тем, кто только начинает знакомиться с языком и еще не полностью его освоил. В этом продолжении я хочу подойти к задаче более серьезно и создать полностью функциональный сервис с необходимой инфраструктурой, которую мы развернем в Docker. Кроме того, я планирую внести изменения в структуру проекта, учитывая замечания из комментариев и анализ кода других проектов.

Читать далее

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

Гарантированный успех: решай любые тесты на 100% с помощью GPT в твоем браузере

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

В современном мире, где обучение становится все более сложным, а тесты — настоящим испытанием для студентов и учеников, а также для начинающих специалистов, которые работают в компаниях, где сильно развито грейдирование, мы постоянно ищем эффективные способы облегчить процесс получения знаний. Специально для вас я разбираю мощный плагин для браузера, который использует возможности GPT для решения тестов на любые темы. Этот не инновационный инструмент, но таких примеров разбора я в интернете не нашёл. В этой статье мы расскажем, как работает этот плагин, какие преимущества он предлагает и как вы можете использовать его, чтобы достигать результатов на 100%. Давайте разберемся, как сделать вашу учебу проще и эффективнее с помощью этой уникальной технологии!

Читать далее

Создание собственного API на Python (FastAPI): Подключаем фронтенд и статические файлы

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

Друзья, приветствую. Надеюсь, что вы ждали выхода данной публикации. На текущий момент, если вы следовали моим статья, то к настоящему моменту вы уже освоили:

- Основы создания простого приложения с использованием FastAPI.

- Основные HTTP‑запросы: POST, GET, PUT и DELETE.

- Принципы работы с Pydantic моделями и их интеграцию в FastAPI.

- Использование инструментов Alembic и SQLAlchemy для управления базой данных.

- Настройку асинхронной работы с базой данных PostgreSQL в SQLAlchemy.

- Реализацию кастомной авторизации и аутентификации в FastAPI.

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

Читать далее

Война YouTube против блокировщиков рекламы

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


У каждого человека есть важный монетизируемый ресурс — его внимание (то есть время осмысленной жизни). За внимание пользователя идёт борьба между интернет-компаниями, они придумывают всё новые трюки, чтобы завлечь и не отпустить юзера, а его задача — не потратить свой ресурс на рекламу и другие отвлекающие вещи. Поэтому блокировщики рекламы важны для личной безопасности и опасны для корпораций. В официальной финансовой отчётности Google указано, что технологии блокировки рекламных объявлений — один из основных рисков для бизнеса.

Особенно наглядно война корпораций против людей видна на YouTube, где корпорация Google начала нещадную борьбу с блокировщиками.
Читать дальше →

Парсим API HeadHunter с помощью R

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

В данной статье мы рассмотрим, как при помощи языка R обработать запросы API hh.ru. Мы подробно разберем, как получить OAuth токен для доступа к API hh.ru, а также как использовать библиотеки tidyverse, httr2, и furrr для эффективного сбора и анализа данных. Начнем с регистрации приложения на hh.ru и получения необходимых данных для авторизации. Затем перейдем к выполнению запросов к API, получению информации о вакансиях, их фильтрации и преобразованию в удобный формат для дальнейшего анализа в R.

Читать далее

Как настроить аутентификацию через SMS и Flask для самых-самых ленивых пользователей

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

Привет, Хабр!

Сегодня мы по шагам расскажем, как подключить проверку пользовательских данных с помощью одноразового пароля по SMS. Для этого будем использовать платформу MTC Exolve и фреймворк Flask. Такой метод легко внедрить в свой проект и сделать работу с простыми личными кабинетами удобной и максимально ненапряжной для пользователей.

Читать далее

Создание собственного API на Python (FastAPI): Авторизация, Аутентификация и роли пользователей

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

Друзья, приветствую! К сожалению, не хватает времени, чтобы чаще публиковаться, и надеюсь, что вы ждали этой статьи.

Как вы поняли из названия, сегодня мы поговорим про авторизацию и аутентификацию. Прежде чем вы приступите к прочтению статьи, настоятельно рекомендую вам ознакомиться с прошлым материалом по теме разработки собственного API через FastApi.

Читать далее

Скрытая (на виду) сила KeyPath'ов

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

Привет! Меня зовут Максим Черноусов, и я занимаюсь iOS-разработкой в Райфе. Я обожаю использовать и дизайнить классные API. А один из самых часто используемых строительных блоков для хороших API в Swift — это KeyPath'ы. Сегодня о них и поговорим.

Читать далее

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