Обновить
38.84

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

О создании API

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

Как я перестал волноваться и стал отдавать метаданные restful API

Время на прочтение5 мин
Количество просмотров18K
Если вы делаете публичный API, то скорее всего сталкивались с проблемой его документации. Большие компании делают специальные порталы для разработчиков, где можно почитать и обсудить документацию, или скачать библиотеку-клиент для вашего любимого языка программирования.

Поддержка такого ресурса (особенно в условиях, когда API активно развивается) — достаточно трудозатратное дело. При изменениях, приходится синхронизировать документацию с фактической реализацией и это напрягает. Синхронизация состоит из:
  • Проверки, что вся существующая функциональность описана в документации
  • Проверки, что всё описанное работает как заявлено в документации
Читать дальше →

Немного о Steam Web Api

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


Сервис цифровой дистрибуции Steam от компании Valve становится всё более популярным среди игроков. По состоянию на январь 2013, через Steam распространяется более трёх тысяч товаров, на которые действуют ежедневные, срединедельные и скидки на выходные дни, а количество зарегистрированных аккаунтов превысило 60 миллионов.

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

Создание телефона в браузере с использованием WebRTC и сервиса Plivo

Время на прочтение6 мин
Количество просмотров5.2K
Недавно был разработан стандарт WebRTC, позволяющий организовать потоковую передачу данных между браузерами. Chrome 17, Opera 12, Firefox 18 (а также версии, выше указанных) в той или иной мере уже поддерживают этот стандарт. Так же существует расширение webrtc4all, которое позволяет остальным браузерам работать с WebRTC. Я не буду здесь описывать преимущества, недостатки и перспективы технологии, перейду сразу к практическому использованию.
Читать дальше →

Знакомство с Rest4Enterprise или REST-сервисы для ленивых

Время на прочтение3 мин
Количество просмотров6.7K
Так сложилось, что по долгу службы столкнулся со следующей задачей: нужно было быстро и как можно проще сгенерировать много REST-сервисов. Мне казалось, что должно существовать немало решений, этой не такой уж и сложной задачи. И каково было мое удивление, когда пошарив по бескрайним просторам Интернета, нашел всего лишь пару подходящих продуктов. Среди наиболее подходящих мне отобрал Rest4Enterprise, restSQL и IBM Web API Services (может кто еще какие знает? you are welcome!). restSQL показался совсем хиленьким, продукт от IBM – наоборот, мощнейшим зверем. Поэтому придерживаясь правила «золотой середины», решил опробовать Rest4Enterprise. Продукт еще совсем новый (январь 2013), информации по нем, кроме официального источника нет вообще, поэтому решил поделиться с хабрачитателями своим небольшим опытом работы с ним.
Читать дальше →

Виджет с вакансиями в IT на основе API

Время на прочтение2 мин
Количество просмотров9.9K
Друзья, многие из вас могли заметить, что в нашем блоге на Хабре справа от постов появился виджет вакансий. Мы сделали его, чтобы вам стало проще следить за предложениями работы в сфере информационных технологий. Виджет использует наш API, открытый для всех.

Мы постарались задать наиболее интересные критерии отбора вакансий. Например, он выдает только предложения работодателей с привлекательной зарплатой — не менее 90-100 тыс. рублей.



Узнать подробнее о том, как работает виджет и API

Elophant: хоть какой-то доступ к API League of Legends

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


Уверен, что многие из тех, кто хоть иногда играет в игры жанра MOBA (Multiplayer Online Battle Arena), или даже просто в MMORPG, наверняка слышали про такой проект как League of Legends.
LoL — второй (после Demigod) клон всем известной «Доты», и, на данный момент, имеет очень много поклонников по всему земному шару (30+ млн. зарегистрированных пользователей). В 2010-2011 League of Legends даже была включена в список дисциплин на крупнейшем чемпионате для геймеров — WCG (World Cyber Games).

