Открыть список
Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

В оборудовании Cisco обнаружена критическая уязвимость на 10 из 10 баллов по шкале CVSS

Блог компании ITSummaИнформационная безопасностьСетевое оборудование


В роутерах Cisco серий 4000, ASR 1000 и 1000V обнаружена критическая уязвимость
(CVE-2019-12643), которую оценили на 10 из 10 возможных баллов по шкале угроз CVSS (обычно угрозы уровня Critical получают 7,5-9,1 баллов, редко — 9,8). Соответствующая информация размещена на официальном сайте производителя оборудования.

Уязвимость в контейнере виртуальных сервисов API Cisco REST для ПО Cisco IOS XE позволяет удаленному злоумышленнику обойти аутентификацию на управляемом устройстве без прохождения проверки подлинности.

Инженеры Cisco рекомендуют срочно установить патч на все роутеры под управлением IOS XE, например, с помощью специального инструмента Cisco IOS Software Checker.
Читать дальше →
Всего голосов 26: ↑26 и ↓0 +26
Просмотры13.3K
Комментарии 7

Хабраинтервью с Алексеем Тереховым (api.mail.ru)

Чулан
Алексей Терехов — основатель и руководитель проекта Платформа@Mail.Ru, в рамках которого были запущены платформа социальных приложений «Моего Мира», API для сайтов и социальные плагины, API для мобильных и десктоп-приложений, API для приложений в почте и многое другое — ответил на вопросы аудитории Хабрахабра.

Расскажите об импорте контактов почты пользователя Mail.ru через API
Не нашёл методов в описании.


На текущий момент наш API таких методов не предоставляет, но мы планируем сделать их в скором будущем. К нам уже поступало несколько запросов на такой функционал, да и нашим интересам это соответствует — чем меньше мест, где просят ввести пароль от своего почтового ящика, тем выше безопасность наших пользователей. Мы анонсируем появление этих методов на api.mail.ru.
Читать дальше →
Всего голосов 45: ↑26 и ↓19 +7
Просмотры1K
Комментарии 3

Что «под капотом» у видеозвонков Skype на Facebook

Мессенджеры
Перевод
Вчера Facebook и Skype запустили видеозвонки в Facebook, которые позволят пользователям звонить и видеть друг друга прямо на facebook.com. Мы в Skype очень довольны этим продуктом. Мы полагаем, что пользователям понравится его простота в использовании. Он сочетает в себе качество и масштаб видеозвонков Skype с социальным взаимодействием Facebook таким образом, что это дает на наш взгляд очень мощную комбинацию.

Без сомнения, технарям всего мира интересно знать, как мы это сделали. Как мы интегрировали Skype в Facebook? Сможет ли это решение масштабироваться? Используется ли клиент Skype?
Читать дальше →
Всего голосов 58: ↑49 и ↓9 +40
Просмотры2K
Комментарии 40

Реализация REST API на Symfony2: правильный путь

PHPSymfony
Перевод
REST
Создание REST API это нелегкая задача. Нет, серьезно! Если вы хотите написать API правильно, вам придется о многом подумать, решить, быть прагматиком, или API маньяком. REST это не только GET, POST, PUT и Delete. На практике, у вас могут быть взаимодействия между ресурсами, нужно перемещать ресурсы куда-то еще (к примеру внутри дерева), или вы захотите получить конкретное значение ресурса.

В данной статье собрано все, чему я научился реализуя различные API сервисы, используя для этих целей Symfony2, FOSRestBundle, NelmioApiDocBundle и Propel. К примеру сделаем API для работы с пользователями.
Читать дальше →
Всего голосов 32: ↑29 и ↓3 +26
Просмотры55.2K
Комментарии 25

Сериализация объектов в json формат для реализации REST API

