Обновить
40.73

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

О создании API

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

Видео-звонки в видеоконференцию Zoom с веб-страниц

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

В предыдущей хабрастатье я показал, что если сервис умеет интегрироваться по SIP и RTP, то с ним можно делать много интересных штук. Например, приглашать в видеоконференции Zoom участников с мобильных телефонов. Но наше облако Voximplant — это не только телеком и телефоны. Еще мы любим и умеем SDK, чтобы звонить и принимать звонки из неожиданных мест: с веб-страниц, из приложений (звонки через интернет намного дешевле, чем через голосовой канал) и даже из VR/AR Unity решений. В этой статье я покажу, как с помощью нескольких строк фронтенд JavaScript создавать «звонящие» страницы, с помощью которых участники смогут делать видеозвонок в конференцию. И да, благодаря последнему обновлению от Apple звонить теперь можно и с веб-страниц на iPhone!

Тащим музыку из ВК без публичного music API

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

Как все начиналось


Дело было вечером, делать было нечего… Точнее, я просто хотел загрузить аудиокнигу перед парами и тут меня ждал сюрприз. Кэш в кейт мобайле отключили. Как так? Что делать? Конечно же писать свое приложение с кэшем и аудиозаписями. Но для начала нужно понять, как вк превращает ссылки вида audio%user_id%_%track_id% в прямые ссылки на mp3. Что из этого вышло приложения я не написал и как скачать определенный плейлист можно прочитать под катом.
Читать дальше →

Как интегрироваться с решениями Cisco по безопасности? Обзор двух десятков API, доступных всем

Время на прочтение11 мин
Охват и читатели8.7K
Сегодня в России очень модной стала тема SOC и SIEM. Все их строят и пишут. Вы знали, что в России уже около десятка собственных систем мониторинга событий безопасности (SIEM)? Эту цифру перевалило и число коммерческих SOCов, предлагающих свои услуги заказчикам, которые попадут под требования 187-ФЗ о безопасности критической информационной инфраструктуры и вынуждены будут оперативно отдавать данные об инцидентах в ГосСОПКУ. Но какую бы цель не преследовали создатели SIEM и SOC, и на каком бы уровне зрелости они не находились, они все равно сталкиваются с базовой задачей — сбора событий безопасности и журналов регистрации от разрозненных средств защиты информации.

Согласно данным компании Canalys (а она единственная кто продолжает оценивать российский рынок решений по ИБ), лидером отечественного рынка продолжает оставаться компания Cisco. Поэтому вполне разумно предположить, что одной из первых задач, которая должна стоять перед разработчиками SIEM/SOC, — это интеграция с решениями нашей компании. Но вокруг такой интеграции бытует множество мифов и заблуждений, которые можно описать диалогом, который у меня недавно случился с одним из отечественных производителей SIEM:

— А почему вы не интегрируетесь с решениями Cisco?
— Так у вас уже все проприетарное?
— Нет, это не так!
— Да? А мне говорили, что у вас закрытые API и доступ к ним стоит денег.
— Нет, и это не так!

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

Введение в Beautiful Capi, инструмент создания С++ оберток для С++ библиотек

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

Beautiful Capi — это инструмент облегчающий создание динамических библиотек на языке С++ с внешним интерфейсом на языке Си. Данный инструмент генерирует также С++ обертки для этого Си интерфейса. Beautiful Capi написан на языке Python 3.


Основная головная боль разработчиков библиотек на С++ в отсутствии единого стандарта ABI. Различные компиляторы имеют разный ABI, соглашения о именовании, схемах перехвата исключений и т.д. Поэтому программистам на С++ приходится каждый раз брать исходники библиотеки и собирать ее при помощи нужного компилятора.


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

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

Microsoft и Amazon представили новую библиотеку для машинного обучения — Gluon

Время на прочтение3 мин
Охват и читатели7.8K
На прошлой неделе Amazon Web Services (AWS) и Microsoft представили открытую библиотеку Gluon для машинного обучения. Создатели утверждают, что она позволит разработчикам легко прототипировать и развёртывать сложные модели машинного обучения в облаке.

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

Новый API Яндекс.Кассы: платежное лего для e-commerce всех мастей

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


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


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

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

Панель управления услугами. Часть 1: Введение

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

Вступление


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

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

Весь веб на 60+ FPS: как новый рендерер в Firefox избавился от рывков и подтормаживаний

Время на прочтение16 мин
Охват и читатели69K
До релиза Firefox Quantum остаётся всё меньше времени. Он принесёт множество улучшений в производительности, в том числе сверхбыстрый движок CSS, который мы позаимствовали у Servo.

Но есть ещё одна большая часть технологии Servo, которая пока не вошла в состав Firefox Quantum, но скоро войдёт. Это WebRender, часть проекта Quantum Render.



WebRender известен своей исключительной скоростью. Но главная задача — не ускорить рендеринг, а сделать его более плавным.

