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

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

О создании API

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

Новая функциональность в 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.3K
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 мин
Количество просмотров8.9K
ObjectScript — новый встраиваемый и очень легкий объектно-ориентированный язык программирования с открытым исходным кодом. ObjectScript расширяет возможности таких языков, как JavaScript, Lua и PHP. Синтаксис в основном взят из JavaScript, множественное присваивание — из Lua, работа со свойствами — из PHP.

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

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


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

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

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

Часть 3: подключение модуля с функциями на C++


Давайте создадим свой модуль с фунциями, которые будут доступны в коде на OS. Назовем модуль my, он будет содержать
Читать дальше →

ObjectScript API, интеграция с C++. Часть 2: выполнение скрипта на OS из C++

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

Часть 2: выполнение скрипта на OS из C++


Возьмем пример кода на OS из Части 1: работа со стеком, вызов функций OS из C++.
Читать дальше →

ObjectScript API, интеграция с C++. Часть 1: работа со стеком, вызов функций OS из C++

Время на прочтение5 мин
Количество просмотров8.8K
ObjectScript — новый объектно-ориентированный язык программирования с открытым исходным кодом. ObjectScript расширяет возможности таких языков, как JavaScript, Lua и PHP. Его презентация прошла на хабре некоторое время назад в этой статье и вызвала у читателей интерес и бурное обсуждение. Поэтому я решил не останавливаться на презентации и описать ObjectScript API.
Читать дальше →

Клиент для SOAP API Почты России на Python

Время на прочтение3 мин
Количество просмотров39K
В процессе работы над текущими проектами возникла ситуация когда «вдруг» перестал парситься сайт трекингов Почты России. В интернетах даже немного побурлили по поводу «ужасной» новой защиты и т.п. В тех же интернетах всплыла тогда информация, что у Почты России имеется-таки API. Не совсем человеческий (т.е. по протоколу SOAP) но какой-никакой существует и кто-то им даже, якобы, пользуется. Я сообщил шефу, шеф написал письмо на Почту России (электронное, на удивление) и оказалось — да. Всё это действительно есть и вроде бы даже работает. Видимо создали сервис ещё тогда.

Под катом будет линк на рабочий класс клиента (на python) к API Почты России и немного подробностей работы с ним.
Читать дальше →

Пишем плагин к Intellij IDEA: Регистрация типа файла

Время на прочтение3 мин
Количество просмотров7.5K
Недавняя статья на Хабре напомнила мне о том, сколько времени я провел пытаясь написать свой плагин к Intellij IDEA. Официальная документация по созданию плагинов хоть и есть, но её неожиданно мало.

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

Взаимодействие процессов (приложений) на WinApi

Время на прочтение8 мин
Количество просмотров15K
Сейчас в интернетах можно встретить много Hello World'ов на WinApi, но когда новичок спрашивает как в этот Hello World добавить пару нужных функций — закидывают тухлыми яблоками и тут же отправляют в пресловутый и могучий MSDN.

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

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

Авторизация на сайтах через Z-Payment (OAuth 2.0)

Время на прочтение8 мин
Количество просмотров2.4K
imageЗдравствуйте хабрасообщество! Данная статья описывает протокол API Z-Payment на основе OAuth 2.0, для авторизации пользователей на сторонних сайтах. Признаемся, что регистрироваться всегда лень, не говоря уже о том, что приходится делиться личной информацией (как минимум почтой), а когда это необходимо делать всего лишь один раз, то лень в двойне. Именно по этому Интернет сервисы с большим количеством пользователей, предлагают возможность авторизации на сторонних ресурсах через себя и Z-Payment в этом случае уже не исключение.
Подробней

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

Редактор OAuth 2.0 попросил вычеркнуть своё имя из спецификаций

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


Эран Хаммер (Eran Hammer), один из авторов спецификаций OAuth 1.0, а также действующий редактор создающегося стандарта OAuth 2.0, объявил об уходе с поста после трёх лет работы над новым стандартом, и попросил вычеркнуть своё имя из спецификаций.

