Как стать автором
Обновить
0.63

Клиентская оптимизация *

Делаем сайты удобнее и приятнее

Сначала показывать
Порог рейтинга
Уровень сложности

Подтвердите право собственности на сайт в Инструментах для веб-мастеров с помощью Диспетчера тегов Google

Время на прочтение1 мин
Количество просмотров3K
Уровень подготовки веб-мастера: любой

Если вы пользовались Диспетчером тегов Google, чтобы добавить и обновить теги на своем сайте, то можете легко и быстро подтвердить право собственности на него. Это делается в Инструментах для веб-мастеров с помощью кода фрагмента-контейнера.

Выполните следующие действия:

1. На главной странице Инструментов для веб-мастеров нажмите Управление сайтом и выберите Подтвердите право собственности на этот сайт. Если вы ещё не добавили его, нажмите кнопку Добавить сайт справа вверху.

image
Читать дальше →
Всего голосов 26: ↑4 и ↓22-18
Комментарии2

Лёгкий сайт или как посадить браузер на диету

Время на прочтение14 мин
Количество просмотров144K

А что если объединить профессионалов, работавших над крупными web проектами, чтобы создать исчерпывающее руководство по оптимизации front-end разработки?
И получить в результате не скучную инструкцию, а что то поинтереснее? А если позвать Briza Bueno (Americanas.com), Davidson Fellipe (Globo.com), Giovanni Keppelen (ex-Peixe Urbano), Jaydson Gomes (Terra), Marcel Duran (Twitter), Mike Taylor (Opera), Renato Mangini (Google), и Sérgio Lopes (Caelum) чтобы собрать лучшие практики?

Именно это мы и сделали! Мы научим вас создавать быстрые сайты.

Zeno Rocha, руководитель проекта.


Читать дальше →
Всего голосов 193: ↑179 и ↓14+165
Комментарии80

Проблемы кликов-переходов: сколько леммингов тонет?

Время на прочтение7 мин
Количество просмотров13K
Проблема кликов-переходов, лемминги-самоубийцы

Однажды при общении с коллегами из AdRiver выяснилось, что далеко не все клики по рекламным объявлениям становятся переходами на целевой сайт. Для меня было бы нормальным услышать, что теряется 5-10% посетителей (вполне естественные цифры в рамках общей погрешности измерений). Но, как оказалось, потери могут составить до 50%. И мы решили разобраться подробнее, где же происходят утечки, почему обычные, здоровые, адекватные клики не становятся переходами.
Где тонут лемминги?
Всего голосов 33: ↑19 и ↓14+5
Комментарии10

WebMarkupMin HTML Minifier – современный HTML-минимизатор для платформы .NET

Время на прочтение21 мин
Количество просмотров14K

Логотип WebMarkupMin


В начале 2012 года я работал над серией статей о клиентской оптимизации в ASP.NET MVC для журнала MSDeveloper.RU. Всего было опубликовано 2 статьи: «Сжатие JS- и CSS-файлов» и «Менеджеры ресурсов», но в моих планах было написать еще 2 статьи: одну про оптимизацию графики, а вторую про минимизацию HTML-разметки и GZIP/Deflate-сжатие (далее просто HTTP-сжатие). К сожалению, эти планы не удалось воплотить в жизнь из-за нехватки свободного времени (в тот момент, я запускал проект Bundle Transformer) и последовавшего закрытия журнала.


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


Эволюция HTML-минимизаторов


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


Вопреки расхожему мнению, техники минимизации HTML-кода появились намного раньше, чем аналогичные техники для JavaScript. Уже в конце 1998 года Артемий Лебедев в 17-м параграфе ководства «Паранойя оптимизатора» описывал некоторые техники минимизации HTML-кода.


Читать дальше →
Всего голосов 13: ↑9 и ↓4+5
Комментарии0

Истории

Рейтинг скорости загрузки интернет-магазинов

