у Ника

имеется кое-что: лог, код, муз

 

28 февраля 2009, 18:59

Русиш переменыш

Получил сообщение в PHP-шном скрипте:

Notice: Undefined variable: � in ...

Сейчас-то я опытный и определил причину сразу, а если бы был новичок? Переменная-то называется $c, и эту «c» я написал по-русски...

19 февраля 2009, 12:07

Нет предела росту!

В последнее время ощущается неплохой профессиональный рост:

  • Освоил JQuery.
  • Начал использовать принцип MVC в новых проектах. За основу взял пост с хабрахабра, кое-что подсмотрел в CakePHP и CodeIgniter. Последний фреймворк, кстати, понравился даже при беглом осмотре, но хотелось, как всегда, своего.
  • Узнал о Nested Sets, теперь большие объемы иерархических данных мне не страшны!
  • Начал (ну наконец-то!) использовать по полной классы в PHP5 и пользоваться их удобствами: автозагрузкой, синглтонами, статическими свойствами и методами, наследованием и т.д.

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

Следующий этап — воплотить все знания в новой CMS (она же фреймворк), ибо старая (на которой, например, этот сайт зиждется) уже не котируется. Заодно надо научиться делать полноценную поддержку модулей и плагинов.

Вообще, главное в нашей профессии — это не законсервироваться в технологиях прошлого дня. Потому что не хочется, чтобы бесценный опыт накапливался в отрыве от текущей ситуации, а я превращался в индивидуума, который снисходительно относится к тем, кто не застал трехдюймовые дискеты, но не знает, как пользоваться вебкамерой.

Это к теме "как уменьшать трафик сайта, сжимая JS, CSS и т.д.", которая широко освещена в инете.

Затык произошел при смене Apache v1.3 на Apache v2.2.

Дело в том, что при внутреннем (url_rewrite) редиректе .js на .js.gz браузер не получает заголовка о типе сжатого файла, а только заголовок о том, что это сжатый файл. В итоге никакой JS, CSS и т.д. не обрабатывается нормально и ничего не работает.

Оказалось, решение для апача2 такое (прописать в conf или .htaccess):

    <files *.js.gz>
      AddType "text/javascript" .gz
      AddEncoding gzip .gz
    </files>
    
    <files *.css.gz>
      AddType "text/css" .gz
      AddEncoding gzip .gz
    </files>

    <files *.xml.gz>
      AddType "text/xml" .gz
      AddEncoding gzip .gz
    </files>