<rmcreative>

RSS
  1. CSS1K

    29 июня 2011

    С сегодняшними мощностями и каналами всё больше разработчиков не обращают внимания на размер JavaScript и CSS. Не так давно прошёл третий JS1K, призванный показать, что в один килобайт можно при желании вместить очень многое. Jacob Rask запустил похожий проект, но про CSS: CSS1K. Смысл — уложиться в один килобайт и превратить стандартную разметку в нечто красивое или необычное.

    11 комментариев
  2. Paper.js

    28 июня 2011

    Интересная библиотека для работы с canvas. Отличается наличием объектной модели и приятным простым API. Например, прямоугольник можно построить так:

    var topLeft = new Point(10, 20);
    var rectSize = new Size(200, 100);
    var rect = new Rectangle(topLeft, rectSize);

    Пробуем

    Пользуясь случаем вспомнил давнее увлечение и набросал абстрактную штуковину.

    2 комментария
  3. Yiiclipse, поддержка Yii для Eclipse PDT

    27 июня 2011

    В лагере IDE, умеющих работать с Yii прибыло. Конечно, с фреймворком и так довольно приятно работать во всех IDE с нормальной поддержкой PHP, но некоторые специфичные вещи всё-таки бывают очень полезными.

    Yiiclipse добавляет две возможности к стандартным для PDT: wizard для создания проекта и, что самое главное, навигацию по вызовам view и layout.

    Пользуемся

    10 комментариев
  4. Yii 1.1.8

    27 июня 2011

    Вышел релиз Yii 1.1.8, включающий более 80 багфиксов, новых возможностей и улучшений. Огромное спасибо тем, кто репортил баги, предлагал новые фичи и использовал по назначению Orphus на yiiframework.ru.

    Забрать свежий дистрибутив можно с официального сайта.

    Инструкции по обновлению можно почитать в UPGRADE.

    Полный список изменений, как обычно, можно прочитать в CHANGELOG, мы же бегло рассмотрим самое интересное.

    Читаем

    9 комментариев
  5. YiiCookbook.​org

    25 июня 2011

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

    Как вам?

    10 комментариев
  6. Sprite Cow

    25 июня 2011

    Отличный инструмент, позволяющий легко работать с изображениями-спрайтами. Загружаем картинку, щёлкаем на область, получаем CSS со смещением, высотой и шириной.

    Очень удобно, меня даже затянуло и я загнал все изображения этого блога в пару спрайтов. Единственный минус — не работает в Opera.

    Пользуемся

    3 комментария
  7. Несколько SQL-запросов за один раз через PDO

    24 июня 2011

    Понадобилось исполнить несколько не однотипных запросов за один раз. Также, как это делает mysqli::multi_query, но через PDO. Сделать это, оказалось, вполне реально, но и без интересностей не обошлось.

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

    Оказалось, что PDO_MYSQLND с релизом PHP 5.3 заменил PDO_MYSQL, который такие вещи не поддерживал. Причём заменил под тем же именем PDO_MYSQL.

    Итого, для выполнения нескольких запросов за один раз понадобится:

    • PHP 5.3+
    • mysqlnd
    • Эмуляция prepared statement через PDO::ATTR_EMULATE_PREPARES, выставленный в 1 (по умолчанию) или, как альтернатива, не использование prepared statements и выполнение запроса напрямую через $pdo->exec.

    Используем exec

    $db = new PDO("mysql:host=localhost;dbname=test", 'root', '');
     
    // работает как для реальных statement-ов, так и для эмуляции
    $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 0);
     
    $sql = "DELETE FROM car; INSERT INTO car(name, type) VALUES ('car1', 'coupe'); INSERT INTO car(name, type) VALUES ('car2', 'coupe');";
     
    try {
        $db->exec($sql);
    }
    catch(PDOException $e)
    {
        echo $e->getMessage();
        die();
    }

    Используем statement-ы

    $db = new PDO("mysql:host=localhost;dbname=test", 'root', '');
     
    // Не будет работать с реальными statement-ами. Только с эмуляцией.
    // Строку ниже можно закомментировать, это умолчание
    $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 1);
     
    $sql = "DELETE FROM car; INSERT INTO car(name, type) VALUES ('car1', 'coupe'); INSERT INTO car(name, type) VALUES ('car2', 'coupe');";
     
    try {
        $stmt = $db->prepare($sql);
        $stmt->execute();
    }
    catch(PDOException $e)
    {
        echo $e->getMessage();
        die();
    }
    12 комментариев
  8. Book of speed

    17 июня 2011

    Англоязычная онлайн-книга по клиентской оптимизации за авторством Stoyan Stefanov, подарившего нам YSlow и smush.it.

    Готовы пять глав из девяти:

    1. The Performance Business Case
    2. The Life of Page 2.0
    3. Fewer Page Components
    4. Smaller Components
    5. Optimizing Images
    6. Parallel downloads
    7. Optimizing JavaScript and Ajax
    8. Optimizing CSS
    9. Psychology of performance
    3 комментария
  9. Порядок регистрации автозагрузчиков классов в Yii

    14 июня 2011

    Вплоть до версии 1.1.7 можно было регистрировать автозагрузчики классов только в одном порядке. Перед родным автозагрузчиком:

    Kohana
    Zend Framework
    Yii
    

    В итоге при загрузке родных классов срабатывал сначала автозагрузчик Kohana, затем Zend Framework и только потом родной. И происходило это для каждого класса. С версии 1.1.8 этого можно избежать, поставив сторонние загрузчики после Yii:

    Yii
    Zend Framework
    Kohana
    

    Достаточно добавить всего один параметр:

    Yii::app()->registerAutoloader(array('EZendAutoloader', 'load'), true);
    Yii::app()->registerAutoloader(array('EKohanaAutoloader', 'load'), true);

    Реализация:

    10 комментариев
  10. Интерактивный учебник Ильи Кантора по JavaScript (alpha)

    8 июня 2011

    Илья Кантор, скорее всего известный вам как создатель javascript.ru, выложил предварительную версию интерактивного учебника по JavaScript на английском языке. После завершения работы над английской версией, будет перевод на русский.

    Главные критерии, по которым данный труд создавался:

    • Правильный — если вы видели учебники и статьи по JavaScript, то понимаете, о чем это.
    • Современный — с учётом HTML5, IE9 и FF4. Основное внимание на «сейчас», но при этом «с прицелом на будущее».
    • Задачи! Да, в учебнике должны быть задачи, а не только текст. Единственный способ освоить — это сделать. Иначе говоря, учебник должен быть и самоучителем.

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

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