Время на прочтение4 мин
Количество просмотров24K
Скорость загрузки интернет-магазинов, 2013
Скорость все же имеет значение для интернет-магазинов. Два года назад мы проводили исследование по сайтам ведущих интернет-магазинов, банков и страховых. Результаты были не очень радостные, но примерно четверть сайтов можно было отнести к «быстрым». Сейчас мы решили повторить исследование, ведь если скорость подключения основной аудитории интенет-магазинов изменилась не сильно (все то же безлимитное с ограничение полосы пропускания в районе 5-10 Мбит/с), то количество мобильных пользователей заметно выросло (по последним измерениям, сейчас каждый четвертый пользователь использует смартфон для просмотра сайта). И было интересно узнать, какие критерии маркетинговая команда ведущих интернет-магазинов считает эффективными, за сколько секунд должен открываться успешный интернет-магазин.

Как показало исследование, 85% интернет-магазинов открываются до 4 секунд, при этом 23% открываются до 2 секунд. Это гарантирует как минимальную зависимость эффективности сайта от скорости (скорость уже почти максимально высокая), так и хорошие показатели сайта для мобильных пользователей (сайт открывается достаточно быстро для них).
Подробности и методика
Всего голосов 18: ↑9 и ↓90
Комментарии37

Тонкости Rails 4 — Cache Digests

Время на прочтение5 мин
Количество просмотров13K


Гем под названием "cache_digests" (включен по умолчанию в Rails 4) автоматически добавляет цифровую подпись к каждому фрагментному кэшу, основываюсь на представлении (вьюхе). При этом, если страница изменяется, то старый кэш автоматически удаляется. Но остерегайтесь подводных камней!
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии38

Добавляем иконку загрузки к большим изображениям на CSS

Время на прочтение2 мин
Количество просмотров8.1K
Давайте представим, что у вас на странице имеются большие картинки, и вы хотите, чтобы пользователь знал, что они загружаются. С помощью JavaScript'а можно внедрить анимированную иконку ко всем изображениям, которые еще не загружены, но мы можем предложить вам более простой и чистый способ.

Шаг 1: Найдите анимированную иконку


Существует много сайтов, где вы можете создать свою картинку для загрузчика. Наш любимый этот. Главное не выбирайте иконку, которая будет очень много весить. Вот такую сгенерировали мы:



Шаг 2: Добавьте CSS-правила


Тут совсем немного кода, и вы можете просто скопировать его. Только не забудьте сменить «youricon.gif» на свою картинку.

.load {
    background: url('images/youricon.gif') no-repeat center;
}
Читать дальше →
Всего голосов 48: ↑13 и ↓35-22
Комментарии16

Телекоммуникационный шкаф или серверная стойка (теория на практике)

Время на прочтение2 мин
Количество просмотров31K
По статистике Яндекс количество запросов на аренду серверных стоек в 4 раза больше, чем аналогичных со словом «шкаф». Вот только странно то, что после звонка клиенту, выясняется, что ему нужна аренда телекоммуникационного шкафа, а не стойки.
Читать дальше →
Всего голосов 15: ↑9 и ↓6+3
Комментарии12

Вышел Bundle Transformer 1.6.10

Время на прочтение3 мин
Количество просмотров4.7K
Логотипы библиотек Bundle Transformer, в которые были внесены изменения в версии 1.6.10
Новая версия Bundle Transformer характеризуется следующими изменениями: большая часть сборок теперь подписана; в ядре, были исправлены ошибки, возникавшие при обработке путей; были обновлены некоторые модули (BundleTransformer.SassAndScss, BundleTransformer.CoffeeScript, BundleTransformer.TypeScript, BundleTransformer.MicrosoftAjax, BundleTransformer.Yui, BundleTransformer.UglifyJs, BundleTransformer.Csso и BundleTransformer.WG) и создана новая версия демонстрационного сайта ASP.NET Web Pages.

