Pull to refresh
  • by relevance
  • by date
  • by rating

Приложение «Диск-О:» запустило клиент для протокола работы с облаками S3

Client optimization *Cloud services
image

«Диск-О:», сервис от Mail.ru Group, стал первым российским приложением, которое представило клиент S3. Он позволяет получить доступ к своим файлам в Amazon Cloud, MCS Cloud на Windows и macOS, используя удобный интерфейс.

Клиент необходим для быстрой загрузки документов, проектов и любого другого контента в одном окне в приложении «Диска-О:». Все загруженные файлы будут доступны на локальном диске.
Читать дальше →
Total votes 13: ↑11 and ↓2 +9
Views 4.3K
Comments 12

Разгони свой сайт. Оглавление

Lumber room
После обсуждения рентабельности выпуска бумажной книги я решил все же сконцентрироваться на электронной версии. Если она окажется достаточно популярна, там можно будет и о hard-copy подумать.

В эпоху Web2.0 технологий и взглядов было бы глупо писать книгу в отрыве от ее читателей, поэтому в данном топике выложено предварительное оглавление (чтобы скорректировать дальнейшую работу). Оно преследует две цели: во-первых, дать общее понятие о необходимости клиентской оптимизации. Во-вторых, рассказать о существующих подходах и наиболее современных решениях. Книга не стремится научить оптимизировать сложные JavaScript-приложения или настраивать nginx + FastCGI. Только общий подход и основные методики.

Любые комментарии приветствуются.
Читать дальше →
Total votes 62: ↑53 and ↓9 +44
Views 400
Comments 60

Выносим CSS в пост-загрузку

Client optimization *
После сравнительной заметки о CSS Sprites и data:URL все мои мысли были направлены на решение основной проблемы:

В общем случае [при использовании data:URL], загрузка страницы не ускорится, а даже может замедлиться, потому что фоновые картинки (включенные через data:URL) будут грузиться в один поток, а не в несколько при обычном использовании спрайтов. Если фоновых картинок достаточно много (несколько десятков Кб), то это окажется существенным.

Данная статья как раз посвящена тому, как можно достаточно успешно справиться с указанной проблемой. Интересно? Тогда, поехали.

Читать дальше на webo.in→
Total votes 54: ↑49 and ↓5 +44
Views 1.4K
Comments 45

«Разгони свой сайт». Первая версия рукописи

Client optimization *
Одновременно с окончанием конкурса WebHiTech хочу заявить о не менее важном событии в моей жизни: завершена основная работа над рукописью книги «Разгони свой сайт».

На данный момент в нее вошли несколько десятков статей, много-много мыслей хабралюдей и подробный анализ как инструментов для анализа, так и некоторых сайтов Рунета.

Загрузить последний .pdf файл (3,2 Мб, 200 264 страницы) можно всегда по этому адресу
webo.in/book
Читать дальше →
Total votes 85: ↑77 and ↓8 +69
Views 236
Comments 65

Оптимизация изображений, часть 3: 4 шага для уменьшения размера файлов

Client optimization *
Translation
Примечание: ниже расположен перевод заметки Image Optimization, Part 3: Four Steps to File Size Reduction от Stoyan Stefanov. В ней рассматриваются наиболее популярные консольные утилиты для минимизации изображений. Мои комментарии далее курсивом.
Stoyan StefanovОб авторе: Stoyan Stefanov работает веб-разработчиком в команде Yahoo! по исключительной производительности и руководит разработкой инструмента для анализа производительности — YSlow. Он также внес значительный вклад в программы, разрабатываемые с открытым исходным кодом, выступает на конференциях и является техническим писателем: его последняя книга озаглавлена Объектно-ориентированный JavaScript.

Эта третья часть серии статей, посвященных оптимизации изображений (в первых двух была сплошная вода, но на досуге почитать интересно). С предыдущими частями можно ознакомиться по ссылкам:

Текущая заметка посвящена некоторым наиболее часто используемым инструментам, которые можно применить для уменьшения размера изображений. Идея заключается в следующем: мы можем получать все изображения от дизайнера, но не оставлять их в исходном виде, а немного уменьшать в размере, используя указанные ниже инструменты. Это позволит автоматизировать процесс без необходимости глубокого анализа структуры изображения.
Читать дальше на webo.in →
Total votes 108: ↑90 and ↓18 +72
Views 4.4K
Comments 19