PHPПрограммированиеSymfony
Уже вот-вот выйдет версия Symfony 2.1, а в сообществе до сих пор нельзя реализовать «без костылей» полноценный REST, и, по-моему, здесь что-то не так. Недавно вышла статья с громким названием REST API’s with Symfony2: The Right Way, но, по существу, она лишь подтверждает мои слова. Вся проблема упирается в сериализацию и десериализацию объектов. Казалось бы, простейшая задача и решений должно быть много, но, к сожалению, нет. Давайте обо всем по порядку.
Читать далее
Всего голосов 22: ↑21 и ↓1 +20
Просмотры27.4K
Комментарии 12

Измерения в OpenStack с использованием Ceilometer

Блог компании Mirantis/OpenStackOpen source
Автор: Руслан Киянчук

Цель проекта OpenStack – создать платформу облачных вычислений с открытым кодом, которая будет соответствовать запросам публичных и частных облаков засчет простого развертывания и возможностей масштабирования. Так как OpenStack предоставляет инфраструктуру как услугу (IaaS) конечным клиентам, важно иметь возможность измерить её производительность и использование в целях биллинга, оценки эффективности, масштабируемости и получения статистики.

Для измерения инфраструктуры OpenStack доступны несколько проектов:
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Просмотры6.8K
Комментарии 0

Язык Go для начинающих

Разработка веб-сайтовПрограммированиеGo
Из песочницы
Gopher

Цель этой статьи — рассказать о языке программирования Go (Golang) тем разработчикам, которые смотрят в сторону этого языка, но еще не решились взяться за его изучение. Рассказ будет вестись на примере реального приложения, которое представляет из себя RESTful API веб-сервис.
Читать дальше →
Всего голосов 73: ↑67 и ↓6 +61
Просмотры352.5K
Комментарии 71

Используем RestKit 0.22.x для просмотра героев Marvel

Разработка под iOSРазработка мобильных приложенийObjective C
Из песочницы
Веб-сервисы, в частности использующие REST-архитектуру, уже плотно вошли в нашу жизнь. Разрабатывая клиентское приложение под iOS, часто так или иначе приходится загружать данные с сервера и хранить/отображать их локально. При этом хочется делать это легко и непринужденно, не прибегая к изобретению собственных “велосипедов”.

Последняя версия известного Objective-C фреймворка RestKit для iOS и OSX значительно упрощает работу с RESTful API. Несомненно, одной из его самых ценных фич является возможность автоматического сохранения объектов в локальную БД, используя CoreData. Давайте вместе проделаем путь от получения данных от сервера до сохранения и отображения их на нашем iOS-устройстве. А чтобы нам не было скучно, в качестве примера будем работать с API всемирно известной компании по производству комиксов Marvel.

Статья представляет из себя некое подобие туториала. Предполагается, что читатель уже знаком с базовыми концепциями разработки на языке Objective-C, использованием iOS SDK, Core Data и такого понятия как блоки.


Читать далее: код, картинки
Всего голосов 13: ↑8 и ↓5 +3
Просмотры9.5K
Комментарии 2

Sypex Geo 2.2 — теперь с GeoNames и ОКАТО

Разработка веб-сайтовPHP
Вышла новая версия Sypex Geo 2.2 — очень быстрого алгоритма определения города по IP. Теперь базы данных стали двуязычными (русский и английский), регионы и города теперь привязаны к базе данных GeoNames, и имеют постоянные ID.

Были добавлены ОКАТО коды для городов и регионов России, КОАТУУ для Украины и СОАТО для Беларуси.

Технические подробности


Алгоритм работы Sypex Geo значительно не изменился, были исправлены небольшие ошибки, которые возникали при сильной неравномерности распределения IP диапазонов.
Читать дальше →
Всего голосов 34: ↑32 и ↓2 +30
Просмотры15.8K
Комментарии 40

REST интерфейс генератор фреймворка vibe.d

D
Из песочницы
Tutorial
В этой статье я поэтапно покажу как пользоваться rest interface генератором встроенным во фреймворк vibe.d. Если вы интересуетесь D и его особенностями, то данная статья, надеюсь, немного прояснит новичкам как на практике использовать D и познать всю его мощь.

Для этого нами понадобится:
  1. Настроить eclipse для работы с vibe.d.новичкам
  2. Запустить «Hello World» на vibe.d. новичкам
  3. Создать клиента для api OpenWeatherMap.
  4. Создать дублирующий сервер на основе api OpenWeatherMap

