Взаимодействие различных сервисов с использованием АPI, из новаторства превращается в обыденность. Количество бесплатных и платных API уже исчисляется тысячами, и с каждым днем их число активно растет. А почему бы и нет? Продажа удаленных запросов к своему новаторскому сервису может принести больше прибыли, чем распространение услуг через свою площадку. И пусть, в таком случае, уже ваши клиенты ломают голову и тратят деньги на привлечение аудитории. Используя свой опыт работы, я предлагаю краткий обзор лучших решений по реализации API на сегодняшний день.Читать полностью »
Рубрика «json» - 14
3 лучших инструмента для описания RESTful API
2015-03-04 в 23:38, admin, рубрики: api, json, restful api, web, Веб-разработка, Разработка для интернета вещейКак JavaScript Grid работает с протоколом OData
2015-03-02 в 18:25, admin, рубрики: javascript, json, odata, rest, rest api, RESTful, restful api, Блог компании NitrosData, Веб-разработка, интерфейсы, ПрограммированиеВ прошлой статье мы упоминали, что:
В настоящее время существует большое количество библиотек, поддерживающих протокол OData, и каждый день появляются новые. В частности, с OData работают такие JavaScript библиотеки, как Kendo UI, DevExtreme Web, Syncfusion HTML5 controls, Infragistics HTML5 controls, OpenUI5, Wijmo, JayData, Breeze.js, datajs, ODataJS, angular-odata, и т.д.
Многие из этих библиотек существенно упрощают разработку сложных приложений благодаря стандарту OData. Например, достаточно грид контролу указать URL к серверу OData и все остальное он сделает сам: пэйджинг, сортировку, добавление- модификацию-удаление записей, фильтрацию данных, группировку и т.д.
Мы подготовили примеры того, как гриды работают с OData.
- http://nitrosdata.com/samples_kendo_ui_grid1.html — Kendo UI Grid.
- http://nitrosdata.com/samples_kendo_ui_grid2.html — Kendo UI Grid с виртуальным скроллингом вместо пэйджинга.
- http://nitrosdata.com/samples_devexpress_grid.html — DevExtreme Data Grid.
- http://nitrosdata.com/samples_syncfusion_grid.html — Syncfusion Grid.
Основные запросы грида к серверу:
- Получить общее количество записей, удовлетворяющих некоторому условию.
- Получить выборку из общего набора записей для показа на одной странице.
- Получить весь набор записей.
- Отсортировать записи по одному или нескольким полям.
- Отфильтровать записи по некоторому набору условий.
- Добавить новую запись.
- Модифицировать запись.
- Удалить запись.
- Batch update – добавление, изменение и удаление группы записей.
Рассмотрим детальнее основные запросы на примере
Читать полностью »
Управление данными с помощью протокола OData
2015-02-18 в 8:34, admin, рубрики: javascript, json, odata, rest, rest apiful api, RESTful, Веб-разработка, интерфейсы, ПрограммированиеOpen Data Protocol (OData) – это открытый веб-протокол для запроса и обновления данных. Протокол позволяет выполнять операции с ресурсами, используя в качестве запросов HTTP-команды, и обмениваться данными в форматах JSON или XML.
OData является одним из лучших стандартов для создания RESTful API.
Вы можете запрашивать данные используя простые HTTP запросы, например:
http://nitrosdata.com/service/testdb/person?$filter=firstname eq «Lamar»
Найти всех людей по имени Lamar.
OData позволяет задавать огромное число параметров, которые позволяют сформировать очень сложные запросы к источнику данных, например:
http://nitrosdata.com/service/testdb/book?$filter=publisher/president/likes/author/firstname eq 'Georgie'&$top=10&$orderby=title
Выбрать все книги, удовлетворяющие следующему условию: президент издательства в котором издана книга, любит книги некоего автора с именем “Georgie”. Результат запроса необходимо отсортировать по названию, выдать первые 10 книг.
Язык запросов OData сопоставим по мощности с SQL.
Читать полностью »
VKPLS — Генерация потокового аудио-плейлиста из vk.com
2015-02-10 в 19:38, admin, рубрики: json, M3U, maxmertkit, music, php, pls, Stream, vk.com, Веб-разработка, Вконтакте API, метки: php
Хочу поделиться с читателями «Хабрахабра» небольшим веб-сервисом (скриптом), который написал для себя.
С появлением социальных сетей и их широким распространением пользователи довольно много времени проводят в онлайне. Все любят музыку, а лично я без нее жить не могу. Так вышло, что всю свою музыкальную коллекцию храню в профайле «Вконтакте». Поскольку всегда в курсе новинок, не трачу свое время на поиск и скачивание, а возможность доступа к своей музыке почти с любого гаджета в любом месте где есть интернет придает максимум удобства. Я очень рад, что прошли те деревянные времена, когда хороший интернет был роскошью. Больше нет необходимости хранить такую информацию на своем жестком диске. Все, что не конфиденциально, выбрасываю в облако.
Большую часть своей работы я выполняю за компьютером, а это значит, что музыка мне необходима как кислород — чтобы сконцентрироваться на поставленных задачах. Врубаешь любимый альбом в 5.1 и творишь. Но есть одно но: чтобы послушать музыку в VK.com, я должен зайти в онлайн, а если заходишь в онлайн — то непременно получаешь кучу сообщений и затягиваешься в нежелательные беседы. Я человек добрый и отзывчивый, поэтому не могу игнорировать своих друзей с их постоянными проблемами. Но ведь мне нужно сконцентрироваться на работе, а вся моя музыка там, где меня всегда что-то отвлекает.
Читать полностью »
Tree — убийца JSON, XML, YAML и иже с ними
2015-01-18 в 23:03, admin, рубрики: json, NIH, tree, XML, yaml, Программирование, стандарты Здравствуйте, меня зовут Дмитрий Карловский и я… много думал. Думал я о том, что не так с XML и почему его в последнее время променяли, на бестолковый JSON. Результатом этих измышлений стал новый стандарт формат данных, который вобрал в себя гибкость XML, простоту JSON и наглядность YAML.
Tree — двумерный бинарно-безопасный формат представления структурированных данных. Легко читаемый как человеком так и компьютером. Простой, компактный, быстрый, выразительный и расширяемый. Сравнивая его с другими популярными форматами, можно составить следующую сравнительную таблицу:
Больше — лучше | JSON | XML | YAML | INI | Tree |
---|---|---|---|---|---|
Человекопонятность | 3 | 1 | 4 | 5 | 5 |
Удобство редактирования | 3 | 1 | 4 | 5 | 5 |
Произвольная иерархия | 3 | 3 | 3 | 1 | 5 |
Простота реализации | 3 | 2 | 1 | 5 | 5 |
Скорость парсинга/сериализации | 3 | 1 | 1 | 5 | 5 |
Размер в сериализованном виде | 3 | 1 | 4 | 5 | 5 |
Поддержка поточной обработки | 0 | 0 | 5 | 5 | 5 |
Бинарная безопасность | 0 | 0 | 0 | 0 | 5 |
Универсальность | 4 | 3 | 3 | 1 | 5 |
Распространённость | 5 | 5 | 3 | 3 | 0 |
Поддержка редакторами | 5 | 5 | 3 | 5 | 1 |
Поддержка языками программирования | 5 | 5 | 3 | 5 | 1 |
JSON, который можно комментировать
2015-01-09 в 8:03, admin, рубрики: config files, javascript, json, jsonComm, node.js, Проектирование и рефакторинг, Регулярные выражения, хранение данныхНе все JSON нельзя комментировать (например, Хром[иум] вполне переносит комментарии в manifest.json), но в стандарте не предусмотрены комментарии к нему. Поэтому ряд функций в NodeJS не обрабатывают комментарии в формате JS и считают их ошибкой. Точно так же, AJAX с форматом JSON принимает их за ошибку. Поэтому для конфигурационных файлов в формате JSON имеется масса неудобств при попытках их использовать как человеко-читаемые файлы. Может быть, это иногда хорошо. Если хотим прокомментировать, то будем вынуждены оформить комментарий под или над строкой как «ключ-значение».
...{...
"some-key_comment":"my comment for key and value",
"some-key":"some-value",
...}...
Но если комментарии не пишем, следуя суровости протоколов, ошибки возникают уже из-за другого фактора — забывания смысла параметров настроек при редактировании человеком.
...{...
"some-key":"some-value", //какой-какой key?? Ай, комментарии - нельзя!
...}...
Придумаем JSON-подобный формат с комментариями в стиле JS, чтобы их можно было выполнять как JS, а, очистив от комментариев — читать как JSON. ("TL:DR: покажите мне код.")
Читать полностью »
GSON. Добавим ему немного строгости и решаем проблему переполнения памяти при обработки больших JSON файлов
2014-12-08 в 9:18, admin, рубрики: java, javascript, json, десериализация, интеграцияВероятно многие сталкивались с библиотекой GSON от Google, которая легко превращает JSON файлы в Java объекты и обратно.
Для тех, кто с ней не сталкивался, я подготовил краткое описание под спойлером. А так же описал решения на GSON двух проблем, с которыми реально сталкивался в своей работе (решения не обязательно оптимальные или лучшие, но, возможно, кому-то они могут пригодится):
1) Проверки что мы не потеряли ни одного поля из JSON'a файла, а также проверки того что все обязательные поля в Java классе были заполнены (делаем GSON более строгим);
2) Ручной парсинг с помощью GSON, когда приходится обрабатывать очень большой JSON файл, чтобы избежать ошибки out of memory.
Читать полностью »
SSL-сертификаты: всем, каждому, и пусть никто не уйдёт обиженным
2014-11-24 в 12:13, admin, рубрики: akamai, Cisco, DNS, EFF, HTTPS, IdenTrust, json, Michigan University, mozilla, TLS, информационная безопасность, криптография Как ранее сообщалось на GeekTimes, EFF при поддержке Mozilla, Cisco, Akamai, IdenTrust и исследователей из Мичиганского университета (University of Michigan) создали новый некоммерческий центр сертификации (Certificate Authority) Let's Encrypt [1]. Целью проекта является ускорение перехода всемирной паутины от HTTP к HTTPS.
Читать полностью »
Droidutils — набор решений, которые ускоряют разработку приложений под Android
2014-10-24 в 6:40, admin, рубрики: android, http, java.util.concurrent, json, mobile development, multithreading, Программирование, Разработка под android При разработке приложений я заметил, что каждый раз, когда мне приходилось сталкиваться с решением похожих задач (реализовывать работу с http, json, multithreading и т.п.), приходилось делать одну и туже роботу, причем на это уходило много времени. Поначалу это было не критично, но в больших проектах занимало слишком много времени. Чтобы сэкономить свое и ваше время, решил написать универсальное решение для этих задач, которым и хочу поделиться с сообществом.
Читать полностью »