Привет! Сегодня делимся мини-туториалом по использованию Visual Studio Code для вызова REST API в центре интернета вещей Azure. Рассмотрим все необходимые инструменты, создание HTTP-запроса, генерацию SAS и отправку запроса. Ну а в конце статьи вы найдете 3 полезных ресурса по теме.
Рубрика «http» - 8
Использование VS Code для вызова REST API в Azure IoT Hub [+ полезные материалы]
2018-08-24 в 7:45, admin, рубрики: api, azure, http, hub, IoT, microsoft, Microsoft Azure, rest api, sas, toolkit, Visual Studio, visual studio code, vs code, Блог компании Microsoft, Интернет вещейДелаем Shrimp еще полезнее: добавляем перекодирование картинок в другие форматы
2018-08-17 в 9:08, admin, рубрики: actors, c++, c++17, http, multithreading, open source, restinio, sobjectizer, Программирование
С начала 2017-го года наша небольшая команда разрабатывает OpenSource-библиотеку RESTinio для встраивания HTTP-сервера в C++ приложения. К своему большому удивлению мы время от времени получаем вопросы из категории «А для чего может потребоваться встраиваемый HTTP-сервер на C++?» К сожалению, на простые вопросы отвечать сложнее всего. Иногда лучшим ответом является пример кода.
Пару месяцев назад мы затеяли небольшой демо-проект Shrimp, который наглядно демонстрирует типичный сценарий, под который «затачивается» наша библиотека. Демо-проект представляет из себя простой Web-сервис, который получает запросы на масштабирование хранящихся на сервере картинок и который отдает в ответ картинку нужного пользователю размера.
Этот демо-проект хорош тем, что в нем, во-первых, требуется интеграция с давным-давно написанным и исправно работающим кодом на C или C++ (в данном случае это ImageMagick). Поэтому должно быть понятно, почему имеет смысл встраивать HTTP-сервер в C++ приложение.
И, во-вторых, в данном случае требуется асинхронная обработка запросов, дабы HTTP-сервер не блокировался пока выполняется масштабирование картинки (а это может занимать сотни миллисекунд или даже секунды). А разработку RESTinio мы затеяли именно потому, что не смогли найти вменяемый C++ный встраиваемый сервер, ориентированный именно на асинхронную обработку запросов.
Работу на Shrimp-ом мы построили итеративным путем: сперва была сделана и описана самая простая версия, которая только масштабировала картинки. Затем мы устранили ряд недочетов первой версии и описали это во второй статье. Наконец дошли руки расширить функциональность Shrimp-а еще раз: добавилось преобразование картинок из одного формата в другой. О том, как это было сделано и пойдет речь в данной статье.
Читать полностью »
Уязвимости из OWASP Top 10. A1: 2017 – Injections (Часть 1)
2018-08-06 в 9:18, admin, рубрики: http, injection, OWASP, OWASP Top 10 2017, sql, Блог компании Газинформсервис, информационная безопасность, инъекции, пароли, стандартизация, уязвимостиОписание уязвимостей — это одно, а вот попробовать найти уязвимость и поработать с ней — совсем другое дело. Именно для этих целей создаются и развиваются специальные приложения, в которых намеренно оставлены уязвимости. Если набрать в поисковой системе запрос «Purposely vulnerable app», вы найдете ни один десяток ссылок.
В этом цикле мы начнем разбирать уязвимости из OWASP Top 10, и в качестве полигона я буду использовать такое намеренно уязвимое приложение. В моем случае это будет OWASP Mutillidae II. Это не то, чтобы самый лучший вариант, но в нем уязвимости структурированы именно так, как нужно для образовательных целей.

Отправляем «анонимное» СМС из Консоли на нужный номер используя сервис bytehand и C++
2018-08-03 в 14:20, admin, рубрики: anonymous, api, c++, http, HTTPS, requests, sms, sms-console, SMS-sending, разработка под windowsПорой появляется необходимость отправки анонимного сообщения нужному адресату, не используя при этом своего телефона или тогда, когда под рукой только компьютер, работающий интернет и открытая консоль.
Во многих фильмах есть момент, когда хакеру, взламывающего человека, нужно отправить сообщение на его номер, чтобы его отвлечь или напугать и в таких ситуациях самое важное, чтобы, когда человек позвонит на номер с которого пришло СМС у вас не загорелся экран смартфона и не заиграла музыка. Упс… Неловкая ситуация. В этой теме мы напишем программу на C++, которая позволит отправить СМС не используя вашего номера, сим-карты и души.