Рассмотрим основные нововведения данной версии:
Читать дальше →
Всего голосов 9: ↑6 и ↓3+3
Комментарии4

Отдача мелкой графики

Время на прочтение2 мин
Количество просмотров10K
Холивары про то, где хранить картинки – в базе или в файловой системе – штука не редкая даже для Хабра. Однозначного подхода тут в общем нет и быть не может, но если посмотреть на ситуацию с позиции оптимизации выдачи контента, то разумный компромисс становится чуть более очевиден, на мой взгляд.
Читать дальше →
Всего голосов 30: ↑17 и ↓13+4
Комментарии34

Синхронизация данных между вкладками браузера

Время на прочтение5 мин
Количество просмотров11K

На основе Cookies, для сайтов с общим наддоменом


Хочу поделиться, как это удалось осуществить для одного проекта. Сложность использования других известных методов, заключалась в том, что проект не был привязан к единому доменному имени, а был локализован на сетке из поддоменов. То есть сайты проекта располагались на доменах третьего уровня. Данное обстоятельство вызывало некоторые неудобства из-за Same Origin Police.


Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии6

Вышел Bundle Transformer 1.6.5

Время на прочтение4 мин
Количество просмотров7.6K
Логотипы библиотек Bundle Transformer, в которые были добавлены изменения в версии 1.6.5
Основным нововведением в новой версии Bundle Transformer стала поддержка языка TypeScript. Кроме того, были внесены изменения в ядро продукта и в следующие модули: BundleTransformer.MicrosoftAjax, BundleTransformer.Yui и BundleTransformer.Csso.

Рассмотрим основные нововведения данной версии:
Читать дальше →
Всего голосов 24: ↑17 и ↓7+10
Комментарии6

Хитрости Chrome DevTools

Время на прочтение1 мин
Количество просмотров22K


Илья Григорик из компании Google собрал подборку малоизвестных функций Chrome DevTools, которые можно использовать для оптимизации производительности. Илья также упоминает несколько сторонних плагинов и библиотек, полезных для разработчика, и многочисленные другие хитрости: например, возможность дебаггинга iOS-приложений или кода, исполняемого на подключённом Android-устройстве.
Всего голосов 36: ↑28 и ↓8+20
Комментарии14

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн

Оптимизация размещения купюр в банкоматах

Время на прочтение6 мин
Количество просмотров81K
Внутри у среднего банкомата лежит от 1 до 3 миллионов рублей. Они разложены по 4 кассетам, в каждой из которых – купюры своего номинала. Замена кассет похожа на замену картриджей в принтере: модуль вынимается (и неважно, сколько там осталось денег — инкассаторы этого даже не знают по правилам безопасности), а на его место вставляется другой модуль точно по стрелке, указывающей, какой стороной и как это делать.

Инкассация — дорогая и достаточно рискованная с точки зрения безопасности процедура, поэтому любое обслуживание банкомата обходится довольно дорого. Естественное желание банка – уменьшить количество инкассаций. Получается классическая задача распределения ресурсов: с одной стороны, в банкомате всегда должны быть деньги для клиентов, с другой — в идеале банк хочет, чтобы ровно перед инкассацией из ящика уходила последняя купюра.
Читать дальше →
Всего голосов 106: ↑101 и ↓5+96
Комментарии155

Вышел Bundle Transformer 1.6.2 или что изменилось за полгода?

Время на прочтение21 мин
Количество просмотров8.3K
Логотип Bundle Transformer
Bundle Transformer – это разработанное мной модульное расширение для Microsoft ASP.NET Web Optimization Framework (другие названия: ASP.NET Bundling and Minification, System.Web.Optimization, Microsoft.Web.Optimization и ASP.NET Optimization – Bundling). В апреле этого года я уже делал подробный обзор возможностей Bundle Transformer, но за это время данный продукт очень сильно изменился. Поэтому я решил написать данный обзор и рассказать об основных изменениях, которые произошли в Bundle Transformer за прошедшие полгода.
Читать дальше →
Всего голосов 25: ↑21 и ↓4+17
Комментарии4

