<rmcreative>

RSS

Все заметки с тегом «mystuff»

  1. Обновление Rolling Curl

    13 сентября 2010

    Обновился rolling-curl — PHP-класс для параллельного выполнения большого количества асинхронных HTTP-запросов при помощи curl, который я начал поддерживать в мае 2010.

    Пример использования можно посмотреть в анонсе библиотеки. Сегодня я остановлюсь на изменениях, сделанных в основном LionsAd, за что ему огромное спасибо.

    • Исправлена ошибка, не позволяющая перезаписать значения из конфигурации CURL по умолчанию.
    • Теперь используется curl_multi_select, что должно убрать излишнюю нагрузку на процессор.
    • В параметры обработчика теперь передаётся $request, содержащий соответствующий объект запроса.
    • Класс Request переименован в RollingCurlRequest.
    • Добавлен функционал для работы с группами запросов. Смотрите RollingCurlGroup и README.
    • Теперь можно настроить таймаут для curl_multi_select.
    • single_curl теперь возвращает true.
    • Улучшенный README с дополнениями.

    Пробуем и обновляемся

    21 комментарий
  2. rolling-curl

    13 мая 2010

    rolling-curl — PHP-класс для параллельного выполнения большого количества асинхронных HTTP-запросов при помощи curl, написанная Josh Fraser и поддерживаемая на данный момент мной.

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

    Пример:

    // URL, которые будем обрабатывать
    $urls = array(
      "http://www.google.com",
      "http://www.facebook.com",
      "http://www.yahoo.com",
    );
     
    // функция для обработки ответа
    function request_callback($response, $info) {
      // получаем title страницы
      if (preg_match("~<title>(.*?)</title>~i", $response, $out)) {
        $title = $out[1];
      }
      echo "<b>$title</b><br />";
      print_r($info);
      echo "<hr>";
    }
     
    $rc = new RollingCurl("request_callback");
    // одновременно позволим не более 20 запросов
    $rc->window_size = 20;
    foreach ($urls as $url) {
        // добавляем запросы в очередь
        $request = new RollingCurlRequest($url);
        $rc->add($request);
    }
    // запускаем
    $rc->execute();

    Пользуемся

    47 комментариев
  3. Свежая сравнительная табличка по PHP IDE

    6 декабря 2009

    Обновил сравнительную табличку по PHP IDE:

    • Добавлена WebIDE.

    • Некоторые уточнения по NetBeans и Zend Studio.

    Рассматриваем

    23 комментария
  4. CKEditor autogrow 0.9.5

    12 ноября 2009

    Обновление плагина autogrow для визуального редактора HTML CKEditor.

    Плагин позволяет окну редактора автоматически подстраивать высоту под вводимый текст.

    • Теперь меняет размер при удалении текста, вставке кода и картинок (с картинками пока сделано очень некрасиво и может не всегда срабатывать).

    • В конфигурации можно задать максимальный и минимальный размер:

    CKEDITOR.config.minHeight = 200;
    CKEDITOR.config.maxHeight = 400;

    По умолчанию размер не ограничивается.

    • Корректно работает при уничтожении-создании экземпляра редактора с тем же именем.

    Демо

    Исходный код

    15 комментариев
  5. CKEditor autogrow

    9 ноября 2009

    В новой линейке WYSIWYG редактора FCKEditor, потерявшей букву «F» в названии из-за похожести на одно замечательное американское слово, отсутствуют многие возможности младшего брата. В том числе и плагин autogrow, позволяющий подстраивать высоту редактора под объём текста.

    На днях этот плагин пришлось написать, так что делюсь со всеми, кому он может пригодиться.

    Демо

    Исходный код

    Буду рад замечаниям и багрепортам.

    3 комментария
  6. Dwoo view renderer для Yii

    13 октября 2009

    Позволяет использовать шаблоны ещё одной альтернативы шаблонизатора Smarty — Dwoo в PHP-фреймворке Yii.

    Пользуемся

    Комментировать
  7. Smarty view renderer для Yii

    11 октября 2009

    Ну и чтобы не обижать вполне живого старичка Smarty, написал рендерер для Yii и под него.

    Пользуемся

    Инструкция:

    'viewRenderer'=>array(
      'class'=>'application.extensions.Smarty.CSmartyViewRenderer',
      'fileExtension' => '.tpl',
      //'pluginsDir' => 'application.smartyPlugins',
      //'configDir' => 'application.smartyConfig',
    ),

    Свойства текущего контроллера доступны как {this->pageTitle}.

    11 комментариев
  8. Quicky view renderer для Yii

    11 октября 2009

    Ещё одно расширение на ту же тему. Позволяет использовать шаблоны Quicky в Yii.

    Пользуемся

    Комментировать
  9. Drupal Views Attach

    13 марта 2009

    В процессе разработки проекта на Drupal встала задача вывести все ноды, ссылающиеся на данную при помощи node reference. Нашёлся замечательный модуль Views Attach, позволяющий прицепить к определённому типу View и передать ему id текущей ноды параметром. Модуль подошёл идеально.

    Не так давно понадобилось почти то же, но чуть сложнее: прицепить к определённому типу View, выводящий ноды заданного типа содержащие определённый термин таксономии. Пробежавшись по существующим модулям нужного не нашлось, но вспомнился Views Attach. А так как параметры View хорошо-бы было сделать полностью настраиваемыми — решил интегрировать данный модуль с Token, что сегодня и осуществил.

    В итоге при помощи данного решения можно, например:

    1. Отобразить при просмотре ноды 10 нод с сходными терминами таксономии.

    2. Отобразить 10 нод заданного полем cck типа.

    3. Отобразить отмеченные флагом ноды, ссылающиеся на данную.

    Забрать патч можно в трэкере проекта.

    Комментировать
  10. netbackup

    19 февраля 2009

    Набор bat-файлов. Позволяет сохранять и восстанавливать конфигурацию сети Windows.

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

    Как пользоваться

    Для того, чтобы сохранить настройки для текущей сетевой конфигурации:

    save <название_конфигурации>
    

    Для восстановления конфигурации:

    restore <название_конфигурации>
    

    Пользуемся

    Проверено только на Windows XP.

    4 комментария