Как импортировать фотографии из Facebook?

Подсказки о записи микро сравнительных тестов от создателей Java HotSpot:

Правило 0: читает уважаемую газету на JVMs и микросравнительном тестировании. Хороший - Brian Goetz, 2005. Не ожидайте слишком много от микросравнительных тестов; они измеряют только ограниченный диапазон рабочих характеристик JVM.

Правило 1: Всегда включают фазу прогрева, которая выполняет Ваше тестовое ядро полностью через, достаточно для инициирования всех инициализаций и компиляций прежде, чем синхронизировать фазу (фазы). (Меньше повторений в порядке на фазе прогрева. Эмпирическое правило является несколькими десятками тысяч повторений внутреннего цикла.)

Правило 2: Всегда выполняемый с -XX:+PrintCompilation, -verbose:gc, и т.д., таким образом, можно проверить, что компилятор и другие части JVM не делают неожиданной работы во время фазы синхронизации.

Правило 2.1: Печать обменивается сообщениями вначале и конец фаз синхронизации и прогрева, таким образом, можно проверить, что нет никакого вывода от Правила 2 во время фазы синхронизации.

Правило 3: знать о различии между -client и -server, и OSR и регулярные компиляции. -XX:+PrintCompilation флаг сообщает, что компиляции OSR со знаком at-sign обозначают неначальную точку входа, например: Trouble$1::run @ 2 (41 bytes). Предпочтите сервер клиенту, и регулярный к OSR, если Вы после лучшей производительности.

Правило 4: знать об эффектах инициализации. Не печатайте впервые во время Вашей фазы синхронизации, начиная с печати загрузок, и инициализирует классы. Не загружайте новые классы за пределами фазы прогрева (или фаза создания отчетов финала), если Вы не тестируете класс, загружающийся конкретно (и в этом случае загрузите только тестовые классы). Правило 2 является Вашим первым оборонительным рубежом против таких эффектов.

Правило 5: знать о deoptimization и эффектах перекомпиляции. Не берите путь выполнения кода впервые в фазе синхронизации, потому что компилятор может выбросить и перекомпилировать код, на основе более раннего оптимистического предположения, что путь не был используемым вообще. Правило 2 является Вашим первым оборонительным рубежом против таких эффектов.

Правило 6: Использование соответствующие инструменты, чтобы прочитать мысли компилятора и ожидать быть удивленным кодом это производит. Осмотрите код сами перед формирующимися теориями о том, что делает что-то быстрее или медленнее.

Правило 7: Уменьшают шум в Ваших измерениях. Выполните свой сравнительный тест на тихой машине и несколько раз выполняйте его, отбрасывая выбросы. Используйте -Xbatch, чтобы сериализировать компилятор с приложением и полагать, что установка -XX:CICompilerCount=1 препятствует тому, чтобы компилятор работал параллельно с собой. Старайтесь изо всех сил уменьшать GC наверху, устанавливать Xmx (достаточно большой), равняется Xms, и используйте UseEpsilonGC , если это доступно.

Правило 8: Пользуются библиотекой для Вашего сравнительного теста, поскольку это, вероятно, более эффективно и было уже отлажено для этой единственной цели. Такой как [1 114] JMH, Кронциркуль или счет и Превосходные Сравнительные тесты UCSD Paul для Java.

5
задан 19 August 2009 в 02:56
поделиться

2 ответа

Когда я это сделал они вошли в систему от моего имени (я ввел свой пользователь / пароль) и просматривали фотоальбомы с помощью ожидаемого HTML.

Были некоторые юридические вещи, которые я должен был «принять», и был уведомлен о том, что они будут делать с моими данными.

0
ответ дан 14 December 2019 в 19:20
поделиться

Конечно, вы можете получать фотографии от пользователей, которые добавили ваше приложение и согласились поделиться такой информацией. Сначала вы получаете альбомы с помощью вызова API photos_getAlbums, затем вы можете перебирать идентификаторы альбомов и вызывать photos_get для получения фотографий для альбомов.

  / **
 * get_albums ()
 *
 * @param long $ uid
 * @return массив
 * /
 функция get_albums ($ uid = null)
 {
 если (пусто ($ uid))
 $ uid = $ _REQUEST ['fb_sig_user'];
 пытаться
 {
 return $ facebook-> api_client-> photos_getAlbums ($ uid, null);
 }
 catch (FacebookRestClientException $ ex) 
{ вернуть массив (); } }

/ ** * get_photos () * * @param bool $ bool_pids * @param mixed $ aids (массив идентификаторов альбомов или ноль) * @return массив * / функция get_photos ($ bool_pids = true, $ aids = null, $ pids = null) { пытаться {
$ p = $ facebook-> api_client-> photos_get (null, $ aids, $ pids); } catch (FacebookRestClientException $ ex)
{ }

    if ($bool_pids)
    {
        $pids = array();
        if (!empty($p))
        foreach($p as $p0)
            $pids[] = $p0['pid'];
        return $pids;
    }
    else
        return $p;
}

1
ответ дан 14 December 2019 в 19:20
поделиться
Другие вопросы по тегам:

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