После обсуждения рентабельности выпуска бумажной книги я решил все же сконцентрироваться на электронной версии. Если она окажется достаточно популярна, там можно будет и о hard-copy подумать.
В эпоху Web2.0 технологий и взглядов было бы глупо писать книгу в отрыве от ее читателей, поэтому в данном топике выложено предварительное оглавление (чтобы скорректировать дальнейшую работу). Оно преследует две цели: во-первых, дать общее понятие о необходимости клиентской оптимизации. Во-вторых, рассказать о существующих подходах и наиболее современных решениях. Книга не стремится научить оптимизировать сложные JavaScript-приложения или настраивать nginx + FastCGI. Только общий подход и основные методики.
Любые комментарии приветствуются.
В книгу планируется также включить несколько не моих лично статей, поэтому в ближайшем будущем дополнительно свяжусь со всеми авторами (т.е. либо некоторые разделы не будут опубликованы, либо будут серьезно переработаны, либо согласованы с авторами и вставлены со ссылками на них).
На данный момент ищется также иллюстратор и(ли) верстальщик, который помог бы оформить все эти сотни (около 300) страниц текста и листингов кода. В качестве компенсации могу предложить 50% от благотворительных пожертвований после публикации книги и любые упоминания имени.
И, собственно, оглавление:
В эпоху Web2.0 технологий и взглядов было бы глупо писать книгу в отрыве от ее читателей, поэтому в данном топике выложено предварительное оглавление (чтобы скорректировать дальнейшую работу). Оно преследует две цели: во-первых, дать общее понятие о необходимости клиентской оптимизации. Во-вторых, рассказать о существующих подходах и наиболее современных решениях. Книга не стремится научить оптимизировать сложные JavaScript-приложения или настраивать nginx + FastCGI. Только общий подход и основные методики.
Любые комментарии приветствуются.
В книгу планируется также включить несколько не моих лично статей, поэтому в ближайшем будущем дополнительно свяжусь со всеми авторами (т.е. либо некоторые разделы не будут опубликованы, либо будут серьезно переработаны, либо согласованы с авторами и вставлены со ссылками на них).
На данный момент ищется также иллюстратор и(ли) верстальщик, который помог бы оформить все эти сотни (около 300) страниц текста и листингов кода. В качестве компенсации могу предложить 50% от благотворительных пожертвований после публикации книги и любые упоминания имени.
И, собственно, оглавление:
- Введение
- Об этой книге и проекте webo.in
- Благодарности
- Что такое клиентская оптимизация?
- Цели и задачи оптимизации
- Психологические аспекты производительности
- Основные направления и технологии
- Стадии загрузки страницы
- Клиентская и серверная оптимизация: сходство и различия
- Применение в разработке веб-приложений
- Уменьшение числа запросов
- Объединение текстовых файлов
- Объединение CSS-файлов
- Два слова об условных комментариях
- Объединение JavaScript-файлов
- Техника CSS Sprites
- Различные способы применения
- Отличие от Image Map
- Кроссбраузерный data:URL
- Использование data:URL
- Добавляем mhtml
- Применение data:URL для кодирования в JavaScript
- data:URL и CSS Sprites
- Методы экстремальной оптимизации
- CSS и JavaScript в одном файле
- HTML, CSS и JavaScript в одном файле
- Уплотняем поток загрузки
- Объединение текстовых файлов
- Уменьшение размера
- Насколько ресурсоемко архивирование HTML
- Издержки на использование mod_gzip
- Как степень сжатия влияет на производительность сервера
- CSS/JavaScript в виде архивов
- Все о сжатии CSS
- JavaScript: сжатие и обфускация
- Жать или не жать?
- Скорость загрузки JavaScript-библиотек
- Оптимизация изображений: GIF, PNG, JPEG
- PNG против GIF
- Полезные советы
- Разгоняем favicon.ico – это как?
- Режем cookie
- Насколько ресурсоемко архивирование HTML
- Параллельные соединения
- Зеркалирование статических файлов
- Ограничения спецификации HTTP/1.1
- Обходим ограничения браузера на число соединений
- Content Delivery Network
- Балансировка запросов на клиенте
- Постановка задачи
- AJAX- и Flash-решения
- Зеркалирование статических файлов
- Кэширование
- Expires, Cache-Control и сброс кэша
- Expires и Cache-Control
- Форсированный сброс кэша
- Кэширование в IE: pre-check, post-check
- Last-Modified и ETag
- Кэширование в Safari для iPhone
- Expires, Cache-Control и сброс кэша
- Оптимизация CSS
- Разгоняем CSS expressions
- Что лучше id или class?
- Раунд первый: простые селекторы
- Раунд второй: наследственность
- Раунд третий: лицом к лицу
- Влияние семантики и DOM
- Размер DOM-дерева и время его отображения
- Немного о семантической верстке
- Ни в коем случае не reflow!
- Оптимизация JavaScript
- Кроссбраузерный window.onload
- Основная схема
- Различные применения
- Основы «ненавязчивого» JavaScript
- Базовые понятия и методы
- Принципы «ненавязчивой» рекламы
- Разгоняем внешние счетчики
- Замыкания и с чем их едят
- Замыкания в JavaScript
- Избегаем утечек памяти в IE
- Оптимизируем «тяжелые» вычисления
- Скорость выборки CSS-селекторов
- Быстрые итераторы, рекурсии и другие вкусности
- Кроссбраузерный window.onload
- Приложение
- Обзор аналитических инструментов
- Самостоятельная проверка
- Дополнения к браузерам
- Веб-приложения
- Советы для браузеров
- Mozilla Firefox
- Internet Explorer
- Оптимизированные конфигурации
- Apache
- Nginx+Apache
- IIS
- Разбираем по косточкам
- Анализ 2–3 крупных порталов
- Примеры оптимизированных сайтов
- Обзор аналитических инструментов