1M HTTP rps на 1 cpu core. DPDK вместо nginx+linux kernel TCP-IP
2018-07-10 в 2:49, admin, рубрики: Amazon Web Services, C, DPDK, EC2, ethernet, http, IP, linux, nginx, NIC, wrk, Программирование, Сетевые технологии, системное программированиеЯ хочу рассказать о такой штуке как DPDK — это фреймворк для работы с сетью в обход ядра. Т.е. можно прямо из userland писатьчитать в очереди сетевой карты, без необходимости в каких либо системных вызовах. Это позволяет экономить много накладных расходов на копирования и прочее. В качестве примера я напишу приложение, отдающее по http тестовую страницу и сравню по скорости с nginx.
Читать полностью »
Shrimp: масштабируем и раздаем по HTTP картинки на современном C++ посредством ImageMagic++, SObjectizer и RESTinio
2018-07-09 в 7:28, admin, рубрики: actors, c++, c++17, http, multithreading, open source, restinio, sobjectizer, Программирование
Предисловие
Наша небольшая команда занимается развитием двух OpenSource инструментов для C++разработчиков — акторного фреймворка SObjectizer и встраиваемого HTTP-сервера RESTinio. При этом мы регулярно сталкиваемся с парой нетривиальных вопросов:
- какие фичи добавлять в библиотеку, а какие оставлять «за бортом»?
- как наглядно показывать «идеологически правильные» способы использования библиотеки?
Хорошо, когда ответы на такие вопросы появляются по ходу использования наших разработок в реальных проектах, когда разработчики приходят к нам со своими жалобами или хотелками. За счет удовлетворения хотелок пользователей мы наполняем свои инструменты функциональностью, которая продиктована самой жизнью, а не «высосана из пальца».
Но до нас доходит информация далеко не о всех проблемах и сложностях, с которыми сталкиваются пользователи. И не всегда мы можем использовать полученную информацию и, особенно, примеры кода, в своих публичных материалах.
Поэтому иногда мы сами для себя выдумываем небольшие задачки, решая которые мы вынужденно превращаемся из разработчиков инструментов в пользователей. Это позволяет нам взглянуть на собственные инструменты другими глазами и самим понять, что хорошо, что не очень, чего не хватает, а чего слишком много.
Сегодня мы хотим рассказать как раз об одной такой «небольшой» задачке, в которой естественным образом объединились SObjectizer и RESTinio.
Масштабирование и раздача картинок. Почему именно это?
В качестве небольшой демо-задачи для самих себя мы выбрали HTTP-сервер, который раздает по запросам отмасштабированные картинки. Вы складываете изображения в какой-то каталог, запускаете HTTP-сервер, делаете к нему запрос вида:
Читать полностью »
Google и HTTP
2018-07-03 в 16:51, admin, рубрики: Google, Google Chrome, http, HTTPS, web, информационная безопасность, Разработка веб-сайтовЯ выступаю против усилий Google по дискредитации протокола HTTP. Здесь — обобщение причин, по которым я придерживаюсь такой точки зрения.
Читать полностью »
Трассировка и Javascript
2018-06-10 в 17:53, admin, рубрики: chrome devtools, Google Chrome, http, javascript, node.js, performance analysis, tracing, Серверная оптимизация
Когда-нибудь трассировали рантайм вашего приложения? Знаете сколько запросов делает вон тот серый ендпоинт, который? А как долго вычитываются те кросс-референсы на схожий тип ресурсов с каждой странички сущностей, которую нужно вернуть в запрос? Пытались ли вы замерить как долго приходится ждать пользователю из-за опциональных полей запроса, которые он время от времени добавляет? Задумывались ли вы что будет если запараллелизировать эти шесть запросов к тем двум базам данных?
Если что-нибудь выше звучит интересно, или как минимум знакомо — добро пожаловать под кат.
Читать полностью »
Повесть о том, как один инженер HTTP-2 Client разгонял
2018-03-27 в 9:02, admin, рубрики: http, java, jpoint, jpoint2018, Блог компании JUG.ru Group, высокая производительность, конференцииНа примере «JEP 110: HTTP/2 Client» (который в будущем появится в JDK) Сергей Куксенко из Oracle показывает, как команда его запускала, где смотрела и что крутила, чтобы сделать его быстрее.
Предлагаем вам расшифровку его доклада с JPoint 2017. В целом речь тут пойдет не про HTTP/2. Хотя, конечно, без ряда деталей по нему обойтись не удастся.

![Использование VS Code для вызова REST API в Azure IoT Hub [+ полезные материалы] - 1 Использование VS Code для вызова REST API в Azure IoT Hub [+ полезные материалы] - 1](https://www.pvsm.ru/images/2018/08/24/ispolzovanie-VS-Code-dlya-vyzova-REST-API-v-Azure-IoT-Hub-poleznye-materialy.jpg)
