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

Можно уточнить:
    1. Понедельник, 15 февраля

      Steve Souders об особенностях клиентской оптимизации

      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 они переопределены.

      Источники:
      - Souders blasts off 5 in a row
      - Missing schema double download
      - document.write scripts block in Firefox
      - media=print stylesheets
      - dynamic stylesheets
      - Speculative background images


    1. Среда, 3 февраля

      HipHop

      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().

      Источники информации:
      - Анонс
      - Исходный код
      - My Thoughts on HipHop, Ilia Alshanetsky
      - Notes from Facebook's HipHop for PHP Debut, Kris Jordan
      - HipHop: What you need to know, Marco Tabini


    1. Пятница, 22 января

      Книга «Реактивные веб-сайты»

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

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

      Читаем

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


    1. Четверг, 3 декабря 2009

      Асинхронный API Google Analytics

      Наконец-то 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


    1. Четверг, 24 сентября 2009

      cssmin.js

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

      Демо
      Код

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


    1. Понедельник, 14 сентября 2009

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

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

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

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


    1. Вторник, 1 сентября 2009

      Сергей Чикуёнок ответил на вопросы

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

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

      Читаем

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


    1. Понедельник, 3 августа 2009

      JPEG, FireFox и цветовые профили

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

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


    1. Вторник, 14 июля 2009

      Оптимизация Drupal

      Полезное руководство по настройке и ускорению работы популярной CMS Drupal.

      Рассмотрены общие принципы, полезные модули и немного оптимизация сервера.

      Читаем


    2. Реактивные вебсайты

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

      Готова предварительная версия рукописи новой книги по оптимизации веб-проектов. Предыдущую кингу — «Разгони свой сайт» я прочитал с большим удовольствием.

      Читаем или ждём финальной бумажной версии.


  1. 1
  2. 2
  3. 3
  4. Последняя

Подписаться на RSS

Интересное

Разделы

  1. (5)
  2. (11)
  3. (6)
  4. (9)
  5. (6)
  6. (6)
  7. (16)
  8. (59)
  9. (264)
  10. (51)
  11. (16)
  12. (12)
  13. (37)
  14. (5)
  15. (10)
  16. (14)
  17. (18)
  18. (12)
  19. (6)
  20. (8)
  21. (7)
  22. (29)
  23. (62)
  24. (18)
  25. (64)
  26. (5)
  27. (193)
  28. (56)
  29. (6)
  30. (18)
  31. (72)
  32. (27)
  33. (65)
  34. (32)
  35. (10)
  36. (5)
  37. (6)
  38. (5)
  39. (309)
  40. (11)
  41. (6)
  42. (12)
  43. (8)
  44. (18)
  45. (6)
  46. (15)
  47. (114)
  48. (18)
  49. (6)
  50. (8)
  51. (66)
  52. (16)
  53. (6)
  54. (17)
  55. (5)
  56. (26)
  57. (7)
  58. (27)
  59. (7)
  60. (12)
  61. (11)
  62. (118)
  63. (31)
  64. (5)
  65. (18)
  66. (22)
  67. (9)
  68. (6)
  69. (8)
  70. (41)
  71. (10)
  72. (6)
  73. (12)
  74. (8)
  75. (5)

Друзья