В документации к vibe.d имеется пример пользования генератором. Однако данный пример, на мой взгляд, слишком прост и не раскрывает механизма работы генератора.
Вперед
Всего голосов 6: ↑6 и ↓0 +6
Просмотры3.8K
Комментарии 2

Magento шаг за шагом: REST API

PHPAPIРазработка под e-commerce
Tutorial
В предыдущей статье мы рассмотрели создание «скелета» для экспорта заказов. В этой же рассмотриим создание такого же скелета, но импорта через REST API.

С Вики: REST (сокр. от англ. Representational State Transfer — «передача репрезентативного состояния») — в более употребительном узком смысле под REST понимается метод взаимодействия компонентов распределённого приложения в сети Интернет, при котором вызов удаленной процедуры представляет собой обычный HTTP-запрос (обычно GET или POST; такой запрос называют REST-запрос), а необходимые данные передаются в качестве параметров запроса. Этот способ является альтернативой более сложным методам, таким как SOAP, CORBA и RPC.
Читать дальше →
Всего голосов 10: ↑5 и ↓5 0
Просмотры14.2K
Комментарии 3

В Sypex Geo добавлена привязка к API ВКонтакте

Разработка веб-сайтовPHPГеоинформационные сервисы
В Sypex Geo по просьбам трудящихся добавлена привязка к ID городов, регионов и стран, которые используются в API ВКонтакте.

Что такое и для чего нужен Sypex Geo


Sypex Geo одно из решений в области геолокации — определения географического положения (страны, города, региона) посетителя на основе IP-адреса. Используются собственный открытый формат бинарной базы данных, также доступен веб-сервис REST API, позволяющий всегда использовать самые свежие базы данных. Sypex Geo использует собственные базы данных, которые регулярно обновляются, так как местонахождение IP-адресов меняется (2 раза в месяц обновляются бесплатные базы данных, 4 раза в месяц коммерческие базы данных).

Примеры использования геолокации


  • Показывать посетителю контакты филиала из региона в котором находится посетитель.
  • В зависимости от города или региона посетителя интернет-магазин может показывать специальные предложения для данного региона
  • Фирма может устанавливать разные цены на товары и услуги, снижая цены для тех населенных пунктов, где сильны позиции конкурентов.
  • Проведение географического таргетинга при интернет-рекламе (контекстной, баннерной и т.д.).
  • Для посетителей из разных стран цены на товары и услуги могут быть указаны в разной валюте.
  • Посетители из разных стран могут быть перенаправлены на национальные зеркала основного сайта.
  • Проведение маркетинговых исследований.
Читать дальше →
Всего голосов 21: ↑14 и ↓7 +7
Просмотры7.6K
Комментарии 15

Простой каркас Rest Api на основе Phalcon

PHPPhalcon
Привет всем.
Вот хочу предложить небольшой пример реализации простого rest api на основе популярного фреймвокра Phalcon. Даже фаткически не реализацию, а её каркас. Сразу уточню что статья расчитана на новичков. Людей обознанных и опытных врядли заинтересует содержимое.
Phalcon предоставляет широкие возможности для разработки, а также очень большую свободу для творчества и создания хороших продуктов, потому пример действительно очень прост.
Читать дальше →
Всего голосов 14: ↑8 и ↓6 +2
Просмотры8K
Комментарии 13

Использование Accept Header для версионирования API

PHPSymfonyAPI
Перевод
Tutorial
Я исследовал различные варианты дя версионирования REST API. Большинство источников, которые я нашел, говорят практически одно и тоже. Для версионирования любого ресурса в интернете вы не должны изменять URL-адрес. Веб не версионный, и изменение URLа говорит клиенту, что есть больше чем 1 ресурс. Но на самом-то деле не существует нескольких ресурсов, это просто разные представления одного и того же. Конечно, бывают случаи, когда необходимо изменить URL, например, когда измененяется функциональность. В данном конкретном случае причиной изменения служит тот факт, что это больше не один и тот же ресурс.

