Как стать автором
Обновить
32.03
Рейтинг

API *

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

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

Управление облаком с помощью API и CLI. Основы

Блог компании Serverspace IT-инфраструктура *API *

В этой статье объясняем, зачем нужны инструменты автоматизации API и CLI и как с их помощью управлять инфраструктурой на примере Serverspace.

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

Новости

Как оставаться программистом, если у тебя память как у дрозофилы

Python *Программирование *API *Подготовка технической документации *
Перевод

Мой мадригал тем инструментам разработки, которые изменили мою жизнь

Программирование стало гораздо более многогранным ремеслом с тех пор, как в середине 1990-х я впервые попробовал AmigaBASIC. В те времена еще можно было купить один большой том о компьютере, на котором вы программируете – и там бы нашлось 99% всей нужной информации. Эта книга, где на множестве страниц уголки загнуты в качестве закладок, обклеенная стикерами, лежала бы у вас под рукой, пока вы вбивали бы команды в монохромный текстовый редактор.

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

Сегодня никто бы больше и не подумал покупать документацию по разработке – и Microsoft, и Apple свободно выкладывают свою документацию в Интернете для всех желающих. А что говорить о проектах с открытым исходным кодом!

Во времена npmPyPI и GitHub сложно объяснить, насколько неоднозначным решением (которое требовалось всесторонне обдумывать) раньше считалось потребовать хоть какие-нибудь возможности, которые выходили бы за рамки функционала операционной системы. Часто вместе с продуктом приходилось сдавать и все его зависимости.

Читать далее
Всего голосов 40: ↑37 и ↓3 +34
Просмотры 34K
Комментарии 34

Безопасный Spring REST с применением Spring Security и OAuth2

Блог компании Southbridge Java *API *Kotlin *
Перевод

В этой статье мы продемонстрируем пример настройки Spring Security + OAuth2  для защиты конечных точек REST API на фреймворке Spring Boot. Клиенты и учетные данные пользователей будут храниться в реляционной базе данных (для баз данных H2 и PostgreSQL подготовлены примеры конфигураций).

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 2.6K
Комментарии 4

Основное про API-шлюз в Kubernetes

Блог компании Nixys IT-инфраструктура *API *DevOps *Kubernetes *
Перевод
Tutorial

Существует множество альтернатив для доступа к модулю извне кластера. Шлюз API - это определенно новинка этой области, и потому выбран темой этой статьи.

Ранее мы описывали несколько способов доступа к модулям Kubernetes. Так, например, доступ к модулю pods можно получить через его IP-адрес, но важно учитывать, что поды по своей сути являются временными. Штатный способ - настроить Service: в этом случае IP-адрес стабилен, а задача Kubernetes - обеспечивать мапироание между Service и соответствующими ей подами. В настоящий момент доступны различные виды сервисов: только внутренние, NodePort, позволяющий открыть доступа извне кластера, и LoadBalancer, который полагается на сторонний компонент - обычно это на облачный провайдер. Не будем забывать и об Ingress, обеспечивающем маршрутизацию.

Ну а API-шлюз, как новинку в этой области, мы оставили на десерт, решив посвятить ему целый пост.

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 2.6K
Комментарии 0

Интеграция с маркетплейсами или как я научился не волноваться и полюбил API-интеграцию

API *Разработка под e-commerce *Управление e-commerce *Управление продажами *
Tutorial

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

💡 Сначала материал не разрешили публиковать — сочли его рекламным. Но когда узнали все детали — что через наш API можно формировать до 500 запросов в сутки бесплатно (а этого по опыту хватает в среднем на обработку 50 заказов), — «дали зеленый свет» и попросили указать все это в начале материала. Что я и делаю 🙂 Заявку на подключение доступа можно оформить на сайте компании через форму обратной связи.

Читать далее
Рейтинг 0
Просмотры 969
Комментарии 6

Что станет с производительностью, если переборщить с ленивой загрузкой

Блог компании Издательский дом «Питер» Высокая производительность *JavaScript *Программирование *API *
Перевод
Ленивая загрузка – это выжидательный подход к работе с ресурсами, когда загрузка ресурса откладывается до момента, пока он фактически не понадобится. В таком случае при работе с критически важными ресурсами экономятся данные, а также снижается конкуренция за эти данные при работе по сети. Такой прием стал веб-стандартом в 2019 году, а сегодня loading=«lazy» для изображений поддерживается в большинстве крупных браузеров. На словах все отлично, но случается ли перебор с ленивой загрузкой?

В этом посте обобщены и проанализированы данные о прозрачности веба, взятые в открытых источниках, а также проделано импровизированное A/B тестирование. Эта работа помогает понять производительность и степень внедрения нативной ленивой загрузки при работе с картинками. Оказывается, ленивая загрузка может быть поразительно эффективна при избавлении от ненужных картиночных байт, но, если с ней переусердствовать – это плохо скажется на производительности. А именно: наше исследование показывает, что при более жадной загрузке изображений в пределах первичной области видимости – в сочетании с более свободной и ленивой загрузкой остальных – достижима золотая середина. Экономится количество загруженных байт и улучшаются показатели Core Web Vitals.
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 5.5K
Комментарии 1

