<rmcreative>

RSS
  1. Пускаем текст по кривой при помощи CSS3

    11 марта 2011

    CSSWARP — интересный сервис, позволяющий средствами CSS3, а именно применением трансформаций к каждой букве, пустить текст по кривой.

    Работает везде, где поддерживаются трансформации.

    Пользуемся

    3 комментария
  2. Кнопочки социальных сетей и сервисов

    10 марта 2011

    Добавил к записям кнопки для быстрого расшаривания в twitter и facebook, сгенерированные отличным сервисом Dimox-а share42.

    Если что-то работает не так или хочется каких-нибудь других сервисов — пишите.

    10 комментариев
  3. Почему в Yii свой ActiveRecord

    10 марта 2011

    Казалось бы, зачем изобретать велосипед и писать свой Active Record, а не взять существующую реализацию… например, phpactiverecord, RedBeanPHP или тот же ORM Doctrine. В случае Yii всё не так однозначно:

    • AR в Yii старше большинства готовых решений. Первые версии были реализованы в 2005-м ещё в Prado. AR постоянно улучшался и затем перекочевал в Yii, где улучшения продолжаются и сейчас.
    • Свой AR даёт более «ровный» API.
    • Использование внешнего кода = потеря контроля качества реализации. В стороннем коде могут быть ошибки, которые по каким-либо причинам не смогут быстро исправить… а ведь AR — очень важная часть фреймворка.
    41 комментарий
  4. Yii wallpaper

    7 марта 2011

    13 комментариев
  5. Официальная статистика по IE6

    5 марта 2011

    Microsoft запустила официальный сайт-статистику, показывающую распространение IE6 в мире. Основана она на данных netapplications.com, так что слепо доверять ей не стоит: проверяйте свои проекты самостоятельно. Тут, например, доля IE6 за последний месяц — 7,98%.

    Вообще картина довольно радостная: скоро IE6 почти не останется. Хорошо-бы, чтобы и IE7 оперативно отправился за ним…

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

    11 комментариев
  6. Отладка Google Analytics

    4 марта 2011

    Отладка Google Analytics — очень непростая задача. Фактически мы можем проверить только входы и выходы этого чёрного ящика. Если что-то работает не так, понять, что же на самом деле происходит сложно. Раньше в ход шли исключительно Firebug и Live HTTP Headers (или другой HTTP-профайлер). К большому нашему счастью, Google позаботился о разработчиках и выпустил сначала отладочный код ga_debug.js, а потом и упрощающее его использование официальное отладочное расширение для Chrome — Google Analytics Tracking Code Debugger.

    Включив его и открыв отладочную консоль, мы получаем довольно детальную информацию о том, какие методы API были вызваны:

    _gaq.push processing : "[gwo._setAccount,UA-xxxxxxx-1]"
    _gaq.push processing : "[gwo._trackPageview,/xxxxxxxxxx/test]"
    _gaq.push processing : "[_setAccount,UA-xxxxxxx-2]"
    _gaq.push processing : "[_setAllowAnchor,true]"
    _gaq.push processing : "[_trackPageview]"
    

    Кроме того, показываются предупреждения об использовании устаревших методов и других возможных проблемах. И всё это не меняя трекинг-код.

    2 комментария
  7. console.log и IE

    4 марта 2011

    В очередной раз забывшись отправил на сервер

    console.log("something happened");

    Всё хорошо, но в IE этого объекта нет и браузер будет ругаться. Можно проверить объект и метод на undefined, а можно подавить ошибки короче и надёжнее:

    try { console.log("something happened"); } catch (e) {}
    12 комментариев
  8. Почему быть незаменимым плохо

    4 марта 2011

    Незаменимость — это плохо. Плохо для всех: для заказчика, для исполнителя… да и для самого проекта тоже. И вот почему:

    1. Стопорится развитие проекта так как команду расширить сложно: изначальный разработчик хочет оставаться незаменимым, код, соответственно, приведён в нужный для эффекта незаменимости вид, документации нет.
    2. Работать с таким кодом не в радость. Разработчик начинает работать за деньги не развиваясь, теряется интерес.
    3. Есть шанс получения эффекта грузовика (это когда незаменимого переезжает камаз).
    4. Финансовые затраты на проект не соответствуют отдаче. Незаменимые ленятся.
    5. Разработчику сложно, например, уехать в отпуск. Он выматывается всё больше.
    6. По ночам первым делом звонят незаменимому, мол «ай, у нас всё упало». Это, опять-же, на работе днём сказывается очень плохо.

    Лучше работать так, чтобы хоть компания и могла бы вас легко «устранить», но не хотела бы.

    19 комментариев
  9. PHP RFC: встроенный вебсервер

    3 марта 2011

    В RFC PHP попала новая идея: встроенный вебсервер. Штука определённо замечательная: можно будет разрабатывать не запуская тот же Apache и не занимаясь его настройкой. Пока реакция разработчиков положительная, поэтому можно надеяться, что нововведение будет в ядре.

    Запускать это дело предлагается очень просто:

    php -S localhost:8000 docroot
    

    При этом можно использовать роутинг-скрипт, заменяющий, например mod_rewrite и выглядящий так:

    if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"]))
        return false; // отдаём как есть
    else
        ...

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

    15 комментариев
  10. SQL JOIN

    26 февраля 2011

    Очень удивился, когда не нашёл внятной схемы синтаксиса и работы JOIN в SQL. Нарисовал свою:

    SQL JOIN

    • MySQL и SQLite не поддерживают FULL JOIN. Эмулируется через UNION.
    • В MySQL CROSS JOIN эквивалентен INNER JOIN. Можно использовать как один, так и другой. В стандарте SQL это не так: INNER JOIN используется с ON, CROSS JOIN — без.
    • SQLite не поддерживает RIGHT OUTER JOIN.

    PDF версии:

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