Знакомство с Codeception. Acceptance test.

Написана 24 Января, 2012 в 23:05. Автор: borN_free   |   Теги: php, codeception, test Комментарии 4

codeceptionДавайте познакомимся со отличным тулом для тестирования - Codeception, который позволяет нам делать acceptance, functional, unit тесты. Базируется он на PHPUnit, mink.

После статьи на habrahabr я сразу заинтересовался идеей, и особенно Acceptance тестом. Его и рассмотрим. Читать полностью →

Удаление ненужных символов из строки.

Написана 17 Января, 2012 в 20:33. Автор: borN_free   |   Теги: utf-8, ASCII, regexp Комментарии 1

Разберем, как избавиться от ненужных символов в строке. Heading/RegExp Часто бывают ситуации, когда необходимо распарсить некоторый контент, и полученные куски текста сложить в базу данных. При этом источники могу быть абсолютно разными - сторонний сайт, xml/excel документ или нечто другое. При этом часто с такими данными приходят ненужные нам символы, например: äó. Более детально вы можете познакомиться с символами на этом сайте, где можно их копировать.

Давайте же посмотри, как можно оставить в строке только то, что нам нужно. Читать полностью →

Windows 7. Проблема установки PEAR

Написана 13 Января, 2012 в 22:46. Автор: borN_free   |   Теги: pear, php, windows Комментарии 3

Опишу решение возможной проблемы при установке PEAR на ОС Windows 7.

Heading/Alt Text Когда я столкнулся с проблемой, пришлось потратить несколько часов на поиск решения, поэтому надеюсь статья поможет кому-нибудь и будет шпаргалкой на будущее для меня, если вдруг ситуация повторится.

Читать полностью →

Оптимизация Javascript-кода

Написана 3 Января, 2009 в 3:09. Автор: borN_free   |   Теги: javascript, оптимизация Комментарии 1

Доброе время суток, дорогие читатели.

Heading/Alt Text Первый пост я хочу сразу же начать с темы, касающейся вплотную программирования - оптимизации javascript-кода.

На практике я столкнулся с весьма неприятной ситуацией, когда надо было обрабатывать порядка 5000 элементов checkbox, выставляя им массово параметр checked. Все бы хорошо, если бы не наш любимый браузер IE, которые выполнял это действие порядка тридцати секунд, и естественно вся страница зависала на это время.

Я приведу для начала полный код функции, а потом разберем детально что происходит:

function doSelect () {
    var step = 150;
    var is_checked = $('#selector').attr('checked');
    var check = document.getElementsByName('product_selected{$append}[]');
    var from = 0;
    (function () {
        if ((from + step) > check.length) {
            loop_to = check.length;
        } else {
            loop_to = from + step;
        }
        for (var i = from; i < loop_to; i++) {
            check[i].checked = is_checked;
        }
        from += step;
        if (from <= check.length) {
            setTimeout(arguments.callee, 0);
        }
    })();
}

Читать полностью →