Как стать автором
Поиск
Написать публикацию
Обновить
56.35

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

О создании API

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

Миграция на новую версию API

Время на прочтение4 мин
Количество просмотров14K
Moving the Mote-Morris House: Leesburg, Florida

Подходит к концу время жизни первой версии нашего API. Для тех, кто еще не перевёл свои приложения на новую версию, мы подготовили руководство по миграции.

Самое, что вероятно бросается в глаза — в новой версии нет XML. Да, мы оставили только JSON, но этим всё не ограничивается.
Читать дальше →

BitTorrent Sync: скорость до 90 мегабайт/с и открытые API

Время на прочтение2 мин
Количество просмотров34K
Вчера состоялся выпуск новой версии программы для синхронизации файлов через торренты BitTorrent Sync 1.2. Разработчики сообщили несколько приятных новостей. Во-первых, популярность BitTorrent Sync растёт высокими темпами, что гарантирует успешное развитие проекта в будущем. Количество пользователей превысило 1 млн человек (месячная активная аудитория), а объём синхронизированных файлов — 30 петабайт.

Во-вторых, в новой версии произведена оптимизация протокола синхронизации, так что максимальная скорость в локальной сети увеличена до 90 МБ/c. Это значит, что 10-гигабайтный файл автоматически синхронизируется между компьютерами в локалке быстрее, чем за две минуты.

И самое главное — наконец-то выпущены открытые API для добавления синхронизации через торренты в любой сторонний софт.
Читать дальше →

Пишем instagram-робота, ставим лайки по тегам

Время на прочтение6 мин
Количество просмотров59K
Иногда, для разминки ради, ставлю себе задачи. Просто ради интереса. Чаще всего они забываются сразу после найденного решения и более не используются. Так произошло и в этот раз. Начитался в интернетах о том, что эффективным способ продвижения в Instagram, считается поиск фото по тегам и «лайканье» оных. Если правильно выбрать теги (как правило те, что соответствуют тематике вашего аккаунта), вы получите не только ответные лайки, но и новых подписчиков (что подтвердилось).

Задача


Написать робота (MySQl+php+js), который находил бы фото по тегам и ставил им лайки. Более того, желательно, чтобы наш робот не попал в бан.
Читать дальше →

Веб-API в стиле RESTful

Время на прочтение2 мин
Количество просмотров26K
Всем привет.
У нас снова появилась необходимость узнать мнение пользователей Хабры по поводу издания книги «RESTful Web APIs».

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

Универсальный автотест, или как мы автоматизировали ручные тесты API в nanoCAD

Время на прочтение5 мин
Количество просмотров7.1K
Как можно вручную протестировать API? Наоборот, если есть API, чем плохи модульные тесты? При разработке API nanoCAD-а мы столкнулись с тем, что не весь API можно протестировать при помощи модульных тестов — часть API неразрывно связана с пользовательским интерфейсом и интерактивным взаимодействием с пользователем.

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



По мотивам доклада на конференции SQA Days-12.
Читать дальше →

«ZeroMQ».Глава 1: Приступая к работе

Время на прочтение10 мин
Количество просмотров86K
Всем привет!
Хочу начать вольный перевод книги «ZeroMQ.Use ZeroMQ and learn how to apply different message patterns». Уверен, что многие захотят разобраться с этой интересной библиотекой.

Содержание


Добро пожаловать в ZeroMQ! Эта глава представляет собой введение в ZeroMQ и дает читателю общее представление о том, что такое система очередей сообщений и, самое главное, что такое ZeroMQ. В этой главе мы поговорим о следующих темах:
  • Обзор того, что представляет собой очередь сообщений
  • Зачем использовать ZeroMQ и что отличает ее от других технологий работы с очередями сообщений
  • Основы клиент/серверной архитектуры
  • Рассмотрим первый паттерн: запрос-ответ
  • Как мы можем обрабатывать строки в C
  • Проверка установленных версий ZeroMQ


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

API консоли Javascript

Время на прочтение15 мин
Количество просмотров36K
Разработчикам удобно пользоваться консолью для отладки, но ещё удобнее, если будет оболочка, в которой учтены особенности реализации консоли в различных браузерах, поэтому тема обёрток для консоли устойчиво существует.

Рассмотрим ранее опубликованные решения, затем сделаем обзор методов консоли с помощью перевода недавней статьи Axel Rauschmayer-а, разработчика и консультанта с более чем 15-летним стажем, затем я опубликую некоторые свои решения, которые оказались удачными в процессе эволюции и отладки на ряде проектов.
UPD 2015: обновление таблицы команд до актуального состояния, Github (ru, en; разворачивание на javascript).
ой, сколько букв

Работа с таблицами в MultiCAD.NET. Часть 1. Создание отчета на основе шаблона

Время на прочтение6 мин
Количество просмотров4.9K


Этой публикацией мы открывам цикл статей про возможности и особенности API для работы с таблицами в MultiCAD.NET.

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

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

Базы знаний. Часть 1 — введение

Время на прочтение5 мин
Количество просмотров67K
Одной из причин слабого использования Linked Data-баз знаний в обычных, ненаучных приложениях является то, что мы не привыкли придумывать юзкейсы, видя перед собой только данные. Трудно спорить с тем, что сейчас в России производится крайне мало взаимосвязанных данных. Однако это не значит, что разработчик, создающий приложение для русскоязычной аудитории совсем уж отрезан от мира семантического веба: кое-что всё-таки у нас есть.
image
Основными источниками данных для нас являются международные базы знаний, включающие русскоязычный контент: DBpedia, Freebase и Wikidata. В первую очередь это справочные, лингвистические и энциклопедические данные. Каждый раз когда вам в голову приходит мысль распарсить кусочек википедии или викисловаря — ущипните себя как следует и вспомните о том, что всё, что хранится в категориях, инфобоксах или таблицах, уже распарсено и доступно через API с помощью SPARQL или MQL-интерфейса.

