Pull to refresh

Знакомство с графовыми API

Reading time7 min
Views12K
Привет, Хабр! Мы не перестаем отслеживать тему проектирования API после того, как встретили в портфеле издательства «Manning» вот эту книгу. Сегодня мы решили опубликовать обзорную статью об относительно новых Graph API и предлагаем еще раз задуматься о том, каковы будут новые API после безраздельной популярности REST.

Приятного чтения!
Читать дальше →
Total votes 29: ↑25 and ↓4+21
Comments10

Twitter и Facebook тихо убрали RSS, полностью

Reading time3 min
Views10K
В прошлом году я рассуждал, как Twitter становится всё более закрытым и менее ориентированным на веб-стандарты сервисом, когда они обновили дизайн, чтобы привлечь больше пользователей на сайт Twitter.com. Тогда они прибрали заметную RSS-иконку и сделали так, что увидеть RSS-фид можно было только полностью разлогинившись и зайдя в профиль определённого пользователя.

После прочтения моего поста, Исаак Хепворт (Isaac Hepworth), разработчик из компании Twitter, попытался успокоить меня, ответив на сообщение через Buzz:
Читать дальше →
Total votes 112: ↑96 and ↓16+80
Comments104

GraphQL — новый взгляд на API. Ч.1

Reading time4 min
Views43K
Всем привет, хочу поделиться накопленными знаниями по GraphQL, которые сформировались на основе около сотни прочитанных статей/доков и месяца построения API используя GraphQL.

Ну что ж, начнем с того, что такое GraphQL?


GraphQL — это стандарт декларирования структуры данных и способов получения данных, который выступает дополнительным слоем между клиентом и сервером.

Одной из основных фичей GraphQL является то, что структура и обьем данных определяется клиентским приложением.

Рассмотрим пример простого запроса пользователя.



Клиент точно указывает, какие данные он хочет получить, используя декларативную, графо-подобную структуру, которая очень напоминает формат JSON.
Читать дальше →
Total votes 31: ↑24 and ↓7+17
Comments90

Как написать UI-тесты с использованием Instagram-аккаунтов и не получить блок

Reading time3 min
Views6.1K
Привет, Хабр. Довольно часто при покрытии различных сервисов автотестами (selenium или appium) нам приходится использовать аккаунты других социальных сетей. Это может понадобиться, например, если мы тестируем регистрацию на нашем сервисе через эту социальную сеть, или авторизацию, шаринг, лайки и так далее.

И, конечно, довольно часто социальные сети банят наших тестовых пользователей, потому что считают их вовсе не тестовыми, а «подозрительными». В данной статье я расскажу, как бороться с банами Instagram и почему приходится это делать.


Читать дальше →
Total votes 16: ↑11 and ↓5+6
Comments17

Чего ждать от f8?

Reading time2 min
Views4.1K
F8 – главное событие года для Facebook. На эту конференцию съезжаются разработчики приложений, интернет-предприниматели, журналисты и партнеры Facebook со всего мира, потому что именно здесь компания рассказывает о тех изменениях, которые будут определять дальнейшее развитие самой социальной сети и то, как она будет работать с другими сайтами, приложениями и сервисами.

Название f8 происходит от 8-часового программерского марафона, которым она традиционно заканчивается.

Конференцию открывает выступление Марка Цукерберга, в котором обозначаются основные темы конференции и новинки, которые Facebook собирается показать. Дальше работа идет в рамках нескольких тематических потоков.

Вот несколько примеров того, какие объявления Facebook делает на f8:
Читать дальше →
Total votes 23: ↑14 and ↓9+5
Comments9

Что стоит за «новыми кнопками» Facebook?

Reading time2 min
Views9.1K
Этот текст специально для блога f8 на Хабре написал Александр Москалюк, один из старейших разработчиков в Facebook:

Сегодня уже с трудом верится, что кнопка «Мне нравится» была представлена на конференции F8 всего полтора года назад. Инструмент набрал популярность среди владельцев сайтов и породил целую серию производных продуктов, которые позволяют веб-мастерам персонализировать свои страницы для посетителей сайта.

Но редко когда глагол «нравится» опишет весь спектр базовых действий, которые пользователь может совершить на сайте. Скажем, в контексте онлайн-магазина отметка «Мне нравится», засвеченная в ленте новостей, несет относительно низкую информационную ценность. «Хочется» – сигнал уже более интересный, особенно если параллельно на странице есть напоминание о предстоящем дне рождения. «Купил» – это, пожалуй, самая сильная рекомендация, которая в социальном контексте привлечет наибольший интерес.