Но с другой стороны, и, возможно, даже более важной, вы всегда должны стараться убедиться, что изменения будут обратно совместимы. Нужно очень хорошо проектировать архитектуру, чтобы использующие ваше API клиенты не меняли свой код. Хорошо продуманное API может спасти вас от большой, очень большой головной боли.
Читать дальше →
Всего голосов 20: ↑18 и ↓2 +16
Просмотры14.3K
Комментарии 20

О Nutanix, Web-Scale, конвергентных платформах и смене парадигм построения IT инфраструктур

Блог компании NutanixBig Data
Возможно, вы уже слышали достаточно новый для рынка не_онлайн проектов термин — Web-Scale IT, который по мнению Gartner в 2017 году займет не менее 50% рынка корпоративного IT.

В этом году — это один из основных модных терминов.

Ситуация на корпоративных рынках сейчас активно напоминает фразу про подростковый секс — все говорят что имели (= умеют), но реально — дела обстоят невесело.

Буквально каждый вендор рассказывает про BigData, конвергентные решения, перспективы и прочее.

Мы в свою очередь смеем надеяться, что у нас с этим реально все весьма неплохо, но тут всегда виднее со стороны и ваше мнение может не совпадать с нашим.

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

image

Читать дальше →
Всего голосов 29: ↑20 и ↓9 +11
Просмотры20.4K
Комментарии 82

Новый Office 365 как платформа для разработчиков под Windows, Android, iOS и Web

Блог компании MicrosoftРазработка под AndroidРазработка под MacOS

В календаре евангелиста Microsoft TechEd всегда отмечен особенно, потому что эта конференция о будущем как компании, так и индустрии в целом. TechEd Europe 2014, который состоялся на прошлой неделе в Барселоне, как и ожидалось, полон анонсов и новых решений, при этом главная для меня новость связана с Office 365.

Во-первых, OneDrive для пользователей Office 365 стал безлимитным и без дополнительной платы.

Во-вторых, добавится новый и очень важный для безопасности данных бизнесса функционал Built-in Mobile Device Management (MDM) for Office 365. MDM позволит IТ администраторам централизованно управлять смартфонами и планшетами, включая iOS, Android и Windows Phone. Данный функционал будет доступен в первом квартале 2015 года.

Но самая долгожданная новость связана именно с разработкой под Office 365. Команда разработчиков платформы выразила это в одной фразе:

Write once, run anywhere

Читать дальше →
Всего голосов 37: ↑25 и ↓12 +13
Просмотры22.7K
Комментарии 21

REST/CRUD. Я неправильно его готовлю? Часть 2

Программирование

Вступление


В первой части я начал делиться своими наблюдениями по поводу реализации HTTP/GET в REST. В этой — попробуем рассмотреть вопросы версионирования и архитектуры. Приступим?
Читать дальше →
Всего голосов 18: ↑7 и ↓11 -4
Просмотры5.3K
Комментарии 2

LIVR — «независимые от языка правила валидации» или валидация данных без «проблем»

PerlРазработка веб-сайтовPHPPythonJavaScript
Каждый программист неоднократно сталкивался с необходимостью проверки пользовательского ввода. Занимаясь веб-разработкой уже более 10 лет, я перепробовал массу библиотек, но так и не нашел той единственной, которая решала бы поставленные мною задачи.

Основные проблемы, которые встречаются в библиотеках валидации данных

Проблема №1. Многие валидаторы проверяют только те данные, для которых описаны правила проверки. Для меня важно, чтобы любой пользовательский ввод, который явно не разрешен, был проигнорирован. То есть, валидатор должен вырезать все данные для которых не описаны правила валидации. Это просто фундаментально требование.

Проблема №2. Процедурное описание правил валидации. Я не хочу каждый раз думать про алгоритм валидации, я просто хочу описать декларативно, как должны выглядеть правильные данные. По сути, я хочу задать схему данных (почему не «JSON Schema» — в конце поста).

Проблема №3. Описание правил валидации в виде кода. Казалось бы, это не так страшно, но это сразу сводит на нет все попытки сериализации правил валидации и использования одних и тех же правил валидации на бекенде и фронтенде.