В личном блоге специалист объяснил причины такого поступка. Если в двух словах, то OAuth 2.0 после обработки в IETF превратился в плохой стандарт. «Он плох настолько, что я больше не хочу, чтобы моё имя ассоциировалось с ним», — пишет Эран Хаммер, хотя и отмечает, что после трёх лет упорной работы это решение далось ему нелегко. Обсуждение нового стандарта в IETF привело к множеству компромиссов, в результате чего появились спецификации, которые не удовлетворяют двум основным принципам — совместимости и безопасности. Так, одним из компромиссов стало переименование протокола во фреймворк, а ещё одним компромиссом — добавление заявления, что спецификации вряд ли способны обеспечить совместимые реализации. Даже пример Facebook показывает, что разработчики игнорируют важные части OAuth 2.0, и это при том, что в Facebook реализацией этой технологии занимается один из авторов спецификаций.
Читать дальше →

QJson как библиотека для работы с JSON в Qt

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

Привет, хабр!

На хабре еще не писали про QJson — отличный и очень простой инструмент для работы с JSON на Qt. Вообще Qt рекоммендуют использовать XML — но мне кажется что в очень многих случаях он бывает чересчур уж избыточным или лишним. В некоторых случаях лучше использовать JSON. В этой заметке я расскажу как скачать, собрать и использовать QJson для работы с JSON в Qt.

Внимание! Этот пост — заметка. Все что вы тут прочитаете можно найти в гугле и на офф сайте проекта — но я думаю что такая заметка не будет лишней.
Читать заметку...

Syte — движок для персональных сайтов с возможностью интеграции соц.сервисов

Время на прочтение1 мин
Количество просмотров5.6K
Syte был разработан Родриго Нери (Rodrigo Neri) — собственно его страничка и является одним из примеров использования Syte.
По сути, это простое и мощное Django-приложение, которое позволяет интегрировать такие социальные сервисы, как Tumblr, Twitter, Github, Dribbble и Instagram.

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

Первое приложение для Flickr. Авторизация oAuth 2.0, получения списка фотографий

Время на прочтение6 мин
Количество просмотров3.8K
Документация по API на сайте flickr.com устарела. Уже давно появилась возможность авторизироваться через oAuth 2.0, но на сайте нет ни нормального описание, ни примеров работы с API после авторизации.

Авторизация на Flickr происходит в три этапа:

1. Получение oauth_token и oauth_token_secret. На первом шаге oauth_token это request_token.
2. Авторизация приложения в профиле пользователя.
3. Получения oauth_token и oauth_token_secret. На третьем шаге oauth_token это access_token.
Читать дальше →

OAuth на практике. Аутентификация и авторизация пользователей сайта через популярные социалки

Время на прочтение14 мин
Количество просмотров347K
Думаю, не мне одному чрезвычайно надоели ресурсы, требующие регистрации по каждому поводу и без. С обязательной капчей, которая правильно введется только с пятого раза, с подтверждением по е-мейлу, которое обязательно свалится в спам и то — только через сутки. Придумывать каждый раз новую пару логин-пароль — забудется, вводить одно и то же на всех сайтах — небезопасно. Местами прокатывают пары вида «qwerty:qwerty» или «login:password», но, увы, далеко не везде. Надоело. Не счесть, сколько раз я, увидев надпись «только зарегистрированный пользователь может ****», просто кривился и закрывал вкладку, чтобы больше ни разу на этот сайт не заходить. Неужели администраторы ресурсов сами этого не понимают?
Читать дальше →

Создание пользовательского контрола карты с помощью API Яндекс.Карт 2.0

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

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

Обама приказал всем государственным агентствам иметь Web API

Время на прочтение2 мин
Количество просмотров956
Президент США подписал меморандум Building a 21st Century Digital Government, в соответствии с которым будет создан некий аналог российского единого портала госуслуг в рамках стратегии по созданию «полноценного цифрового государства 21 века».

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

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