Впрочем, хватит хвалить и без того хвалёную игру, перейдем к делу. Как-то раз, мне приспичило узнать подробную информацию о своем игровом аккаунте в LoL, а именно: посмотреть результаты своих последних сыгранных матчей, общую игровую статистику для каждого персонажа и соответствующие значения KDA Ratio (Kills / Deaths / Assissts). Но узнать эту информацию мне нужно было не имея под рукой клиента с игрой. Я перелопатил весь официальный сайт и форум, в поисках хоть какой-то информации об API — все безуспешно. Тогда, я еще не знал про ресурсы LoLKing, SoloMid и т.д.

Уже намного позже, в процессе «гугления», был найден сайт Elophant.com, на котором располагалась (собственно, и сейчас располагается) небольшая API — документация. В ней описаны основные методы, позволяющие узнать имя саммонера, информацию о его рунах / страницах талантов, информацию о последних десяти сыгранных матчах, общую игровую статистику, информацию о всех существующих игровых предметах / персонажах и т.п.
Читать дальше →

Работа с Freebase из .NET

Время на прочтение3 мин
Количество просмотров3.4K
Недавно начал работать над проектом, который требует информацию о фильмах, музыке, книгах. Для этого необходимо наполнить базу данных из другого ресурса. Решил воспользоваться свободной базой данных Freebase.

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

5 API которые изменят Веб в 2013

Время на прочтение5 мин
Количество просмотров47K
Это невероятно захватывает — наблюдать за эволюцией Веб, и 2013 год принесет нам в запасе очень многое. На подходе ряд технологий, имеющих потенциал в течение 2013 года радикально изменить наши способы использовать и разрабатывать Веб.

Настраиваемые фильтры CSS



СSS фильтры уже имеются в Chrome и Safari, и позволяют расширенные настройки стилей, такие как размытие, искривление и модификацию цветовой интенсивности. Однако, это — только начало. Настраиваемые фильтры CSS позволяют вам описать свои собственные вершинные и пиксельные шейдеры в GLSL, языке, который является неотъемлемой частью традиционного 3D-рендеринга уже в течение 10 лет или около того.

На практике это означает то, что вы можете создавать невероятные эффекты. Комбинируя фильтры с CSS-переходами, вы можете делать красивые трансформации, от завитушек на странице до складывающихся элементов. Пределом является лишь ваше воображение!

Так когда вы можете использовать их? Adobe стал новатором этой технологии и Настраиваемые Фильтры уже доступны в Chrome. Ожидается увидеть их в Chrome в начале следующего года. На данный момент, с ними можно поиграть в Canary.

API автозаполнения



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

Что такое TCHAR, WCHAR, LPSTR, LPWSTR,LPCTSTR (итд)

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


Многие C++ программисты, пишущие под Windows часто путаются над этими странными идентификаторами как TCHAR, LPCTSTR. В этой статье я попытаюсь наилучшим способом расставить все точки над И. И рассеять туман сомнений.

В свое время я потратил много времени копаясь в исходниках и не понимал что значат эти загадочные TCHAR, WCHAR, LPSTR, LPWSTR,LPCTSTR.
Недавно нашел очень грамотную статью и представляю ее качественный перевод.
Статья рекомендуется тем кто бессонными ночами копошиться в кодах С++.

Вам интересно ??
Прошу под кат!!!
Читать дальше →

Погодник на java для начинающих и постарше

Время на прочтение10 мин
Количество просмотров21K
image

Приветствую всех в этот прекрасный день ожидания праздника, это моя первая статья на хабре, в которой я хотел бы рассказа про открытый API погоды Яндекса. Статья является продолжением серии Java для начинающих. Следует отметить, статья рассчитана на тех, кто недавно начал изучения язык или на тех, кто не знаком с данным сервисом, но в любом случае, рад я буду любым читателям (эх тавтология… ). Яндекс дает неплохую возможность для разработчиков, которым требуется в своей программе или на своем сайте разместить погоду, причем информации, которую Яндекс предоставляет более, чем достаточно.