Я попробую привести несколько примеров полезных энциклопедических данных, которые вы не найдете нигде, кроме Linked Data.

Эта статья — первая из цикла Базы знаний. Следите за обновлениями.


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

Наши партнеры: история Powerbot

Время на прочтение4 мин
Количество просмотров3.2K
Screen Shot 2013-10-15 at 10.31.15PM

Автор: Дмитрий Горшков, директор по продуктам компании Yam Labs, разработчика продуктов серии Powerbot и партнера Evernote

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

Сессии в API на Yii c возможностью хранения в Redis

Время на прочтение7 мин
Количество просмотров21K
Не так давно у меня возникла необходимость написать API на Yii Framework, одним из функциональных требований в котором является авторизация. Для механизма авторизации я решил использовать сессии.
Читать дальше →

«Boost.Asio C++ Network Programming». Глава 7: Boost.Asio – дополнительные темы

Время на прочтение7 мин
Количество просмотров30K
Всем привет!
Продолжаю перевод книги John Torjo «Boost.Asio C++ Network Programming».

Содержание:


В этой главе рассматриваются некоторые дополнительные темы Boost.Asio. Маловероятно, что вы будете использовать это каждый день, но, безусловно, будет не лишним это знать:
  • Если отладка не удается, то вы увидите, что Boost.Asio поможет вам в этом
  • Если вам придется работать с SSL, то посмотрите, что вам может предложить Boost.Asio
  • Если вы пишите приложение под определенную OC, то посмотрите, какие дополнительные функции есть в Boost.Asio для вас


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

«Boost.Asio C++ Network Programming». Глава 6: – другие особенности

Время на прочтение12 мин
Количество просмотров30K
Всем привет!
Продолжаю перевод книги John Torjo «Boost.Asio C++ Network Programming».

Содержание:


В этой главе мы рассмотрим некоторые из не очень известных особенностей Boost.Asio. Объекты std streams и streambuf иногда немного сложнее в использовании, но, как вы сами убедитесь, у них есть свои преимущества. Наконец, вы увидите довольно позднее добавление в Boost.Asio — co-routines, которое позволит вам иметь асинхронный код, но легко читаемый (как буд-то бы он синхронный). Это довольно удивительная особенность.

Ну что, поехали

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

Частотный генератор фонового шума на HTML5

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров23K
В ряду генераторов фонового шума — пополнение. Да ещё какое. На сайте myNoise.net можно в удобном интерфейсе через Web Audio API сгенерировать подходящий фон: звук костра, ветра, водопада, дождя, белый шум, различные промышленные шумы и т.д. Всё совершенно бесплатно и работает даже в мобильных браузерах.


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

«Boost.Asio C++ Network Programming». Глава 5: Синхронное против асинхронного

Время на прочтение19 мин
Количество просмотров32K
Всем привет!
Продолжаю перевод книги John Torjo «Boost.Asio C++ Network Programming».

Содержание:


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

Будет интересно

AlfabankAPI для работы с Альфа-Клиент On-line

Время на прочтение3 мин
Количество просмотров25K
Как и у многих, в один прекрасный день появилась идея автоматизировать бизнес процессы в своей организации. Так или иначе автоматизировать можно всё и бесконечно долго, но задача по работе с банком показалась наиболее важной и интересной. Перед началом исследования стоит предъявить требования к необходимому API с помощью которого мы ходим общаться с банком. На первом этапе неплохо было бы установить соединение с банком, получить текущий баланс и список операций по счёту на указанный период.
Подробности

Мой опыт знакомства с BrainTree

Время на прочтение6 мин
Количество просмотров27K
image
Итак, началось все с того, что на работе к проекту понадобилось прикрутить систему оплаты BrainTree. Поискав на русскоязычных сайтах инструкцию как это сделать, я понял, что придется во всем разбираться самому.
Читать дальше →

Голосовой поиск «по-русски»

Время на прочтение1 мин
Количество просмотров31K
Yandex SpeechKitВсем привет. Технологии развиваются очень быстро, и очень приятно, что не только за рубежом.
Компания «Яндекс» представила свою разработку, а именно мультиплатформенную библотеку, которая даёт доступ разработчикам к собственной технологии распознавания речи — SpeechKit.
Более подробная информация далее…
Далее?

«Boost.Asio C++ Network Programming». Глава 4: Клиент и Сервер

Время на прочтение12 мин
Количество просмотров72K
Всем привет!
Продолжаю перевод книги John Torjo «Boost.Asio C++ Network Programming».

Содержание:


В этой главе мы собираемся углубиться в создание нетривиальных клиент/серверных приложений с использованием Boost.Asio. Вы можете запускать и тестировать их, и как только вы разберетесь в них, вы сможете использовать их как основу для создания собственных приложений.

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

«Boost.Asio C++ Network Programming». Глава 3: Эхо сервер/клиент

Время на прочтение9 мин
Количество просмотров70K
Всем привет!
Продолжаю перевод книги John Torjo «Boost.Asio C++ Network Programming».

Содержание:


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



Здесь будет приводиться не весь код целиком, а только его части, весь код можно посмотреть по ссылке в конце статьи.
Читать дальше →

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