При разработке WebRender мы поставили задачу, чтобы все приложения работали на 60 кадрах в секунду (FPS) или лучше, независимо от размера дисплея или от размера анимации. И это сработало. Страницы, которые пыхтят на 15 FPS в Chrome или нынешнем Firefox, летают на 60 FPS при запуске WebRender.

Как WebRender делает это? Он фундаментальным образом меняет принцип работы движка рендеринга, делая его более похожим на движок 3D-игры.
Читать дальше →

Автоматизация работы с Logs API в AppMetrica. Лекция в Яндексе

Время на прочтение10 мин
Охват и читатели14K
Данные, которые собирает AppMetrica, можно заставить работать как угодно, а не только для аналитики. Они позволяют автоматизировать множество процессов, прямо или косвенно связанных с поведением пользователей. О том, как настроить выгрузку, что за данные можно использовать и какие подводные камни встретились при разработке Logs API, рассказал разработчик Николай Волосатов.


История взлома всех игр в Telegram

Время на прочтение14 мин
Охват и читатели220K
Сейчас компьютерные игры везде. Присутствуют они и в Telegram. Расскажу о том, как были взломаны практически все игры этого мессенджера, обойдя самых первоклассных игроков, находящихся в топах скорбордов. Хочу поделится результатами исследований. О различных методиках взлома, читинга и путях обхода логики игр под катом.


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

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

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


Начинаем рассказывать про некоторые проекты нашего хакатона. Сегодня – бот, выдающий нашему ученику в ФБ несколько популярных твитов с только что взятым на изучение словом. Получился эдакий микро-тьюториал по Chatfuel, удобному и простому инструменту сборки таких ботов из «кубиков».
Читать дальше →

Пошаговая инструкция по созданию SMS веб-приложение с использованием SMS API от Infobip

Время на прочтение4 мин
Охват и читатели3.5K
Добро пожаловать в Infobip инструкцию по созданию вашего собственного SMS веб-приложения для начинающих. Мы поможем вам шаг за шагом пройти через сложности установки SMS API от Infobip и SMS-сервисов. Инструкция включает 3 примера важнейших опций для отправки SMS-сообщений и проверки их статуса:

  • Полнофункциональные текстовые сообщения
  • Логи отправленных сообщений
  • Отчеты по доставке в Notify URL

Мы начнем с примеров и презентаций, чтобы вы могли выбрать то, что вам наиболее интересно.

Чтобы следовать данной инструкции, писать и тестировать все самостоятельно, вам необходимо подготовиться (и мы не имеем в виду налить чашку кофе и погасить свет). Чтобы отправлять сообщения, получать логи и отчеты по доставке сообщений, вам необходимо установить сURL php расширение для вашего веб-сервера.

Для работы с этой инструкцией вы можете использовать решение из стека AMP (wamp, xampp или др.). Этот стек для ПО по различным ОС состоит из веб-сервера Apache, базы данных MySQL и поддержки языка программирования PHP. В любом случае вы должны установить расширение phpcurl.
Читать дальше →

Java XML API: выбираем правильно. StAX: работаем с удовольствием

Время на прочтение5 мин
Охват и читатели62K
Здравствуйте!
Несмотря на снижение популярности формата XML с начала 2000х, он прочно занял свои ниши. Я сталкивался с обработкой XML ~ в 60% проектов и посвятил ей занятие своей стажировки Masterjava. Наиболее частые его применения: XHTML, SOAP, различные конфигурации (например Tomcat, SoapUI, IntelliJ IDEA, Spring XML конфигурация), импорт-экспорт данных.

В Java есть несколько API для работы с XML и для разработчика важно понимать, какое из API требуется выбрать в каждой конкретной ситуации. В этой статье я кратко перечислю все Java XML API, их назначение и примеры использования, и подробнее остановлюсь на работе с достаточно редкой, но в ряде случаев единственно верной технологией StAX. Предполагается что с элементами XML вы уже знакомы.
Читать дальше →

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

Работаем с долгими API в ASP.NET Core правильно или тонкости переезда на новую платформу

Время на прочтение9 мин
Охват и читатели21K
Microsoft очень постарался, создавая новую платформу для веб-разработки. Новый ASP.NET Core похож на старенький ASP.NET MVC только, быть может, самой MVC-архитектурой. Ушли сложности и привычные вещи из старой платформы, появился встроенный DI и легковесные view-компоненты, HTTP модули и хэндлеры уступили место middleware и т.д. Вкупе с кроссплатформенностью и хорошей производительностью всё это делает платформу очень привлекательной для выбора. В этой статье я расскажу, как мне удалось решить специфическую задачу логирования длительных запросов к сторонним API для повышения удобства анализа инцидентов.
Читать дальше →

Что делать, если Instagram не дал доступ к API? Дополнение

Время на прочтение5 мин
Охват и читатели67K
Здравствуйте ещё раз! Я прочёл её и мне показалось, что её можно продолжить.

image

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

  1. Самые полезные функции (постинг и удаление постов) доступны только из мобильного приложения Instagram, эмуляция запросов сложна, так как надо вытащить из приложения ключ, который с каждой новой версией обновляется.
  2. Web-версия обрезана, но радует, что в ней есть возможность лайкать, комментировать и удалять комментарии
  3. Есть API, но процедура его получения удручающе долгая и спамерам и ботам такой путь точно не светит. Плюс было много моментов, когда соглашения в API менялись, что не всегда удобно.
Читать дальше →

API на Swift за пять минут. Лекция в Яндексе

Время на прочтение7 мин
Охват и читатели32K
Есть мнение, что Swift — особенно благодаря развитию в опенсорсе — уже сейчас применим за рамками софта для платформ Apple. Наши коллеги из «Рамблера», включая разработчика Самвела Меджлумяна, даже пробуют этот язык в качестве серверного решения. На встрече сообщества CocoaHeads Самвел перечислил готовые продукты для построения сервера на Swift, сравнил их между собой и показал короткое демо.


Вести с полей больших и умных данных: программа конференции SmartData 2017 Piter

Время на прочтение15 мин
Охват и читатели4.6K
В 2016/2017 годах мы обнаружили, что на каждой из наших конференций есть 1-3 доклада о Big Data, нейросетях, искусственном интеллекте или машинном обучении. Стало понятно, что под эту тему можно собрать хорошую конференцию, о чём я сегодня вам и расскажу.

Вкусно: мы решили собрать под одной крышей учёных, инженеров-практиков, архитекторов и сделать упор на технологии — казалось бы, обычное дело, но нет.

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

Учёные строят нейросети в теории, архитекторы делают распределённые системы для корпораций с целью обработки огромных потоков данных в реальном времени, без конечной цели унифицировать к ним доступ, инженеры-практики пишут под это всё софт для сугубо узких задач, которые потом нереально перенести на что-то другое. В общем, каждый копает свою грядку и не лезет к соседу… Так? Да нет же!

На деле: Все занимаются частью общего. Как сама Smart Data (а «умные данные» — это очень узкий перевод) по природе своей, так и те, кто с ней работает, по сути, делают распределённую сеть различных наработок, которые могут создавать порой неожиданные сочетания. Это и формирует фундамент Умных данных в своей красоте и практической значимости.

Итак, что это за кусочки паззла и кто их создает, можно будет посмотреть и даже обсудить с создателями на конференции SmartData 2017 Piter 21 октября 2017. Подробности под катом.

image

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

Когда время перезагрузки имеет значение или почему IBM использует CRIU на мейнфреймах

Время на прочтение5 мин
Охват и читатели4.5K
В современном мире, когда светлое будущее прочат микросервисам, кажется странным заниматься технологиями, которые помогают обновлять код без перезагрузки. Ведь микросервисы и контейнеры куда проще «убить» и создать заново. Тем не менее, мы продолжаем работу над системой живой миграции CRIU, и нам в этом активно помогают ребята из IBM. Почему? Попробуем объяснить.

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

Донаты стримерам и настоящие деньги для ненастоящей жизни: подведены итоги QIWI API Contest

Время на прочтение5 мин
Охват и читатели4.8K
Современное правило ценности гласит: «Ценность любой платформы для пользователей определяется количеством приложений, под неё написанных». Поэтому, выложив в августе этого года API QIWI Кошелька с новой аутентификацией, мы не стали откладывать вовлечение аудитории в творческий процесс создания приложений в долгий ящик, и провели в сентябре конкурс идей QIWI API Contest, в котором поучаствовал даже сам Хабр.


Финалисты QIWI API Contest и члены жюри

Из 20 полученных прототипов мы отобрали 6 лучших команд, попавших в финал. А затем выбрали два проекта, заслуживших наши такие разные, но по-своему замечательные призы: поездку на Финтех фестиваль в бананово-лимонный Сингапур и личное знакомство с основателем и CEO компании QIWI Сергеем Солониным.

Работа с API КОМПАС-3D → Урок 4 → Основная надпись

Время на прочтение6 мин
Охват и читатели17K
Продолжаем цикл статей по работе с API САПР КОМПАС-3D Сергея Норсеева, инженера-программиста АО «ВНИИ «Сигнал», автора книги «Разработка приложений под КОМПАС в Delphi». В качестве среды используется C++ Builder. В предыдущих уроках по API КОМПАС Основы и Оформление чертежа мы исходили из того, что КОМПАС не запущен, и запускали его сами методом CreateInstance. В следующем уроке Корректное подключение к КОМПАС мы проверяли наличие уже запущенного КОМПАСа и подключались к нему. В этом уроке разберём, как заполнить основную надпись чертежа.


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

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