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

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

О создании API

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

Работаем с реляционными данными используя Backend-as-a-Service

Время на прочтение6 мин
Количество просмотров9.5K
Привет хабра-человеки,

Сегодня мы запустим JavaScript приложение, которое выписывает счет-фактуру прямо с сервера используя взаимодействие с АПИ BaaS платформы. Для разработки приложения потребовалось написать 0 строчек кода на стороне сервера, не смотря на то что приложение имеет удаленное (и полноценное) хранилище данных, возможность регистрации пользователя и поддержку логина. Исходный код доступен на гитхабе.



Под катом находятся подробности демонстрирующие простоту BaaS подхода в работе со сложными объектами используя Backendless.
Читаем дальше

Сервис Feedly запустил свой back-end для обработки подписок и отказался от плагина

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


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

Один из таких сервисов — Feedly, сегодня они, как и обещали, запустили свой back-end который полностью независим от Google Reader.
Читать дальше →

Разработка web API

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

Интро


Это краткий перевод основных тезисов из брошюры «Web API Design. Crafting Interfaces that Developers Love» Брайана Маллоя из компании Apigee Labs. Apigee занимается разработкой различных API-сервисов и консталтингом. Кстати, среди клиентов этой компании засветились такие гиганты, как Best Buy, Cisco, Dell и Ebay.

В тексте попадаются комментарии переводчика, они выделены курсивом.

Собираем API-интерфейсы, которые понравятся другим разработчикам


Понятные URL для вызовов API

Первый принцип хорошего REST-дизайна — делать вещи понятно и просто. Начинать стоит с основных URL адресов для ваших вызовов API.

Ваши адреса вызовов должны быть понятными даже без документации. Для этого возьмите себе за правило описывать любую сущность с помощью коротких и ясных базовых URL адресов, содержащих максимум 2 параметра. Вот отличный пример:
/dogs для работы со списком собак
/dogs/12345 для работы с отдельной собакой
Дальше

Feedly открыл API для сторонних RSS-приложений

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


Компания Feedly продолжает готовиться к массовому наплыву пользователей, который случится через 26 дней, когда прекратит работу Google Reader. Как и обещалось, разработан полноценный бэкенд для синхронизации фидов, максимально точная копия Google Reader API. Работа на проектом Normandy проделана в сотрудничестве с разработчиками приложений Reeder, Press, Nextgen Reader, Newsify и gReader. Теперь доступ к Feedly API предоставляется для всех этих приложений бесплатно!
Читать дальше →

OData контроллеры в .NET MVC

Время на прочтение10 мин
Количество просмотров40K
В недавно вышедшем ASP.NET and Web Tools 2012.2 Update заявлена частичная поддержка протокола oData в ASP.NET Web API. Решил сам попробовать, да и с коллегами поделиться. В статье опишу как использовать запросы и CRUD операции по протоколу oData с несколькими связанными объектами модели данных. В качестве front-end клиента использован Kendo UI framework.
Читать дальше →

Failsafe resource allocator over DHT

Время на прочтение6 мин
Количество просмотров2.4K
У нас есть некоторый диапазон чисел от 0 до N, надо написать две функции int alloc() и free(int). Первая выбирает один из свободных идентификаторов из диапазона [0, N), а вторая соответственно — «возвращает» его для повторного использования(полагаем, что число N достаточно мало, что бы идентификаторы могли закончится если их не возвращать, но больше чем число выделенных в каждый конкретный момент времени идентификаторов). При этом на «нижнем уровне» у нас есть только DHT. Нету блокировок, и, кроме того, от алгоритмов требуется отказоустойчивость — если какой-то из узлов кластера «сложится» во время выполнения алгоритма поведение системы должно быть предсказуемо. Если задача интересна, а также интересно узнать почему отказоустойчивый сервис с такой сигнатурой невозможно корректно использовать, и как надо исправить сигнатуру что бы это стало возможно — добро пожаловать под кат.

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

Админка за 10 минут

Время на прочтение4 мин
Количество просмотров145K
Здравствуйте, уважаемое Хабрасообщество!

Я занимаюсь разработкой веб-сайтов. Как правило, это решения под индивидуальные потребности заказчиков. Поэтому я не использую готовые CMS, а предпочитаю складывать кирпичики самостоятельно. Конечно и админскую часть приходиться писать самостоятельно, поскольку она должна выполнять те функции, которые нужны заказчику, но и ничего лишнего не должно быть. И если написать несколько методов для редактирования данных это пол беды, то приходилось ещё и верстать приятный и удобный интерфейс.

Долгое время я использовал Twitter Bootstrap, но он не мог удовлетворить все потребности. Приходилось верстать дополнительные кнопочки и писать скрипты. Но вот однажды, я познакомился с замечательным UI-фреймворком KendoUI от Telerik. Что из этого получилось под катом.

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

Как я перестал волноваться и стал отдавать метаданные 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 мин
Количество просмотров349K


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

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

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

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

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

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

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

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

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

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

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

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

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

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