Погоду Вы сможете выбрать за любой день на неделю вперед. Различные состояния (ясно, пасмурно и т. д.), множество языков (для городов, например русский и английский, для состояний все языки стран СНГ и не только: ясно, аяз, açık, ашық и т… д.), я не очень хорош в географии, но, кажется, информация там для всех стран, даже есть миниатюрные картинки состояния погоды, но самое главное, почему я выбрал этот сервис — простая и понятная структура. Сразу оговорюсь, за «рекламу» мне не платили.
Читать дальше

OpenWeatherMap – как энтузиасты делают погоду

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

Мы живем в удивительное время, то что раньше казалось очень сложным внезапно становится доступным и простым. Задачи для решения которых надо было создавать научные институты и крупные организации, сейчас решаются саморганизованными группами энтузиастов. Энтузиасты создают карты и энциклопедии снимают фильмы и разрабатывают software. Я хочу рассказать о той области, в которую этот свежий ветер перемен еще не подул в полную силу – это погода. И нашим проектом – OpenWeatherMap — мы хотим изменить эту ситуацию!

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

Webshell.io — командная строка для интернета

Время на прочтение1 мин
Количество просмотров14K
Webshell.io предназначен для создания прототипов и мэшапов на основе JavaScript API различных веб-сервисов. Что-то вроде IFTTT, но для программистов. С его помощью можно в интерактивном режиме писать запросы на JavaScript и CoffeeScript к клиентским и серверным API Google, Facebook, Twitter и многих других популярных сайтов и видеть их ответы в консоли, а так же создавать свои приложения, API которых, в свою очередь, будет доступен другим разработчикам. Webshell также поддерживает рендеринг HTML из шаблонов EJS.
Читать дальше →

История одного mBaaS (cloud backend) сервиса на примере QuickBlox

Время на прочтение11 мин
Количество просмотров12K
Привет Хабровчане! Если вы уже нарядили елку и думаете, какую бы новую аппликуху сделать во время праздников, то вам может быть полезным узнать больше о mBaaS (mobile backend as a service).

Пост будет интересен тем, кто уже использует или планирует использовать готовые серверные платформы в разработке своих мобильных приложений. Про QuickBlox уже писали на Хабре в общем, про code samples и SDK, про авторизацию-аутентификацию и HURL. Также нас упоминали в "Поверхностный обзор Javascript-enabled BaaS платформ".

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

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

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

Web API с помощью Django REST framework

Время на прочтение4 мин
Количество просмотров158K
Веб-cервис (англ. web service) — идентифицируемая веб-адресом программная система со стандартизированными интерфейсами. Веб-службы могут взаимодействовать друг с другом и со сторонними приложениями посредством сообщений, основанных на определённых протоколах (XML, JSON и т. д.). Веб-служба является единицей модульности при использовании сервис-ориентированной архитектуры приложения.

Одним из подходов создания веб сервиса является rest.
Rest (сокр. англ. Representational State Transfer, «передача состояния представления») — стиль построения архитектуры распределенного приложения. Данные в REST должны передаваться в виде небольшого количества стандартных форматов (например HTML, XML, JSON). Сетевой протокол (как и HTTP) должен поддерживать кэширование, не должен зависеть от сетевого слоя, не должен сохранять информацию о состоянии между парами «запрос-ответ». Утверждается, что такой подход обеспечивает масштабируемость системы и позволяет ей эволюционировать с новыми требованиями.

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

Новая функциональность в Evernote API — findRelated(): поиск связанных по смыслу заметок

Время на прочтение3 мин
Количество просмотров1.7K
image

Не так давно, на мероприятии Evernote Trunk Conference в Сан-Франциско мы анонсировали новую функцию API NoteStore.findRelated, которую могут использовать независимые разработчики и партнеры. Как и следует из названия функции, она позволяет клиентам запрашивать заметки, блокноты и метки, так или иначе связанные по смыслу с исходными данными (такими данными на входе может быть как идентификатор другой заметки, так и простой текст).