Сервис, который должен был объединить торговые площадки США Ebay, Amazon и Zappos

Разработка веб-сайтов *Интерфейсы *API *Joomla *Разработка под e-commerce *

В далёком 2012 году довелось мне участвовать в одном интересном проекте - BuyinUsa. Идея проекта была в следующем: объединить в одном месте товарные предложения с наиболее популярных торговых площадок США, представить их российским потребителям, взять на себя доставку и конвертацию при оплате.

Для начала решили взять самые крупные: ebay, amazon, zappos. К тому же в этот год zappos вообще закрыл возможность для российских пользователей даже заходить на их сайт. А тут мы такие…

Как, наверно, кто-то еще помнить, тогда вездесущего алиэкспресс еще не было, да и умением покупать за границей отличались лишь “продвинутые интернетчики”, а наша задача была предложить услугу как можно более массовому потребителю.
Я выступал в роли и соучредителя и в качестве, как бы сейчас сказали, тимлида, так как вся разработка проекта была на мне. Я был еще достаточно юным и пылал энтузиазмом:)

Вся разработка осуществлялась удаленно, программисты, вебмастер, дизайнер и я работали исключительно через сеть. Использовались в основном простые средства вроде teamview и skype. В качестве основы для сайта взяли всем известную Joomla, а для интернет-магазина Virtualmart. Конечно, по современным воззрениям это ужас-ужас, но тогда мне так не казалось.

Что надо было решить:

1. Карточка товаров, которые были очень разноплановые. А от характеристик зависела возможность отфильтровать товары в поиске.

Решение: взяли более ста карточек с разными характеристиками и просили их отсортировать по важности знакомых и друзей. Сравнивали результаты и выделяли главные. А потом скопировали карточку с Запоса и отредактировали её под свои нужды:)

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 1.6K
Комментарии 6

Гайд по первичной настройке асинхронного Python-приложения с GraphQL-библиотекой Strawberry

Python *API *
Tutorial

Пишете на Python и давно хотели запрыгнуть на поезд хайпа по GraphQL, но никак не могли выбрать между Graphene и Ariadne? Предлагаем вам третий вариант – Strawberry.

Strawberry – code-first библиотека с большим количеством батареек. 2.6 тыс. звёзд в репозитории на GitHub. Для описания типов можно использовать dataclasses и pydantic-модели. Из коробки поддерживается асинхронность.

В этом гайде мы напишем приложение, реализующее создание и получение пользователей (users) и их книг (books).

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 1.6K
Комментарии 0

25 правил разработки программных интерфейсов [издание третье, дополненное и расширенное]

API *

Это — очередная (уже третья) ревизия главы 11 мой книги о разработке API. Если вы найдёте этот текст полезным, я буду очень благодарен за рейтинг на Амазоне.

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 5.8K
Комментарии 41

GraphQL: доступ запрещен

Блог компании HeadHunter Java *API *

Жил-был один маленький разработчик, работал себе над REST API и горя не знал. Но вот приходит к нему тимлид и предлагает затащить GraphQL. Казалось бы: классный и мощный GraphQL — это запросто! Но в процессе проектирования API разработчик столкнулся с неожиданными проблемами и суровыми испытаниями: система оказалась довольно сложна и полна различных прав и ролей.

Всем привет! Меня зовут Олег, я — бэкенд-разработчик системы Talantix. В этой статье я расскажу о том, как работать с доступом к данным в GraphQL.

Читать далее
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 3.3K
Комментарии 11

Создание IoT-приложения с использованием HTTP API

Блог компании RUVDS.com Python *API *Разработка для интернета вещей *Интернет вещей
Перевод
Фото: kwan fung на сайте Unsplash

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

В этом посте мы покажем пример проектирования и моделирования данных для IoT-устройства. Для этого будет использовано M5Stack — небольшое модульное IoT-устройство с экраном, и подключение к API Metropolitan Transportation Authority Нью-Йорка (MTA) для получения актуального графика движения поездов на разных станциях.
Читать дальше →
Всего голосов 31: ↑30 и ↓1 +29
Просмотры 3K
Комментарии 0

Интеграция QUIK в инфраструктуру или API

Анализ и проектирование систем *IT-инфраструктура *API *

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

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

REST API на основе Snake (Python, Mamba, Hydra и Fast API)

Блог компании RUVDS.com Open source *Python *API *
Перевод
Tutorial

Сегодня я хочу попробовать что-то новое и начну исследовать мир Python. В этой статье представлен пошаговый туториал по реализации простого REST API при помощи Python, Fast API, Hydra и Mamba. Более того, я вкратце опишу, как упаковать всех этих змей в один образ Docker и заставить их работать вместе. Весь код выложен на моём GitHub.

Давайте начнём с кратного объяснения того, почему я решил выбрать эту тему.
Читать дальше →
Всего голосов 29: ↑27 и ↓2 +25
Просмотры 5.4K
Комментарии 2

Telegramm-habr-бот. Долгий путь к совершенству

Habr Python *API *
Из песочницы

Каждый день мы просматриваем habr. Каждый день заходим на главную ленту и просматриваем её. Что, если автоматизировать этот просмотр?

В статье я расскажу, как я писал telegram-бота на python3, который вытаскивает заголовки статей с habr и пишет их в telegram.

И т. Д.

Читать далее
Всего голосов 20: ↑14 и ↓6 +8
Просмотры 4.8K
Комментарии 25

Количество партиций в Spark при инициализации Data API: DataFrame, RDD, DataSet

Блог компании OTUS API *

Любое Spark Data API: DataFrame, RDD, DataSet состоит из партиций. Партиция — это часть данных, аллоцированных в оперативной памяти воркеров (жестком диске при кэшировании) для параллельных преобразований. Например, можно одновременно прибавить какое-то число к каждому элементу из партиции. Распределение элементов по партициям и их количество может происходить по принципу round-robin либо по хэшу от какой-то колонки в результате различных операций и зависит от типа операции.

Читать далее
Всего голосов 10: ↑8 и ↓2 +6
Просмотры 649
Комментарии 1

Чего вам не говорили про сокеты

Блог компании QIWI Программирование *Сетевые технологии *API *
Перевод

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

Если у вас есть опыт написания приложения с использованием сокетов, то вся эта информация должна быть для вас очевидной. Она неочевидна для меня как абсолютного новичка, поэтому я попытаюсь как можно подробнее объяснить это, чтобы ускорить процесс освоения сокетов для других новичков.
Читать дальше →
Всего голосов 24: ↑21 и ↓3 +18
Просмотры 8.5K
Комментарии 18

Web3.0 на Python, часть 1: основы

Python *API *Криптовалюты

Привет, Хабр! Во время знакомства с Web3 было сложно найти понятные примеры базовых операций с блокчейном с использованием Web3Py в одном месте. Например: просмотр баланса, отправка ETH и ERC20 токенов, минтинг NFT, взаимодействие с контрактами и тд. Эта статья как раз и послужит таким местом.

Анонс второй части с advanced примерами, которые больше подойдут для использования в продакшене с оптимизацией запросов и тд, будет в телеграм канале.

Нырнуть в Web3
Всего голосов 12: ↑9 и ↓3 +6
Просмотры 12K
Комментарии 4

Переводчик сайтов на JS

JavaScript *jQuery *API *Google API *
Из песочницы

В наши дни довольно легко преодолевать языковой барьер в интернете благодаря различным сервисам перевода. Однако что делать, если у пользователя вашего приложения устаревший браузер? Или он открывает ваш сайт в приватном окне, где не работает встроенный переводчик?
Ответ очевиден: реализовать свой переводчик на сайте!

Читать далее
Всего голосов 7: ↑3 и ↓4 -1
Просмотры 3.2K
Комментарии 6

«Позвони мне позвони» или решаем проблему скрытия телефонного номера с помощью callback сервиса

Блог компании МТТ Программирование *API *CRM-системы *Подготовка технической документации *
Tutorial

Последнее время в РФ все больше ужесточается законодательство в части подмены номера звонящего. Одним из последних нововведений стали крупные штрафы. И если  раньше операторы связи могли смотреть ”сквозь пальцы” на факт сокрытия реального номера звонящего, то теперь вероятность блокировки подобного звонка становится значительно выше. 

Для всяческих мошенников у меня нет ни капли сострадания, но что делать добросовестным предпринимателям с кейсами, в которых сокрытие номера звонящего не связано со злонамеренными действиями? Ведь подобная защита номеров актуальна даже для крупных маркетплейсов и площадок объявлений.

Например, что делать если во время звонка мы захотим показать клиенту корпоративный номер его персонального менеджера, даже если менеджер использует свой личный телефон? Ответить на этот вопрос нам поможет Telecom API от компании MTT: компания-клиент МТТ настраивает переадресацию с выделенного оператором связи номера на личный номер менеджера. При этом клиент контролирует все коммуникации, а личный номер менеджера остаётся под защитой при обратном звонке благодаря переадресации на номер компании-клиента МТТ.

Но скучно будет просто написать обзор API, поэтому мы еще сделаем свой собственный “зародыш CRM” с помощью моей любимой XWiki, щепотки кода и Telecom API.  На всё это у нас уйдет буквально 10 минут. 

Сегодня мы с вами: 

- посмотрим как решить проблему защиты номера звонящего с помощью API callback вызова и управления входящим вызовом; 

- сделаем свое расширение для open source вики-движка XWiki и интегрируем в него методы callback вызова, чтобы звонить прямо из XWiki.

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

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

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