<rmcreative>

RSS
  1. Сайт для сборника рецептов по Yii

    26 декабря 2012

    Yii. Сборник рецептов

    Сделал русскую версию сайта для книги «Yii. Сборник рецептов». На нём подробно рассказывается о её содержимом, формате и прочем. Также можно скачать вступление и начало первой главы.

    Знакомьтесь

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

    31 комментарий
  2. MySQL, REPLACE INTO и ON DUPLICATE KEY UPDATE

    23 декабря 2012

    В MySQL есть два расширения, которые позволяют атомарно вставить или обновить запись. Годятся они для штук с довольно высокой нагрузкой, когда без блокировок не работает типичный сценарий:

    1. Выбрать запись.
    2. Если выбралась — обновить.
    3. Если пусто — вставить.

    REPLACE

    REPLACE INTO
      vote
    SET
      user_id = 13,
      object_id = 42,
      value = 7

    INSERT INTO ON DUPLICATE KEY UPDATE

    INSERT INTO
      vote
    SET
      user_id = 13,
      object_id = 42,
      value = 7
    ON DUPLICATE KEY UPDATE
      value = 7

    Сходства

    И то и то выражение в итоге даст примерно тот же результат. При нарушении ограничения на уникальность (то есть UNIQUE KEY или PRIMARY KEY) не будет никакой ошибки. Для ключа user_id, object_id в базе будет единственная запись с значением 7.

    Отличия

    Кроме очевидного отличия в синтаксисе есть и очень важно отличие в том, как всё это работает. REPLACE при срабатывании ограничения удаляет запись (и вызывает ON DELETE CASCADE) и затем вставляет новую, что не так быстро, как ON DUPLICATE KEY UPDATE, который обновляет запись без удаления.

    12 комментариев
  3. Лишний border у треугольников в Firefox

    20 декабря 2012

    Часто для того, чтобы изобразить треугольник на CSS использют технику slants. То есть элемент в 0px шириной и высотой c тремя border приличной ширины и одним нулевым. В этом блоге так оформлены уголочки у количества комментариев к постам на главной. Типичный код для этого выглядит так:

    .triangle {
        width: 0;
        height: 0;
     
        border-top: 0;
        border-bottom: 60px solid #fee;
        border-left: 40px solid transparent;
        border-right: 40px solid transparent;
    }

    FF и раньше чудил с отрисовкой треугольничков. Ту багу поправили, появилась новая:

    Firefox CSS slant bug

    Серый border в один пиксель тут явно лишний. Ни в одном другом браузере его нет.

    Методом проб и ошибок поправил, но логики за всем этим так и не разглядел. Рабочий вариант без артефактов:

    .triangle {
        width: 0;
        height: 0;
     
        border-top: 0;
        border-bottom: 60px solid #fee;
        border-left: 40px solid rgba(255, 255, 255, 0);
        border-right: 40px solid rgba(255, 255, 255, 0);
    }

    Посмотреть вживую

    UPD: вместо rgba можно использовать -moz-border-top-colors: transparent;.

    Проявляется только в Windows и Linux.

    Баги в трекере mozilla:

    UPD: в 2016 это исправили.

    12 комментариев
  4. Про букву ё

    12 декабря 2012

    На днях закончил чтение предпечатной версии моей «книги рецептов». Оказывается, у редакторов принято заменять «ё» на «е». К сожалению, если делать это через find-replace, иногда получается очень плохо. В моём случае «всё» превратилось во «все». Это ещё не так страшно, хотя и раздражает при чтении. Бывает хуже, например «Москва передохнет от дождей».

    Я пишу «ё» как минимум в следующих случаях:

    1. Когда необходимо предупредить неверное чтение и понимание слова (всё, узнаём, совершённый).
    2. Когда необходимо указать произношение слова (осуждённый, новорождённый).
    3. В именах собственных.
    25 комментариев
  5. Imperavi Redactor, куплена OEM-лицензия для Yii

    11 декабря 2012

    Буквально на днях на форуме yiiframework.ru стартовал сбор средств на покупку OEM-лицензии для проектов на Yii неплохого WYSIWYG Imperavi Redactor.

    Я выступал в роли фонда. 400$ собрали всего за четыре дня, что очень удивило и обрадовало. В ту же ночь подпилили расширение в YiiExt и выкатили всё на публику.

    Теперь, если пользуетесь Yii, можете пользоваться бесплатно и Redactor.

    62 комментария
  6. SMS-вымогатель в виде набора плагинов для браузеров

    10 декабря 2012

    Наткнулся на SMS-вымогательство новым для меня способом. Проанализировал, описал на хабре.

    Будьте бдительны.

    Читаем

    2 комментария
  7. Yii 1.1.13 RC готов

    3 декабря 2012

    Выпущен предварительный релиз Yii версии 1.1.13. Забрать, как обычно, можно со страницы загрузки фреймворка:

    www.yiiframework.com/download/

    В этот раз проделана огромная работа: более 120 улучшений и исправлений. Огромное спасибо всем, кто принимает акивное участие в разработке на github: resurtm, SonkoDmitry, klimov-paul, creocoder, DaSourcerer и многим другим.

    Так как это не финальный релиз, а предварительный, не стоит использовать его на боевых серверах. Стабильный релиз выйдет ориентировочно в течение нескольких недель, после исправления всех найденных ошибок, а пока мы будем очень признательны, если вы проверите, хотя-бы локально, свои проекты с предварительным релизом и сообщите нам об ошибках. Заранее спасибо!

    Также спасибо за ваши сообщения об ошибках в документации на yiiframework.ru через Orphus. Наконец, настроено автоматическое обновление всей документации прямиком из репозитория, так что на этом сайте она будет всегда самая свежая.

    9 комментариев
  8. Не HelloWorld на современных фреймворках

    30 ноября 2012

    Не думал, что у кого-то хватит на это терпения. Хватило. Jeff hush2 реализовал одно и то же приложение «Knowledge is Power» из книги Larry Ullman «Effortless E-commerce with PHP and MySQL» на CodeIgniter, Laravel, Yii и Zend Framework первой и второй версии.

    CodeIgniter Демо Исходный код
    Laravel Демо Исходный код
    Yii Демо Исходный код
    Zend Framework 1 Демо Исходный код
    Zend Framework 2 Демо Исходный код
    28 комментариев
  9. yUML

    30 ноября 2012

    Прекрасный API для создания и вставки UML-диаграмм. Работает так же, как графики Google. На вход URL подаётся:

    [Post]1-0..*[Tag]
    [Post]1-0..*[Comment]
    [User]1-0..*[Post]
    [User]1-0..*[Comment]
    

    в виде URL выглядит так:

    http://yuml.me/diagram/scruffy;/class/%5BPost%5D1-0..*%5BTag%5D,%20%5BPost%5D1-0..*%5BComment%5D,%20%5BUser%5D1-0..*%5BPost%5D,%20%5BUser%5D1-0..*%5BComment%5D.png
    

    Ну и на выходе получаем красивую картинку:

    Пользуемся

    7 комментариев
  10. PhpStorm 6 EAP

    28 ноября 2012

    На днях вышел второй EAP-билд PhpStorm 6 и, так как поговаривают, что он стабилен, я решил попробовать. Забрать, как обычно, можно из wiki EAP.

    Читаем

    14 комментариев