Автоматизируем клиентскую оптимизацию

Client optimization *

Предыстория

Как известно, перед тем, как выложить сайт в нет, мы его разрабатываем. И делаем мы это, как ни странно, на машине разработчика. И давно замечено, что javascript, а в некоторых случаях и css удобнее при разработке держать в нескольких файлах.Проблема в том, что, согласно принципам, описанным в статье Best Practices for Speeding Up Your Web Site (перевод доступен на сайте webo.in), для ускорения загрузки сайта нам нужно произвести следующие манипуляции над javascript и css файлами:
  1. Слить весь javascript в один файл, причем, желательно так, чтобы сохранился нужный порядок — т.е., скажем, библиотека jQuery — была ближе к началу, а функции и объекты, которые ее используют — после нее.
  2. Слить весь css в один файл
  3. Сжать эти большие файлы с помощью какой-нибудь утилиты вроде yui-compressor (за исключением css-файлов, название которых начинается, скажем, с префикса ie_, которые содержат data:URL, и поэтому критично относятся к переходам со строки на строку, так что их для собственного спокойствия лучше не сжимать)
  4. Расположить их в таком порядке — css-файл как можно ближе к открывающему тэгу head, а js-файл — как можно ближе к закрывающему тэгу body.
  5. Выставить HTTP-заголовок expires на подольше, чтобы браузер пользователя их закешировал. Ну а для того, чтобы при следующем билде у пользователя обновился js и css надо этим файлам дать какое-нибудь уникальное имя.
  6. Перед отдачей файлов клиенту сжимать их с помощью gzip

К чему это я?

Пункты 5 и 6 уже подробно расписаны в других местах.
Я же хочу рассмотреть в этой статье вопрос автоматизации пунктов 1,2,3,4. А точнее, я хочу предложить инструмент, с помощью которого одним (ну, максимум — двумя-тремя :) нажатием кнопки можно выполнить пункты 1, 2, 3, 4 настоящего списка и получить готовые к заливке на сервер javascript и css файлы.
Интересно?
Total votes 50: ↑48 and ↓2 +46
Views 5.2K
Comments 74

Data:URI CSS Sprites — современный подход к генерации CSS спрайтов

Client optimization *
Мучения со стандартным подходом применения CSS спрайтов, а именно трудности модернизации и в некоторых случаях сложности оптимальной компоновки заставили искать альтернативный вариант оптимизации загрузки изображений. Очередной раз почитывая хабра-статьи, наткнулся на интересный подход реализации спрайтов с применением data:URI. В ходе дискуссий и умозаключений были определены слабые и сильные стороны данного подхода. Одним из значительных недостатков нового подхода является сложность сборки конечного CSS. Однако, при использовании data:URI имеет место возможность автоматизации процесса.
Читать дальше →
Total votes 39: ↑38 and ↓1 +37
Views 3.5K
Comments 80

Производительность простых и сложных конструкций в JavaScript

JavaScript *
Периодически натыкаясь на статьи, посвященные оптимизации кода на JS (вот одна из популярных) я ловил себя на мысли, что информации в них катастрофически мало. Перечислены 2-3 конструкции, 1-2 браузера и все на этом.

Как говорится, если хочешь сделать что-то хорошо, сделай это сам.
Я решил протестировать, в первую очередь для себя, скорость работы различных языковых конструкций (начиная с самых базовых) в основных современных браузерах и на основе этого сделать выводы о том, что и как использовать в скриптах, требовательных к производительности.

Ну и раз уж результаты получены, почему бы не выложить их для всеобщего пользования?

Upd: добавил графики результатов, предоставленные хабраюзером deerua (для тех, кто воспринимает визуальную подачу информации лучше чем табличную)
читаем дальше
Total votes 51: ↑48 and ↓3 +45
Views 22K
Comments 60

Стыкуем компоненты в JavaScript

JavaScript *
После заметки Стыкуем асинхронные скрипты и предложенного решения от Steve Souders я подумал о модульной загрузке какого-то сложного JavaScript-приложения. И понял, что предложенный подход в таком случае будет довольно громоздким: нам нужно будет в конец каждого модуля вставлять загрузчик следующих модулей. А если нам на разных страницах требуются различные наборы модулей и разная логика их загрузки? Тупик?