Добавляем Bundling and Minification на сайт ASP.NET Web Pages

Время на прочтение4 мин
Количество просмотров5.4K
Представляю вашему вниманию перевод статьи Рика Андерсона (Rick Anderson) «Adding Web Optimization to a Web Pages Site».

При добавлении ASP.NET Bundling and Minification (далее B/M) на сайт ASP.NET Web Pages мы следуем тому же рецепту, что и в ASP.NET MVC и Web Forms:
  1. Объявляем и регистрируем Bundle`ы;
  2. Используем Bundle`ы в коде наших представлений.

Данная статья описывает базовые принципы использования B/M на сайте ASP.NET Web Pages. Для получения общей и более подробной информацией о B/M смотрите мой учебник по Bundling and Minification. Вы также можете прочитать об использовании B/M c ASP.NET MVC — здесь, и c ASP.NET Web Forms — здесь.
Читать дальше →
Всего голосов 14: ↑9 и ↓5+4
Комментарии0

Добавляем Bundling and Minification в приложение ASP.NET Web Forms

Время на прочтение5 мин
Количество просмотров30K
Представляю вашему вниманию перевод статьи Рика Андерсона (Rick Anderson) «Adding Bundling and Minification to Web Forms».

Мой учебник по Bundling and Minification обеспечивает хорошее введение в возможности и основные преимущества ASP.NET Bundling and Minification (далее B/M). Вы должны прочитать это руководство, чтобы ознакомиться с основными возможностями данного продукта. В отличие, от моего руководства по B/M, которое посвящено использованию B/M в ASP.NET MVC, эта статья будет посвящена использованию B/M в связке с ASP.NET Web Forms.
Читать дальше →
Всего голосов 12: ↑8 и ↓4+4
Комментарии6

Сбор статистики загрузки веб-страниц

Время на прочтение3 мин
Количество просмотров7K
Хотел бы поделитья с сообществом полезным инструментом для фронт-разработчиков, в основном. Инструмент достаточно сыроват, нуждается в развитии. Попросту говоря, это банальный говнокод, который решает поставленную задачу. Для рефакторинга мне не хватает компетенции.

Какую задачу решаем?


Скрипт позвляет собрать статистику по «полной» загрузке страницы на стороне браузера. Это не равняется времени выдачи страницы сервером, очевидно. Под полной загрузкой я подразумеваю загрузку всех ресурсов страницы (картинки, стили, скрипты) и выполнение браузерного события onload. Как все знают, это время можно посмотреть в firebug. Но очевидно, что для адекватной оценки нужно собрать статистику, т.е. открыть страницу и запомнить время ее полной загрузки не один и не два раза. На основе сотни запусков уже можно говорить о среднем времени полной загрузки, и это будет хорошей метрикой, в моем понимании.
Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии3

CERN — что из себя представляет организация за 900 млн долларов

Время на прочтение4 мин
Количество просмотров5.3K
Посчастливилось мне работать этим летом в ЦЕРНе, в отделении криогеники. В этом посте я расскажу, в общих чертах, чем же тут занимаются.


Давайте вспомним, что же есть ЦЕРН.
Читать дальше →
Всего голосов 185: ↑180 и ↓5+175
Комментарии137

Оптимизация длинных списков логических значений на JavaScript

Время на прочтение5 мин
Количество просмотров4K
Очень часто в веб-разработке (и в программировании вообще) необходимо сохранить длинный список логических значений (yes/no, true/false, checked/unchecked и подобные) в виде строк. К примеру, вы захотите записать такие данные с помощью localStorage, в cookie, или отправить их в теле HTTP запроса. У меня возникала такая необходимость сотни раз.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии19
Изменить настройки темы

Вклад авторов