Проблема №4. Валидация останавливается на первом же поле с ошибкой. Такой подход не дает возможности подсветить сразу все ошибочные/обязательные поля в форме.

Проблема №5. Нестандартизированные сообщения об ошибках. Например, «Field name is required». Такую ошибку я не могу показать пользователю по ряду причин:
  • поле в интерфейсе может называться совсем по другому
  • интерфейс может быть не на английском
  • нужно различать тип ошибки. Например, ошибки на пустое значение показывать специальным образом

То есть, нужно возвращать не сообщение об ошибках, а стандартизированные коды ошибок.

Проблема №6. Числовые коды ошибок. Это просто неудобно в использовании. Я хочу, чтобы коды ошибок были интуитивно понятны. Согласитесь, что код ошибки «REQUIRED» понятней, чем код «27». Логика аналогична работе с классами исключений.

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

Проблема №8. Ограниченный набор правил. Стандартных правил всегда не хватает. Валидатор должен быть расширяемый и позволять добавлять в него правила любой сложности.

Проблема №9. Слишком широкая сфера ответственности. Валидатор не должен генерировать формы, не должен генерировать код, не должен делать ничего, кроме валидации.

Проблема №10. Невозможность провести дополнительную обработку данных. Практически всегда, где есть валидация, есть необходимость в какой-то дополнительной (часто предварительной) обработке данных: вырезать запрещенные символы, привести в нижний регистр, удалить лишние пробелы. Особенно актуально — это удаление пробелов в начале и в конце строки. В 99% случаев они там не нужны. Я знаю, что я до этого говорил, что валидатор не должен делать ничего кроме валидации.

3 года назад, было решено написать валидатор, который не будет иметь всех вышеописанных проблем. Так появился LIVR (Language Independent Validation Rules). Есть реализации на Perl, PHP, JavaScript, Python (мы на python не пишем — фидбек по ней дать не могу). Валидатор используется в продакшене уже несколько лет практически в каждом проекте компании. Валидатор работает, как на сервере, так и на клиенте.
Читать дальше →
Всего голосов 32: ↑30 и ↓2 +28
Просмотры20.5K
Комментарии 71

Проектирование RESTful API с помощью Python и Flask

PythonAPIFlask
Перевод
Tutorial
В последние годы REST (REpresentational State Transfer) стала стандартной архитектурой при дизайне веб-сервисов и веб-API.

В этой статье я покажу вам как просто создавать RESTful веб-сервисы используя Python и микрофреймворк Flask.

Что такое REST?


Характеристика системы REST определяется шестью правилами дизайна:

  • Клиент-Сервер: Должно быть разделение между сервером, который предлагает сервис и клиентом, который использует ее.
  • Stateless: Каждый запрос от клиента должен содержать всю информацию, необходимую серверу для выполнения запроса. Другими словами, сервер не обязан сохранять информацию о состоянии клиента.
  • Кэширование: В каждом запросе клиента должно явно содержаться указание о возможности кэширования ответа и получения ответа из существующего кэша.
  • Уровневая система: Клиент может взаимодействовать не напрямую с сервером, а с произвольным количеством промежуточных узлов. При этом клиент может не знать о существовании промежуточных узлов, за исключением случаев передачи конфиденциальной информации.
  • Унификация: Унифицированный программный интерфейс сервера.
  • Код по запросу: Сервера могут поставлять исполняемый код или скрипты для выполнения их на стороне клиентов.

Читать дальше →
Всего голосов 40: ↑33 и ↓7 +26
Просмотры191.6K
Комментарии 32

REST API за пару минут с Lionframe

PHPSymfonyAPI
Генераторы кода упрощают жизнь рядового разработчика, во всяком случае призваны это делать, избавляя его от скучного написания однотипного кода. Один из таких генераторов команда Sylius'a представила как подарок для коммьюнити к Рождеству.
Читать дальше →
Всего голосов 12: ↑10 и ↓2 +8
Просмотры17.6K
Комментарии 9