Ан нет. Не зря Steve упоминает в самом начала своей заметки о событии onload / onreadystatechange для скриптов. Используя их, мы можем однозначно привязать некоторый код к окончанию загрузки конкретного модуля. Дело за малым: нам нужно определить этот самый код каким-либо образом.

Решение первое: дерево загрузки



В качестве наиболее простого способа определить порядок загрузки модулей на конкретной странице можно предложить глобальный массив, содержащий в себе дерево зависимостей. Например, такой:
Читать дальше →
Total votes 27: ↑27 and ↓0 +27
Views 1.7K
Comments 59

Data URI [CSS] Sprites 1.1 — Автоматизация процесса сборки css спрайтов

Client optimization *

Многим профессиональным веб-разработчикам известны приемы оптимизации сайтов. Одним из способов оптимизации является использование CSS спрайтов. Этим же разработчикам известно, какие существуют трудности с формированием, сборкой и пересборкой стандартных спрайтов. В инете можно найти инструменты для автоматизации этого процесса.
Читать дальше →
Total votes 23: ↑23 and ↓0 +23
Views 2.5K
Comments 18

Реактивные вебсайты. Оглавление

Lumber room
Реактивные вебсайтыНе прошло и трех месяцев с момента официального выпуска первой в России специализированной книги, посвященной клиентской оптимизации, а мы уже собрались писать следующую. Почему мы? Потому что теперь уже полноценный авторский коллектив, а не просто «набор советов из разных источников под моей редакцией». Встречайте героев нашего времени: Евгения Степанищева (bolk) и Глеба Кондратенко (gkond).

До полноценной книги пока еще как до Луны (и обратно :), но оглавление уже подготовлено и утверждено (в общих деталях). И сразу же большая просьба: если вам кажется, что с ним что-то не так, какие-то темы опущены, какие-то раскрыты слишком подробно, что-то будет вам интересно дополнительно прочитать — напишите об этом в комментариях. Сейчас самое время заложить основы для следующей хорошей книжки.
Читать дальше →
Total votes 59: ↑51 and ↓8 +43
Views 729
Comments 79

Web Optimizer 0.5 «cheetah», RC3

Self Promo

Мы снова здесь со свежей версией приложения для автоматизации клиентской оптимизации — Web Optimizer. Больше месяца прошло с момента выхода последней стабильной версии, более 300 реальных сайтов испытали феноменальное ускорение, но нам этого показалось мало. И мы сделали хороший продукт еще лучше.

Итак, встречайте: версия 0.5 под кодовым именем cheetah (гепард), Release Candidate 3.

Загрузить: code.google.com/p/web-optimizator/downloads/list

Что нового?


Читать дальше →
Total votes 29: ↑27 and ↓2 +25
Views 464
Comments 41

Установка Web Optimizer версии 0.5

Self Promo
Не так давно вышла версия 0.5 (RC3) приложения для автоматического ускорения сайтов — Web Optimizer. Поскольку с момента написания предыдущего руководства по установке прошло уже три месяца, интерфейс и логика работы приложения существенно изменились (стали проще и нагляднее), то стоит осветить процесс установки еще раз, в новом виде и с новыми подробностями.

Шаг 1: загрузка архива


Web Optimizer поставляется в двух вариантах: ZIP-архив и мини-установщик. Для загрузки первого варианта идем по адресу code.google.com/p/web-optimizator/downloads/list и выбираем Featured версию 0.5 или выше.
Читать дальше →
Total votes 35: ↑31 and ↓4 +27
Views 565
Comments 14

Решаем проблемы с установкой Web Optimizer

Self Promo
После многочисленных установок приложения для автоматического ускорения сайтов — Web Optimizer на Joomla! (как версии 1.0, так и 1.5) было решено собрать воедино полезное знание о возникающих проблемах (связанных, в основном, с текущим некорректным серверным окружением), чтобы позволить их самостоятельно решить большому числу пользователей.

Итак, давайте разбираться по порядку, что нам делать в следующих случаях.

Загрузить Web Optimizer: code.google.com/p/web-optimizator/downloads/list

Функционирование Web Optimizer


Довольно часто приходится разобраться с тем, работает ли Web Optimizer на сайте, или его установка каким-то образом не подключилась к обработке HTML-документа. Начиная с версии 0.5.2 это можно установить, найдя строку <title lang="wo"> в коде страницы (если метка там отсутствует, значит Web Optimizer не отрабатывает).