Идея в том, что Evernote станет полезнее, если будет своевременно подсказывать пользователю заметки из его аккаунта на актуальную в данный момент для него тему. Новая функция API упрощает поиск и представление такой информации. Давайте посмотрим, как эта функция работает.

В Github вы можете найти пример приложения на Python, которое использует findRelated. Приведенный ниже код взят из этого приложения, так что, при желании, можете сразу перейти к нему.
Читать дальше →

Сервис трекинга Почты России уподобился китайскому коллеге

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


Сегодня на сайте нашей любимой «Почты России» появилась капча. Это означает, что забирать информацию по почтовым отправлениям простым POST-запросом больше не получится. Как следствие, многочисленные сервисы «Где моя посылка?» потеряют (на время, скорее всего) немалую часть своей аудитории.

Существует, конечно полусекретный SOAP API о примере использования которого рассказал уважаемый qnub, но было бы логично ожидать, что теперь сделают новый полноценный документированный API. Вопрос: сколько придётся этого ждать?

А пока что сервис отслеживания Почты России стал таким же как у братьев-китайцев — медленным и неудобным для конечного пользователя.
Дальнейшее развитие событий

OfficeRecovery представляет веб-API для восстановления поврежденных файлов

Время на прочтение1 мин
Количество просмотров2.4K
Предлагаем вниманию программистской общественности бета-версию веб-API для восстановления поврежденных файлов: https://online.officerecovery.com/ru/api/

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

В качестве ядра для восстановления файлов используется сервис OfficeRecovery Online (см. пост с описанием и видео). Взаимодействие происходит на основе GET/POST http запросов, обмен данными основывается на формате XML.

Функциональность API:
  1. Загрузка поврежденного файла для восстановления.
  2. Получение статуса и прогресса восстановления.
  3. Получение ссылок на демонстрационный и полный результат восстановления, либо сообщение об ошибке, если файл не удалось восстановить.
Подробности

ObjectScript, разработаем спецификацию совместно: операторы сравнения

Время на прочтение5 мин
Количество просмотров2.4K
ObjectScript — новый встраиваемый и очень легкий объектно-ориентированный язык программирования с открытым исходным кодом. ObjectScript расширяет возможности таких языков, как JavaScript, Lua и PHP. Синтаксис в основном взят из JavaScript, множественное присваивание — из Lua, работа со свойствами — из PHP.

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

Вопрос довольно щекотливый, т.к. от результата булевского выражения зависит, не много не мало, выполнится кусок кода или нет. Русская пословица «одна голова хорошо, а много лучше» подсказывает мне, что лучше обратится к программерскому сообществу и разобраться наверняка в том, какое поведения при сравнении (это операторы >=, >, <=, <, ==, !=) разных типов данных в скриптовом языке является наиболее уместным. Выработать коллегиональное решение и закрепить результат в спецификации ObjectScript.
Читать дальше →

ObjectScript API, интеграция с C++. Часть 4: подключение пользовательских классов и функций на C++

Время на прочтение5 мин
Количество просмотров4.9K
ObjectScript — новый встраиваемый объектно-ориентированный язык программирования с открытым исходным кодом. ObjectScript расширяет возможности таких языков, как JavaScript, Lua и PHP.

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

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

ObjectScript — новый язык программирования, быстрее чем PHP и JS

Время на прочтение5 мин
Количество просмотров9K
ObjectScript — новый встраиваемый и очень легкий объектно-ориентированный язык программирования с открытым исходным кодом. ObjectScript расширяет возможности таких языков, как JavaScript, Lua и PHP. Синтаксис в основном взят из JavaScript, множественное присваивание — из Lua, работа со свойствами — из PHP.

ObjectScript 0.97-vm2 быстрее, чем PHP 5.3.3 и JS на 34% и 61% соответственно.

Как тестировалось


Для тестирования был взят алгоритм Fannkuch. Довольно удобный тест, одна функция с параметром, при увеличении параметра на 1, количество вычислений увеличивается примерно в 10 раз.
Читать дальше →

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