Как протестировать программный интерфейс Твиттера локально?

Короткий список мог бы быть:

  • Избегают, чтобы утечки памяти посредством использования совместно использовали указатели для управления выделением памяти и очисткой
  • Использование , Приобретение Ресурса Является Инициализацией идиома (RAII) для управления очисткой ресурса - особенно в присутствии исключений
  • Старается не вызывать виртуальные функции в конструкторах
  • , Используют минималистские методы кодирования, где возможный - например, объявляя переменные только при необходимости, определяя объем переменных, и рано разрабатывают, если это возможно.
  • Действительно понимают обработку исключений в Вашем коде - оба относительно исключений, которые Вы выдаете, а также, брошенные классами, которые можно использовать косвенно. Это особенно важно в присутствии шаблонов.

RAII, совместно использованные указатели и минималистское кодирование, конечно, не характерны для C++, но они помогают избежать проблем, которые действительно часто неожиданно возникают при разработке на языке.

Некоторые превосходные книги по этому предмету:

  • Эффективный C++ - Scott Meyers
  • Более эффективный C++ - Scott Meyers
  • Стандарты Кодирования C++ - Sutter & часто задаваемые вопросы Alexandrescu
  • C++ - Градиент признаков

Чтение этих книг помогло мне больше, чем что-либо еще избежать вида ловушек, о которых Вы спрашиваете.

18
задан Gottlieb Notschnabel 22 December 2015 в 00:58
поделиться

4 ответа

Have you tried creating your own caching mechanism? You can take the result of an initial query, cache it on thread local, and given an expiration time, refresh from Twitter. This would allow you to test your app against Twitter data without incurring call penalties.

1
ответ дан 30 November 2019 в 08:38
поделиться

1.) Не используйте localhost. Это бесполезно. Почему бы не установить другой экземпляр сервера или не получить тестовый vm-срез от slicehost?

2.) Вам, вероятно, понадобится связка разных учетных записей пользователей и пара разных ключей / секретных данных OAuth для тестирования.

Однако вы были на правильном пути: НЕОБХОДИМО протестировать отзыв учетных данных приложения с помощью настроек подключений вашего аккаунта Twitter . Это должно произойти изящно. Вы можете захотеть сохранить значение статуса вместе с информацией о токене доступа, чтобы вы могли пометить токены как отозванные.

-4
ответ дан 30 November 2019 в 08:38
поделиться

« Ограничение скорости »Twitter для вызовов API GET основано на IP-адресе звонящий. Таким образом, вы можете протестировать свое приложение со своего сервера, используя тот же IP-адрес, и получать (после утверждения) 15 000 вызовов API в час. Это означает, что вы можете использовать в своем приложении множество разных имен пользователей, пока ваш одобренный IP-адрес остается неизменным.

Когда вы отправляете электронное письмо в Twitter с просьбой об увеличении вашего лимита скорости, вы также можете попросить об увеличении применить и к вашему имени пользователя Twitter.

Я считаю, что Twitter требует от вас - если вам нужно измените свой IP-адрес или измените имя пользователя, которое использует приложение, чтобы отправить другой запрос с просьбой увеличить лимит скорости для этого нового IP-адреса или имени пользователя. Но, по моему опыту, Twitter довольно быстро обработал эти запросы (может быть, менее 48 часов?).

3
ответ дан 30 November 2019 в 08:38
поделиться
  1. Вы можете использовать 127.0.0.1 вместо localhost.

  2. Вы можете авторизовать ваше приложение столько раз, сколько вам нравится, с одного и того же аккаунта Twitter без необходимости его отзыва. Однако, действие аутентифицировать будет запрашивать разрешение/отклонение только один раз, и все последующие запросы аутентифицировать будут просто проходить до тех пор, пока вы не отозовете эту привилегию.

21
ответ дан 30 November 2019 в 08:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: