<rmcreative>

RSS

Все заметки с тегом «Optimization»

Можно уточнить:

    (11)
    (1)
  1. (2)
    (1)
  1. (2)
    (2)
    (1)
  1. (1)
    (1)
    (12)
  1. (2)
  1. Текстовые значки

    27 октября 2010

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

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

    Да и вообще набор символов в UTF поразительный:

    • Рейтинг: ★★★☆☆
    • Избранное:
    • Ахтунг:
    23 комментария
  2. Как тестировать и оптимизировать JS скрипты

    12 июля 2010

    Павел Марковнин подробно рассказывает, как пользоваться профайлером Firebug на живом примере.

    Рекомендую

    Комментировать
  3. Steve Souders об особенностях клиентской оптимизации

    15 февраля 2010

    Steve Souders поделился сразу несколькими занятными фактами об особенностях современных и не очень браузеров.

    IE и независимые от протокола URI

    Internet Explorer 7 и 8 при использовании URI вида "//rmcreative.ru/css/main.css" будут загружать файл два раза. При явном указании http, https или использовании относительных URI этого не происходит.

    document.write и FireFox

    При загрузке скриптов через document.write в FF (в том числе и в 3.6) блокируются остальные загрузки.

    IE грузит стили с media="print"

    Причём делает это даже когда мы ничего не печатаем. При этом до полной загрузке блокируется рендеринг страницы.

    Подключаем стили через JavaScript

    Можно избежать блокировки, используя JavaScript:

    var link = document.createElement('link');
    link.rel = 'stylesheet';
    link.type = 'text/css';
    link.href = '/main.css';
    document.getElementsByTagName('head')[0].appendChild(link);

    Chrome, Safari и загрузка фоновых изображений

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

    Источники:

    4 комментария
  4. HipHop

    3 февраля 2010

    Facebook, как вы уже могли слышать, выпустил транслятор PHP в код C++, названный HipHop.

    Отмечу основные моменты

    • Бесплатный, открытый исходный код.

    • HipHop уже используется в Facebook по полной программе.

    • PHP → С++ → GCC → бинарник. Делать это надо каждый раз при развёртывании кода.

    • Бинарник может работать как сервер (libevent), а также запускаться из командной строки.

    • Веб сервер = один процесс, много потоков.

    • Не использует Zend Engine. Использует написанный на C++ почти совместимый с PHP 5.2 фреймворк.

    • Используются расширения на C++ (стандартные написаны C). Сейчас доступны те, что использует Facebook. Остальные будьте готовы переписывать сами. Все расширения на C++ thread-safe.

    • Некоторые магические методы поддерживаются, но не работают быстрее.

    Не поддерживаются

    • Windows.

    • PHP 5.3 (поддержка планируется).

    • eval().

    • create_function()

    • preg_replace с модификатором /e.

    • function_exists() до объявления функции.

    Поддерживаемый динамический функционал

    • Динамический вызов функций, в том числе call_user_func().

    • Динамические методы и свойства объектов.

    • Динамические переменные, extract().

    • Динамический include().

    • Переопределение функций, классов, констант.

    • __toString(), __get(), __set(), __call().

    Источники информации:

    10 комментариев
  5. Книга «Реактивные веб-сайты»

    22 января 2010

    http://speedupyourwebsite.ru/i/reactivewebsites/cover.small.jpg

    Вышла финальная электронная версия второй книги по клиентской оптимизации за авторством Николая Мациевского (webo.in, «Разгони свой сайт», Web Optimizer), Евгения Степанищева и Глеба Кондратенко.

    Читаем

    Появление книги в магазинах в традиционном бумажном виде запланировано на Март.

    3 комментария
  6. Асинхронный API Google Analytics

    3 декабря 2009

    Наконец-то Google Analytics можно установить у себя без ущерба скорости загрузки страницы.

    Новый код выглядит так:

    var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-XXXXX-X']);
      _gaq.push(['_trackPageview']);
     
      (function() {
        var ga = document.createElement('script');
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
            'http://www') + '.google-analytics.com/ga.js';
        ga.setAttribute('async', 'true');
        document.documentElement.firstChild.appendChild(ga);
      })();

    Официальный анонс

    Документация

    Рецензия-отзыв Steve Souders

    2 комментария
  7. cssmin.js

    24 сентября 2009

    Один из моих любимых технических писателей Stoyan Stefanov, автор Object-Oriented JavaScript, портировал обжиматель CSS из YUICompressor на JavaScript.

    Демо

    Код

    Кстати, за основу сжатия CSS в YUICompressor был взят cssmin, написанный на PHP.

    3 комментария
  8. «Реактивные веб-сайты». Первая версия рукописи

    14 сентября 2009

    http://speedupyourwebsite.ru/i/reactivewebsites/cover.small.png

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

    Анонс на хабре от автора

    Почитать в электронном виде

    Комментировать
  9. Сергей Чикуёнок ответил на вопросы

    1 сентября 2009

    В рамках онлайн-конференции Сергей Чикуёнок ответил на множество различных вопросов.

    Вопросы и особенно ответы получились на удивление полезными, так что советую прочитать и обдумать.

    Читаем

    Кстати, в рамках той же онлайн-конференции задавались вопросы и другим не менее интересным людям.

    Комментировать
  10. JPEG, FireFox и цветовые профили

    3 августа 2009

    FireFox, в отличие от всех остальных, отлично понимает внедрённый в JPEG цветовой профиль. Для фото это замечательно. А вот для элементов оформления — не очень: во всех браузерах будет одно, в FF — другое. Так что профили, которые к тому же ещё и занимают некоторый объём в общем файле, лучше вырезать.

    Я пользуюсь для этого JPG Cleaner, который дополнительно умеет вычищать превью и текстовую информацию.

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