<rmcreative>

RSS
  1. Yii: универсальный scope для отношений

    19 апреля 2011

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

    public function published($val = true)
    {
        $val = (int)$val;
        $owner=$this->getOwner();
        $criteria=$owner->getDbCriteria();
        $alias=$owner->getTableAlias();
     
        $criteria->mergeWith(array(
            'condition'=>$alias.'.published='.$val,
        ));
     
        return $owner;
    }

    getTableAlias даёт нам t, если используется сама модели и имя таблицы, если scope используется в отношении.

    17 комментариев
  2. Ограничение на запись в memcache

    19 апреля 2011

    У memcache есть ограничение, которое редко принимают во внимание до самого неподходящего момента.

    Итак, максимальный объем значения равен одному мегабайту.

    Кстати, причины этого описаны в FAQ.

    1 комментарий
  3. Сообщения об ошибках и хороший код

    17 апреля 2011

    Как ни странно, очень многие разработчики пренебрегают более строгими режимами работы тех же PHP и MySQL. Странно это, прежде всего, потому, что включение таких режимов позволяет получать больше информации о потенциальных ошибках в коде и, соответственно писать код лучше.

    В PHP самый строгий уровень ошибок можно получить записав в php.ini:

    error_reporting  =  -1
    

    Это позволяет выявить такие слабые места, как, например, использование переменных без их объявления. Да и банальные описки выявляются сразу, а не после пары часов жёсткого дебага.

    В MySQL тоже есть строгий режим, который не позволяет, например, вставить строку длиной в 200 символов в поле varchar(20). В «умолчательном» режиме MySQL молча вставит первые 20 символов, выкинув остальные. В строгом — получим соответствующую ошибку. Включается этот режим через my.cnf:

    [mysqld]
    sql-mode = "STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE"
    

    Все значения sql-mode можно подсмотреть в официальной документации.

    22 комментария
  4. IE9, Windows Update и IE10

    17 апреля 2011

    Сегодня заметил в Windows Update «Windows Internet Explorer 9 for Windows 7 for x64-based Systems». Тип обновления «Important», что не может не радовать — более приятная, по сравнению с предыдущими версиями, 9-ка поползёт вверх довольно стремительно, вытесняя все предыдущие версии.

    А тем временем, здоровая конкуренция творит чудеса. Microsoft показала участникам MIX11, а заодно и всему остальному миру, технологическое превью IE10, которое поддерживает CSS3 Flexbox, гриды, Multi-column Layout-ы и градиенты. Всё это, как положено, реализовано через префикс -ms-. Забрать и поиграться эту штуку можно со специальной страницы Internet Explorer Test Drive. Там же можно посмотреть различные демо-страницы.

    Кстати, судя по слухам, IE10 не будет работать в ОС старше семёрки. Хорошо это или плохо пока не ясно…

    12 комментариев
  5. The Little MongoDB Book

    15 апреля 2011

    Основательный англоязычный гайд на 33-х страницах, позволяющий быстро понять, что такое MongoDB, как оно работает, зачем нужно и как с ним работать.

    UPD: она же на русском

    4 комментария
  6. jQuery Waypoints

    15 апреля 2011

    Очень интересный плагин для jQuery, добавляющий возможность вешать обработчики на событие попадания какого-либо DOM-элемента в viewport. Ну или, по-простому, при попадании элемента в область видимости.

    При помощи этой библиотеки можно реализовать очень многое: от бесконечного скроллинга и прилипающих заголовков таблиц до навигации, как в JavaScript Гарден.

    Смотрим демо и пользуемся

    9 комментариев
  7. Новый трекер GitHub

    15 апреля 2011

    GitHub, наконец, обзавёлся нормальным трекером, что радует. Похоже, минусов, по сравнению с Google Code, практически не осталось, поэтому Yii2 наверняка будет размещён на GitHub.

    Итого, на сегодняшний день:

    • Git и GitHub очень популярны и притягивают сильных разработчиков.
    • Есть куча книг, и отличных гайдов в том числе и на русском.
    • Есть хорошие GUI: SmartGit и TortoiseGit.
    • Удобно будет работать с патчами.

    Единственное, чему пока не удалось найти аналог, так это автотеггингу в SVN: $Id $ в файле заменялся на ревизию, время и автора. Сейчас эта возможность активно используется для перевода документации.

    5 комментариев
  8. RMCreative… не по-английски

    15 апреля 2011

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

    5 комментариев
  9. RMCreative по-английски / RMCreative in English

    12 апреля 2011

    Планирую попробовать писать по-английски. Так как это затронет всех читателей, то хочу для начала выяснить важные вопросы:

    1. Будет ли вам дискомфортно читать английский текст?
    2. Стоит ли выделить все русскоязычне посты в отдельный RSS-фид и раздел блога?
    3. Стоит ли дублировать посты на Русском?
    4. Если да, то стоит ли перемешивать комментарии к русскоязычным и англоязычным постам?

    I'm planning to write blog posts in English so I need some input from you:

    1. Are you interested in reading this blog but having problems because it's in Russian?
    2. Do you mind if Russian posts will be in the same RSS feed / page or it's better to have separate feeds / pages?
    42 комментария
  10. CLIO: command line image optimizer 1.0

    8 апреля 2011

    До недавнего времени для оптимизации изображений я пользовался, в основном, smush.it, иногда чередуя его с Google Page Speed. И тут возникла необходимость оптимизировать процесс: понадобилось оптимизировать около 300 изображений.

    Так появился данный набор, умеющий жать PNG/JPEG. На вход optimize.bat подаётся директория, из неё рекурсивно выбираются все изображения и обрабатываются идущими в комплекте утилитами. Отрабатывает за приемлемое время, даёт лучшие результаты, чем оптимизатор из Google Page Speed и smush.it.

    Пользуемся

    Комментарии и предложения очень приветствуются.

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