Для более ранних версий это решение можно принять на основе отсутствия в коде HTML-документа отступов в начале строки, двойных переводов строк или наличия характерных закэшированных имен файлов в head-секции (cache/1234a6789b.css или cache/1234c6789d.js, здесь 1234c6789d — произвольная строка в шестнадцатеричной записи).

Если обнаружить следы работы Web Optimizer не удалось, то необходимо перепроверить корректность вызовов Web Optimizer в файлах системы управления сайтом и, возможно, провести установку приложения еще раз — таким образом Web Optimizer сможет самостоятельно произвести все необходимые изменения.

Если нужно получить информацию о необходимых изменениях исходных файлов CMS, то следует в ходе установки отключить автоматическое изменение /index.php:
Изменение /index.php -> Включить авто-запись -> Нет

и на последнем шаге зайти на вкладку «Необходимые изменения».
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Views 408
Comments 0

Web Optimizer 0.5.5 «falcon», RC4

Self Promo
После продолжительных летних каникул мы собрались с силами и выпустили новую сборку приложения для автоматического ускорения сайтов — Web Optimizer — под кодовым именем «falcon» (сокол). По заверению множества пользователей (зафиксировано более 900 реальных установок) приложение стало значительно стабильнее и мощнее.

Загрузить: code.google.com/p/web-optimizator/downloads/list

Основные изменения


Читать дальше →
Total votes 32: ↑30 and ↓2 +28
Views 349
Comments 8

Ищу партнера

Client optimization *
С недавних пор я четко осознал, что тянуть и толкать свое небольшое начинание по клиентской (и серверной) оптимизации мне становится все сложнее и сложнее. Объем работы, контактов и информации растет с каждым днем, и управляться с ним одному уже не под силу.

Собственно, о чем это я? О том, что хочу пригласить в свою команду (занимающуюся уже несколько лет вопросами производительности) не просто оптимизатора, а настоящего партнера, который был бы готов разделить объем как прав, так и обязанностей.

Кого я вижу в качестве партнера?

Читать дальше →
Total votes 42: ↑30 and ↓12 +18
Views 520
Comments 27

Хабр и data:image

CSS *
Я только что заметил, что на Хабре используется довольно прогрессивное средство клиентской оптимизации: замена ссылок на изображения механизмом data:image, скорее всего ради уменьшения запросов на сервер.



Возможно, этот механизм используется на Хабре давно или даже с самого начала. В любом случае, я хотел бы напомнить этим постом о существовании data:image и его пользе. Для более подробного ознакомления с data:image можно почитать эту статью.

PS: но лучше всего начинать знакомство с data:image со статьи webo.in/articles/habrahabr/29-all-about-data-url-images за авторством перевода sunnybear (спасибо за напоминание heroOfOurTime)
Total votes 81: ↑60 and ↓21 +39
Views 17K
Comments 20

Data URI [CSS] Sprites 1.5 — уникальный автоматический генератор CSS спрайтов

Client optimization *


Тем кто следит за статьями про клиентскую оптимизацию уже известен современный подход к созданию CSS спрайтов на базе data:uri технологии. Указанный подход имеет весомые достоинства:
  • абсолютная минимизация конектов к серверу за изображениями определенных в css — сделать еще меньше уже невозможно.
  • полная 100%-ая автоматизация процесса создания спрайтов независимо от свойств backgroud-position и background-repeat.
  • предзагрузка всех изображений определенных в css, которые необходимы для сайта.

Обновился сервис автогенерации
Total votes 41: ↑38 and ↓3 +35
Views 2K
Comments 31

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

Professional literature
Если в прошлом году мы начали с окончанием конкурса технологических сайтов WebHiTech, то теперь почти уложились к началу. Итак, готова первая (еще довольно сырая) версия книги «Реактивные веб-сайты». О чем она? О том, как создавать быстрые сайты. О том, как оптимизировать производительность веб-проектов как вручную, так и с помощью автоматических инструментов. О том, как разгонять Joomla, Drupal, Wordpress, Joostina и т.д. Материала много, книга обещает быть раза в полтора-два толще предыдущей.

Ах, да, скачать можно здесь (в формате .pdf и .fb2, вроде проблем со шрифтами быть не должно), объем 257 страниц:
speedupyourwebsite.ru/books/reactive-websites
Читать дальше →
Total votes 67: ↑63 and ↓4 +59
Views 433
Comments 45