Короткий список мог бы быть:
RAII, совместно использованные указатели и минималистское кодирование, конечно, не характерны для C++, но они помогают избежать проблем, которые действительно часто неожиданно возникают при разработке на языке.
Некоторые превосходные книги по этому предмету:
Чтение этих книг помогло мне больше, чем что-либо еще избежать вида ловушек, о которых Вы спрашиваете.
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.) Не используйте localhost. Это бесполезно. Почему бы не установить другой экземпляр сервера или не получить тестовый vm-срез от slicehost?
2.) Вам, вероятно, понадобится связка разных учетных записей пользователей и пара разных ключей / секретных данных OAuth для тестирования.
Однако вы были на правильном пути: НЕОБХОДИМО протестировать отзыв учетных данных приложения с помощью настроек подключений вашего аккаунта Twitter . Это должно произойти изящно. Вы можете захотеть сохранить значение статуса вместе с информацией о токене доступа, чтобы вы могли пометить токены как отозванные.
« Ограничение скорости »Twitter для вызовов API GET основано на IP-адресе звонящий. Таким образом, вы можете протестировать свое приложение со своего сервера, используя тот же IP-адрес, и получать (после утверждения) 15 000 вызовов API в час. Это означает, что вы можете использовать в своем приложении множество разных имен пользователей, пока ваш одобренный IP-адрес остается неизменным.
Когда вы отправляете электронное письмо в Twitter с просьбой об увеличении вашего лимита скорости, вы также можете попросить об увеличении применить и к вашему имени пользователя Twitter.
Я считаю, что Twitter требует от вас - если вам нужно измените свой IP-адрес или измените имя пользователя, которое использует приложение, чтобы отправить другой запрос с просьбой увеличить лимит скорости для этого нового IP-адреса или имени пользователя. Но, по моему опыту, Twitter довольно быстро обработал эти запросы (может быть, менее 48 часов?).
Вы можете использовать 127.0.0.1
вместо localhost
.
Вы можете авторизовать ваше приложение столько раз, сколько вам нравится, с одного и того же аккаунта Twitter без необходимости его отзыва. Однако, действие аутентифицировать будет запрашивать разрешение/отклонение только один раз, и все последующие запросы аутентифицировать будут просто проходить до тех пор, пока вы не отозовете эту привилегию.