Обновить
28.67

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

О создании API

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

Онлайн-лекция «Реактивные и нативные приложения на Java Spring и Quarkus»

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

28 июля приглашаем на онлайн-лекцию о разработке приложений на Java Spring, Quarkus, Vert.x и GraalVM с деплоем в MicroK8s.

В программе лекции: Сергей Кошкинов и Андрей Смирнов покажут процесс создания приложения на Java-фреймворке Quarkus с деплоем в MicroK8s. А также сравнят производительность и потребления памяти приложений на Spring WebFlux, Spring Boot, Quarkus, Quarkus+Vert.x и скомпилированными в native code с помощью GraalVM.

Зарегистрироваться

Реализуем простые кооперативные потоки на C

Время на прочтение13 мин
Охват и читатели6.4K
Привет, Хабр!

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

Между дизайн-системой и Server Driven UI

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

Всем привет! Меня зовут Владимир Касаткин, и я работаю бэкенд-разработчиком в компании ivi.ru, в команде "UX". Цель этой статьи — показать, как мы уменьшили объём клиентской разработки, но при этом увеличили количество проводимых A/B-тестов.


Раньше вся продуктовая разработка была разбита на большие направления ("платформы"): бэкенд, Smart TV, iOS, Android, веб. При этом фичи пилились достаточно долго (по полгода), а побочным эффектом были заметные различия внешнего вида и функционала одной и той же фичи на разных платформах.


Потом нас разбили по маленьким кросс-функциональным командам. Разработка пошла быстрее, костылей и платформенных различий на клиентах становилось всё больше.


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

API для генерации ответов сервера с любыми кодами статусов

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

Привет, Хабр! Работая над библиотекой-обёрткой REST API, я столкнулся с проблемой. Для тестирования обработки ошибочных кодов ответа сервера (400, 500, 403 и т.д.) необходимо искусственно создавать условия на сервере для получения соответствующих кодов. При правильно настроенном сервере, например, непросто получить ошибку 500. А тестировать функции-обработчики ошибок как-то надо. Я написал небольшое API, которое генерирует ошибочные ответы сервера — httpme.tk

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

Онлайн-митап сообщества разработчиков MSK VUE.JS

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

23 июля приглашаем на онлайн-митап сообщества разработчиков MSK VUE.JS.

В программе митапа:

  • Разработка конструктора отчетов c Cube.js;
  • 5 действенных техник оптимизации vue-приложений;
  • Решение проблем REST API при помощи GraphQL.

Зарегистрироваться

API для бесплатной CRM

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


Меньше года назад мы представили бесплатную CRM систему интегрированную с бесплатной АТС. За это время ей воспользовались 14 000 компаний и 64 000 сотрудников.
Сейчас мы предлагаем открытый API интерфейс, в котором доступно большинство функций ZCRM. API позволяет использовать CRM для любых каналов продаж.
Ниже кратко опишем работу с API и доступный функционал. Также приведен простой но полезный и рабочий пример: скрипт для создания лида из формы на сайте.
Читать дальше →

Как Kotlin может помочь в тестировании API: кейс Русфинанс Банка

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


Заявленный в заголовке Kotlin больше ассоциируется с Android-разработкой, но почему бы не поэкспериментировать? Мы с его помощью нашли способ немного упростить автоматизацию тестирования API одного из наших сервисов, а также облегчить работу тестировщикам, мало знакомым с программированием и нюансами языка Java.

Чем мы занимаемся? Разрабатываем сервис для отправки брокерских анкет для расчёта и получения решения по ним. И несмотря на то, что это банковское решение, разработку ведёт небольшая scrum-команда, тестированием в которой занимаются 1-2 специалиста в зависимости от загрузки и ситуации на проекте.

Под катом расскажем о результатах наших экспериментов, которые мы с удовольствием перенесли в продакшн.
Читать дальше →

REST API в Symfony (без FosRestBundle) с использованием JWT аутентификации. Часть 1

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

Перевод статьи подготовлен в преддверии старта курса «Symfony Framework».





В первой части статьи мы рассмотрим самый простой способ реализации REST API в проекте Symfony без использования FosRestBundle. Во второй части, которую я опубликую следом, мы рассмотрим JWT аутентификацию. Прежде чем мы начнем, сперва мы должны понять, что на самом деле означает REST.

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

Ещё один велосипед: пишем свой автозагрузчик классов для Битрикс

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

Статья обещает быть длинной, поэтому устраивайтесь поудобнее, я начинаю.
Читать дальше →

Как интернет-магазину встроить услуги доставки Почтой в свои бизнес-процессы

Время на прочтение6 мин
Охват и читатели7.1K
Почта помогает интернет-магазинам автоматизировать большую часть процессов, связанных с логистикой. Нам можно поручить доставку посылок, печать и отправку писем, хранение, сбор и упаковку заказов.

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

NodeJS Бот для Телеграм с обработкой математических выражений

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

Начало работы


Сначала создаём каталог где будет храниться сам бот.

Пустой каталог с ботом

Здесь инициализируем npm.

npm init

Инициализация npm

Используемые модули


В разработке я буду использовать TypeScript и библиотеку SlimBot.
Читать дальше →

Получение данных Amplitude через API

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

Введение


Amplitude как инструмент продуктовой аналитики очень хорошо зарекомендовал себя благодаря несложной настройке событий и гибкости визуализаций. И нередко возникает потребность наладить собственную модель атрибуции, провести кластеризацию пользователей или построить дашборд в другой BI-системе. Выполнить подобную махинацию возможно, только имея сырые данные о событиях из Amplitude. О том, как получить эти данные с минимальными знаниями программирования — и будет в этой статье.
Читать дальше →

Автоматизация отправки товара в Китае

Время на прочтение3 мин
Охват и читатели3.1K
Я придерживаюсь мысли, что если что-то может быть автоматизировано — оно должно быть автоматизировано. В долгосрочной перспективе 9 из 10 действий, подвергшихся автоматизации всегда будут проще и выгоднее.

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

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

Как подружить Zabbix с Asterisk «из коробки»

Время на прочтение8 мин
Охват и читатели23K
В предыдущей статье «Zabbix — расширяем макро границы» я рассказал как получать сессию авторизации и подставлять ее в локальный макрос хоста. В этой статье я расскажу как подружить Zabbix с Asterisk без внешних скриптов и ПО.

Идея «подружить» эти две системы родилась давно, причем без установки дополнительного софта и скриптов. Быстрое гугление выдавало множество вариантов решений, все сводилось к тому, что закиньте скрипты (на пыхе, баше, питоне и т. п.) на сервер, и будет вам счастье. Мне же хотелось реализовать мониторинг «из коробки» — без внешних скриптов и установки дополнительного софта на сервер с мониторингом и АТС.

Провозился я с этим в сумме 4 рабочих дня, но результат стоил того. Работа через интерфейс AMI, низкоуровневое обнаружение, триггеры, а главное, на подключение АТС и все остальные настройки теперь уходит минут 15.

В наличии заббикс 4.4, около 100 штук Астерисков 13 версии. Какие-то АТС идут с веб интерфейсом FreePBX, какие-то с голой консолью, кучей хитростей и интеграцией через диалплан.
Читать дальше →

Скрипт выборки российских облигаций по параметрам

Время на прочтение6 мин
Охват и читатели38K
Уже несколько лет я пользуюсь облигациями в качестве замены депозита, потому что процент дохода, который можно получить со вклада стабильно падает. В отличии от ситуации с депозитом, в облигациях всегда можно найти большую доходность. И в этой ситуации меня не устраивало только количество времени на механическую работу по поиску подходящих вариантов бумаг.


Работа скрипта по поиску облигаций на Московской бирже

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

Сделал это на Node.js с выводом полученных результатов в локальный html файл с интерактивной таблицей от Google Charts (а в случае, если JavaScript отключен в браузере, что например происходит при открытии этого html файла из мессенджера на iPhone, то отображается статическая версия таблицы, также сгенерированная скриптом).
Поиски замены вклада на Мосбирже

Анализатор PVS-Studio: выявления потенциальных проблем совместимости Java SE API

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

Рисунок 9

2019 был очень насыщенным годом в плане конференций. Наша команда могла уезжать на целые недели в командировки. А как известно, конференция – время делиться знаниями. Помимо того, что мы выступали с докладами и много интересного рассказывали на нашем стенде, мы также узнавали много нового от общения с участниками конференции и от докладчиков. Так вот на осенней конференции Joker 2019 доклад от Dalia Abo Sheasha «Migrating beyond Java 8» вдохновил нас на реализацию нового диагностического правила, которое позволяет выявлять несовместимости в Java SE API между разными версиями Java. Об этом и пойдет речь.
Читать дальше →

API портал: на что обратить внимание при дизайне. Опыт Wrike

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


Использование публичных API помогает компаниям увеличивать ценность собственного ресурса, создавать уникальный контент и удовлетворять требования различных бизнес-задач. Wrike —  не исключение. На базе API Wrike создано уже более 30 тысяч приложений. Число пользователей продукта растет, а значит и требования к порталу возрастают с каждым днем.

В статье я поделюсь своим опытом редизайна интерфейса dev-портала Wrike и расскажу, на что стоит обратить внимание.
Читать дальше →

Прямое и обратное геокодирование – тестирование популярных решений

Время на прочтение10 мин
Охват и читатели72K
В современном мире огромное количество разнообразных сервисов обрабатывают геоданные.
Задачи прямого и обратного геокодирования встречаются повсеместно – когда ваш пользователь вводит свой адрес, а вы на карте отображаете точку, где он находится. Или наоборот – ваш пользователь указывает точку на карте, а вы преобразуете эту точку в понятный адрес.

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


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

Все финансовые рынки мира в API Яху Финанс

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели79K
В этой статье я расскажу об API агрегатора финансовых данных Yahoo! Finance. В рассказе есть один нюанс — официальное API Яху Финанс было закрыто три года назад, однако практически сразу же появилась его недокументированная работоспособная версия, которая жива до сих пор. Хочу в исследовательских целях рассказать об использовании этой работоспособной версии подробнее.
Тем более, что список рынков, данные с которых можно получать через Яху Финанс огромен. На текущий момент в нем 79 стран, включая и Россию.


Apple Inc. (AAPL) на сайте и в API Яху Финанс
Разбор API Yahoo! Finance

Django: один пользователь для всего

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

Проблема


Всем привет. При разработке API для очередного веб-портала я взял свой привычный стек:


  • Django
  • django-rest-framework

Но в этот раз стояла довольно непривычная задача — сделать одну User модель, которая может иметь несколько разных профилей (Исполнитель, Заказчик). И наличие каждого из профилей дает разные полномочия на работу с одними и теми же ресурсами.


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


Итак, опишем возникшие перед нами проблемы:


  1. Один пользователь – несколько профилей.
  2. Как организовать права каждого из профилей.
  3. Доступ к одним тем же ресурсам от разных профилей.

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

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

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