Сегодня такие сообщения в ленту новостей разработчики публикуют через соответствующий метод Graph API. С точки зрения разработчиков цель достигнута – друзья пользователя узнали об его покупке, достижении нового уровня в игре, желании посмотреть какой-то фильм и т.д. С точки зрения Facebook подобная новость не очень полезна, так как мы можем предоставить только базовую контекстную информацию. В идеале новость о прочитанной книге от сайта для книголюбов могла бы содержать информацию о том, кто еще прочитал эту книгу, какая книга пользуется популярностью среди друзей, сколько книг пользователь прочитал за последние несколько месяцев.
В этом году Facebook расширяет словарный запас для действий пользователя. Теперь новости в ленту пользователя можно публиковать в формате, более подробном, чем кусок HTML.
Читать дальше →
Total votes 39: ↑33 and ↓6+27
Comments17

Пять способов ускорить запросы API Facebook на практике

Reading time7 min
Views14K
Ни для кого не секрет, что самым узким местом веб-приложений чаще всего являются HTTP-запросы к внешним серверам. Так, время загрузки данных запроса API много больше чем время, необходимое для выполнения большинства самых сложных скриптов веб-приложения.

За время работы с API Facebook я накопил несколько рецептов оптимизации запросов: как увеличить скорость работы скриптов, уменьшить их количество и ресурсоёмкость.



Способы, изложенные в этой статье, работают только с API Facebook. Но я не исключаю, что они могут быть применимы и в других сервисах, предоставляющих API.
Читать дальше →
Total votes 84: ↑81 and ↓3+78
Comments27

Новые 5 способов ускорить запросы API Facebook

Reading time4 min
Views19K
Прошлой осенью я публиковал на Хабре пост Пять способов ускорить запросы API Facebook на практике, который оказался неплохим сборником рецептов. За это время Facebook API сильно изменился, став еще лучше. Теперь я редко встречаю задачи, с которыми я бы не смог справиться за один HTTP запрос к API. А все благодаря новым возможностям, о которых я и расскажу сейчас.

image

Вот какие способы были в прошлый раз:
  1. Запрашиваем только необходимые поля
    me?fields=id,name,birthday
  2. Запрашиваем данные нескольких объектов в одном запросе
    ?ids=4,501012028
  3. Используем фильтрацию и пагинацию
    me/friends?limit=10&offset=10
  4. Используем запросы FQL
    fql?q=SELECT uid, name, birthday_date FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
  5. Отправляем Batch Request с несколькими запросами
    batch=[{«method»:«GET», «relative_url»:«me»},{«method»:«GET», «relative_url»:«me/friends?limit=50»}]

Читать дальше →
Total votes 64: ↑60 and ↓4+56
Comments13

Отчёт с прошедшего Facebook Developers World Hack Day Moscow

Reading time8 min
Views13K


В начале сентября мне на e-mail пришло приглашение-рассылка для участия в хакатоне Facebook Developers Hack Day Moscow. Успев зарегистрироваться, я попал в список участников и начал готовиться. Это рассказ о том, как проходило мероприятие, кто в нём участвовал, что представляли и т.д. Сразу оговорюсь, что я впервые участвовал в подобном мероприятии, так что мне всё было «в диковинку».

Под катом много фотографий, описания представленных «хаков» (проекты, сделанные участниками за время хакатона), ссылки на исходные коды и видео презентаций проектов.
Читать дальше →
Total votes 30: ↑26 and ↓4+22
Comments22

Как мы тестируем взаимодействие с Facebook

Reading time7 min
Views16K


Вступление

Привет, хаброжитель! Уже довольно давно я хотел написать статью о том, как у нас в Badoo устроена автоматизация тестирования. Хотелось написать о чем-то интересном и, в то же время, полезном. Поделиться опытом, который можно было бы легко интегрировать почти в любую систему. И вот, такая тема назрела…

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

Для верификации пользователей у нас существует много различных способов. Некоторые из них довольно привычные, такие, как верификация по номеру телефона. Есть и более необычный — верификация по фотографии. Но самая простая и быстрая — верификация через социальные сети.

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

Сегодня я расскажу о том, как на Badoo устроена регистрация и верификация через Facebook и о том, как мы научили selenium-тесты ее проверять.

Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments22