Подписка на блог

Ещё есть Тумблер и ЖЖ.

В  Телеграме пишу обо всяком и собираю по крупицам годноту, которая потом появляется в блоге.

А в  Твиттере иногда репощу всякие смехуечки и пишу о том, как всё плохо.

Все остальные соцсеточки только для того, чтобы пошарить ссылку на новый пост.

4 заметки с тегом

оптимизации

Ежедневные инструменты. Браузер

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

Читатель, наверное, знает, что я пользуюсь браузером от Яндекса. Я давно уже писал о причинах, потому отдельно на этом останавливаться не будем, а перейдём сразу к расширениям.

Встроенные

В Я.Браузере есть некоторое количество встроенных фич, которые скорее всего можно подключить в другие браузеры с помощью расширений.

Переводчик

Встроенный переводчик очень удобный. Выглядит это так. Вы просто выделяете какой-то кусок текста и жмёте на появившийся рядом треугольник (или просто вызываете контекстное меню):

Не скажу, что он переводит идеально, но когда при чтении статьи тебе не понятна какая-то фраза или пара слов — очень удобно перевести их прямо на месте.

Поиск в контекстном меню

Помимо переводчика в контекстом меню есть ещё одна клёвая штука — это встроенные результаты поиска. Если в тексте вам вдруг непонятен какой-то термин, или автор пишет о неизвестном вам, например, городе, то можно быстро глянуть, что это такое (плюс посмотреть на изображения):

Поиск по странице

Если предыдущие фичи я ещё представляю как отдельные расширения, то есть ли эта в качестве какого-то плагина, например, к Хрому, не знаю. Насколько я понял, Яндекс Браузер пока единственный, кто так умеет (причём, довольно давно).

Собственно, о чём я? О нечётком поиске по странице. Причём, как на английском:

Так и на русском (обратите внимание на окончания):

Это безумно удобно и не понятно, почему вообще может быть как-то иначе.

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

Постоянные

Этих больше, чем встроенных, и на них я уже смогу давать ссылки, потому что когда-то их сам скачивал. «Постоянные» потому, что они включены всегда и ими я пользуюсь наиболее часто. Какие-то для работы, какие-то для развлечений, какие-то для экономии времени. Ниже будет ещё список «непостоянных», которые есть, но выключены и включаются иногда, когда нужны.

Pocket

Всё, что я читаю или смотрю в интернете, я стараюсь пропускать через Покет, потому что иначе это съедает много времени (работаешь-работаешь, а потом увидел интересную статью и залип). Расширение в этом помогает: кликнул, страница улетела в список «на потом» и ты спокойно работаешь дальше, зная, что точно о ней не забудешь.

Я тут не силён в том, чем аналогичные сервисы для отложенного чтения хуже или лучше Покета, потому что даже не сравнивал. Мне хватает того, что он работает в офлайне на телефоне, и что у него есть приложения для всего подряд. Таким образом Покет помогает мне собирать годноту.

Яндекс.Музыка и Радио

Это крутое расширение, с помощью которого можно управлять Я.Музыкой, Я.Радио, Ютубом, музыкой из ВК и многими другими источниками. Удобно то, что сочетания клавиш устанавливаются глобальные, потому можно включить какой-то плейлист в ВК, перейти в любимую IDE, работать и в процессе переключать треки, не отвлекаясь от кода. Плюс оно умеет ставить на паузу текущий источник, если вы запустили новый (например, играла Я.Музыка, а вы вдруг открыли видео на Ютубе).

1Password

Очень удобное приложение и расширение к нему, которое хранит ваши персональные данные и умеет заполнять по требованию формы с логинами и паролями, личными данными, реквизитами карт, паспортными данными и пр. Помимо этого приучает к тому, чтобы пользоваться разными и сложными паролями на сайтах, потому что вам не нужно их самостоятельно запоминать. Пусть страдает машина. Для мобильных девайсов есть свои приложения, а на тот случай, когда вам нужно авторизоваться где-то на чужом компьютере, есть HTML-страничка, которую можно легко скинуть на флешку и пользоваться. Когда-нибудь я ещё расскажу о 1Password отдельно, а пока просто попробуйте, если ещё не.

Follow RSS

С помощью этого расширения (по ссылке их там два, не перепутайте) я добавляю РСС-ленты различных блогов, паблики ВКонтакте, аккаунты в Твиттере, каналы на Ютубе и пр. в свой аккаунт в Feedly, чтобы потом читать их в общей ленте в приложении Reeder. Если вы не пользуетесь ничем таким, то скорее всего вам и не интересно это расширение. Хотя я бы посоветовал подобную связку, потому что не нужно бегать в различные социальные сеточки, блоги и т. д., а можно получать контент по мере его выхода и читать в удобном интерфейсе (и в офлайне, конечно же, тоже). О таком же наборе инструментов когда-то писал Илья Бирман.

Octotree

Дополнение для Гитхаба. Позволяет всегда видеть дерево директорий репозитория и перемещаться по файлам намного быстрее, чем без него. Хотя это, конечно, не отменяет того факта, что у Гитхаба клёвый набор горячих клавиш, из-за которых им можно пользоваться почти без мышки.

uBlock Origin

Насколько мне известно, самый быстрый и клёвый блокировщик рекламы на данный момент. В отличие от всяких AdBlock и прочих ребят, он не продавался Гуглу, не делал белые списки для рекламы и всё прочее (но врать не буду, могу чего-то не знать). Уточню лишь, что есть две версии: uBlock и uBlock Origin. Когда-то они разделились, но в итоге uBlock Origin сейчас развивается, а uBlock загнулся.

Пользуюсь им уже довольно давно и ставлю всем знакомым. Если вы вдруг почему-то до сих пор пользуетесь другим блокировщиком рекламы, подумайте о переходе. Формат фильтров у большинства расширений одинаковый, потому вы сможете перенести свои списки без особых проблем. К слову, я ненавижу назойливые скрипты-консультанты на сайтах, потому у меня для них есть свой чёрный список.

Ghostery

Крутейший блокировщик всего подряд: от кнопок «Поделиться» до следящих за вами рекламных скриптов. К примеру, прямо сейчас, когда я пишу эту заметку, он блокирует Яндекс.Метрику, с помощью которой я за вами слежу. Ибо нефиг :-)

А поставил я его ещё давно из-за того, что всякие недобрые ребята промышляют кликджекингом, о чём я когда-то писал.

The Great Suspender

У меня есть не очень хорошая привычка. Я открываю вкладки «чтобы было», и потом не закрываю их, потому что они могут висеть как напоминание о чём-либо. День-два-неделю-месяц — вообще легко. Ноут перезагружается раз в месяц, браузер восстанавливает вкладки, так что, они могут висеть постоянно. Однако, это нагружает систему и отжирает память у всего остального. Потому для таких ребят как я придумали расширение, которое оставляет вкладку открытой, но выгружает из памяти всё её содержимое. То есть, вкладка вместо открытого сайта превращается просто в ссылку на этот сайт.

Video Speed Controller

Как и многие в этом диком XXI веке, я редко смотрю видео в интернете на оригинальной скорости. Чаще всего ускоренное в полтора-два раза, а иногда и ещё быстрее. Это экономит время и нисколько не убавляет смысла увиденного.

HTTPS Everywhere

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

Это были основные расширения. Они всегда включены, я ими пользуюсь каждый день. Теперь о тех, которые есть, но выключены и включаются только при необходимости.

Непостоянные

friGate

Это очень простое расширение для проксирования запросов к сайтам. Я пользуюсь встроенной в браузер версией, потому не скажу, какая это именно из тех, что представлены на сайте, но думаю, что они все работают примерно одним и тем же образом. В настройках создаётся список сайтов (там есть предустановленный на 200+ доменов), запросы к которым нужно проксировать. У меня мои списки разбиты по странам, чтобы было удобно переключать при пересечении границы. Работает быстро, потому в Испании, например, я без проблем пользовался Яндекс.Музыкой. Однако, есть ненулевая вероятность, что он сливает обо мне все данные куда-либо, потому я его включаю только при необходимости, и из другого браузера.

SaveFrom.net

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

Tampermonkey

Наверное, всем известное расширение для пользовательских скриптов. Помогает подхачить какой-нибудь сайт, если вдруг на нём что-то не так. Например, когда-то в InVision всё было хуже, чем сейчас, потому мы в Фанбоксе написали для себя немного скриптов для работы с ним.

RESTMan

Простенькое расширение для создания тестовых запросов. Пользуюсь им редко, потому может быть есть что-то и покруче, но меня устраивает то, что тут есть :-)

ModHeader

Полезное и простое расширение, когда нужно добавить или подменить какие-то заголовки к запросу.

React Developer Tools

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

AngularJS Batarang

Вроде как полезно для дебага Ангуляровских приложений, но сколько я не пытался им пользоваться, тот функционал, что он предоставляет, мне не нужен, а тестировать производительность с ним как-то не особо получается. Может, я не настоящий сварщик и не знаю нужного подхода. Тем не менее, всё равно держу не удаляю и храню на всякий случай. Хотя мне больше нравится простенькое следующее расширение.

Angular Watchers

Проще и быть не может — просто счётчик активных вотчеров для текущего состояния приложения на Ангуляре. Особенно удобен в виде графика. Ангуляром в наше время, кажется, хипстеры уже не пользуются, но когда нужно ускорить какой-то «древний» проект, прям очень помогает. Когда-нибудь я напишу «для истории» о том, куда нужно смотреть и что нужно править, чтобы заставить Ангуляр работать побыстрее. А то ведь ещё никто не написал!

Page Ruler

Удобная линейка для измерения каких-то объектов на сайте. Выключена, потому что на Маке я как батя всё измеряю на глаз и с помощью встроенной тулзы, которая снимает скриншоты и показывает размер выделенной области, или же с помощью панели разработчика. Но иногда всё равно пригождается.

Looper for YouTube

На тот случай, когда включаю какой-нибудь музыкальный сет на Ютубе (например, этот). Удобно поставить его на повтор и не париться.

Go Fucking Work

Когда-то блокировал им различные социальные сети и прочее, что отвлекает от работы. Обычно обещает засунуть мне что-нибудь в задницу, если я не вернусь к работе. Вдруг вам такое нравится ¯\_(ツ)_/¯.

LetyShops

Это, думаю, совсем не нуждается в представлении. Кэшбэк-сервис для покупок во всяких там Алиэкспрессах. Удивительно, сколько денег может набежать от заказов всяких мелочей из Китая.

∗∗∗

Кажется, это все расширения, что у меня есть. Надеюсь, вы нашли что-нибудь интересное для себя. А если у вас есть что-то мега-полезное, чего нет в этом списке, поделитесь в комментах :-)

А в прошлый раз я рассказывал о том, как устроен мой терминал.

Годнота — 3

Видео

  • Он вам не Димон. Шикарное расследование ФБК. Даже если политота — это не про вас, интересно посмотреть как распутывается клубок из-за каких-то кроссовок.
  • Суперсилы Chrome Dev Tools, Роман Сальников. Клёвый доклад про то, как пользоваться инструментами разработчика в Хроме. Интерфейсы на скриншотах уже устарели, но суть не изменилось. Полезно знать, что умеет ваш браузер, и чем он может помочь.

Статьи

Курсы

  • Browser Rendering Optimization. Хороший курс от ребят из Гугла об устройстве браузера, процессе рендеринга и всём таком. Скорее всего будет полезно, даже если вы считаете, что знаете что такое DOM, CSSOM, Render Tree и всё такое. Плюс там в процессе советуют тонну статей на эту тематику.
  • Use JavaScript (ES6) generators to pause function execution. Неплохой 15-минутный ввод в генераторы в Джаваскрипте. Не лучше, чем у Кантора, но зато быстро и наглядно.

Как ускорить Вордпресс или основные правила оптимизации блога

Этот пост из одного из моих старых блогов. Из песни слов не выкинешь, потому мне не стыдно за то, что он может быть слишком детским. Клёво, если он вам чем-то помог :-)

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

Вот я и подумал, давайте, что ли, разберёмся, как оптимизировать этот толстый Вордпресс и сделать из него быстрый и «малоресурсный» блог.

Как оценивать?

Для начала, выберем критерии, по которым будем оценивать оптимизацию блога. Для этого добавим в конец functions.php (перед ?>) следующий код:

function usage() {
  printf(('%d / %s'), get_num_queries(), timer_stop(0, 3));
  
  if (function_exists('memory_get_usage')) echo ' / ' . round(memory_get_usage() / 1024 / 1024, 2) . 'mb ';
}

add_action('admin_footer_text', 'usage');

А в footer.php вот такой:

<small><?php usage(); ?></small>

Добавляйте его куда угодно, но лучше прям перед </body></html>, дабы он отображался в самом низу.

Теперь мы видим вот такой вывод:

кол-во запросов / время генерации страницы / потребляемая память

Всё удобно, всё понятно. Сейчас у меня там вот такие цифры:

51 / 3,164 / 31.96mb

Многовато, согласитесь. Попробуем уменьшить эти цифры.

Локализация

Стандартом, каждая версия Вордпресса русифицирована с помощью файлов ru_RU.po и ru_RU.mo, однако, в них есть русификация админ-панели и русификация самого блога (т. е. то что видят пользователи). Естественно, что русификация админ-панели им нафиг не нужна.

Я предлагаю вам установить плагин WPLANG Lite, который создаёт ещё один файл русификации, который будет грузиться отдельно, для пользователей, тем самым облегчая им жизнь. Причём, в прямом смысле этой фразы :-)

Установить вы его можете напрямик, то бишь, из панели администратора Вордпресса. Достаточно зайти в раздел Плагины → Добавить плагин, там написать название плагина и начать искать. После этого вам выдадут целый список с плагинами, каждый из которых вы можете установить. Вам, естественно, нужен только WPLANG Lite.

Конечно, можно обойтись и без плагина. Достаточно просто переписать следующую строку в wp-config.php:

define ('WPLANG', 'ru_RU');

На:

if (strpos($_SERVER['REQUEST_URI'], 'wp-admin')) {
  define ('WPLANG', 'ru_RU');
} else {
  define ('WPLANG', 'ru_RU_lite');
}

Предварительно, конечно, создав файлы с названием ru_RU_lite. Однако, данный плагин может создавать такой файл самостоятельно и обновлять его, например, когда вы обновите свой блог до новой версии, в которой будут уже другие ru_RU. Чтобы не переделывать всё это ручками — пользуемся плагином.

Включаем его и смотрим на показания usage:

44 / 1,321 / 27.03mb

Отлично! Изменения есть, и изменения, в лучшую сторону. Идём дальше.

wp_options

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

Плагин называется Clean Options, его вы также можете установить из админ-панели. Однако, перед тем как чистить, я вам настоятельно рекомендую сделать бэкап вашей БД, мало ли, что ему не понравится и, что вы случайно удалите.

Итак, скачиваем/устанавливаем плагин, заходим в него (Инструменты → CleanOptions). Жмём на кнопочку Найти осиротелые опции. А обозвали-то как :D

Теперь вам всё нужно делать обдумывая. Можете гуглить (там дана прямая ссылка), если не знаете какая из опций нужная и за что отвечает.

У меня плагин нашёл 574 опции, оставил же я 341. Как понимаете, 233 опции удалил. Отключаем плагин, более он нам не требуется. Смотрим на цифры:

44 / 0,675 / 27.03mb

Время уменьшилось, но мне кажется, это дело в сервере :) Что ж, идём дальше.

Блокировка запроса на новые версии

У меня с самого начала был плагин, который именно так и называется. Включаем его. Однако, там написано, что он действителен только для версий 2.6-2.7, поэтому, на всякий случай откроем файл update.php, который лежит в ./wp-includes и закомментируем там следующие строки (в самом конце):

add_action('admin_init', '_maybe_update_core');
add_action('wp_version_check', 'wp_version_check');

add_action('load-plugins.php', 'wp_update_plugins');
add_action('load-update.php', 'wp_update_plugins');
add_action('load-update-core.php', 'wp_update_plugins');
add_action('admin_init', '_maybe_update_plugins');
add_action('wp_update_plugins', 'wp_update_plugins');

add_action('load-themes.php', 'wp_update_themes');
add_action('load-update.php', 'wp_update_themes');
add_action('load-update-core.php', 'wp_update_themes');
add_action('admin_init', '_maybe_update_themes');
add_action('wp_update_themes', 'wp_update_themes');

add_action('init', 'wp_schedule_update_checks');

Закомментируем — значит поставим октоторп (#) перед данными строками, получив следующее:

#add_action('admin_init', '_maybe_update_core');
#add_action('wp_version_check', 'wp_version_check');

#add_action('load-plugins.php', 'wp_update_plugins');
#add_action('load-update.php', 'wp_update_plugins');
#add_action('load-update-core.php', 'wp_update_plugins');
#add_action('admin_init', '_maybe_update_plugins');
#add_action('wp_update_plugins', 'wp_update_plugins');

#add_action('load-themes.php', 'wp_update_themes');
#add_action('load-update.php', 'wp_update_themes');
#add_action('load-update-core.php', 'wp_update_themes');
#add_action('admin_init', '_maybe_update_themes');
#add_action('wp_update_themes', 'wp_update_themes');

#add_action('init', 'wp_schedule_update_checks');

Смотрим на данные счётчика:

44 / 0,681 / 27.02mb

Особых изменений не видно, значит правду говорили о том, что теперь проверка идёт раз в 12 часов. Так или иначе, если у вас ограничение на потребление памяти — оставьте закомментированные строки, если же такого нет, то смело их убирайте и выключайте плагин.

Оптимизация шаблона

К этому тоже можно прибегнуть. Однако, мне ничем сие не помогло, поэтому расписывать все шаги не буду.

Смысл данного пункта, в замене <?php\ ...\ ?> на их значения. Например, в header.php есть такой код как:

<?php language_attributes(); ?>

Он заменяется автоматически на:

dir="ltr" lang="ru-RU"

Следовательно, вы можете сразу заменить первый код на второй, дабы не нагружать тем самым шаблон. Однако, повторюсь, мне это особого прироста в скорости не дало. Думаю, дело в том, что у меня довольно быстрый сервер, что, собственно, радует :)

Плагины кэширования

Таковых много. До недавнего времени у меня стоял WP Super Cache. Правда, отключив его, я понял, что плагин фактически ничего не делал, ибо цифры никак, повторюсь, совершенно никак не поменялись. Поэтому я решил найти какую-нибудь замену, дабы сделать цифру кол-ва запросов поменьше, да и всё остальное.

Мой выбор пал на WP File Cache. Средненький такой плагинчик. У него также есть аналог для выделенных серверов, но я пока до них не дорос. Хотя, судя по наблюдениям, блог придётся держать на выделенном сервере, ибо так можно будет лучше его оптимизировать.

Итого, после включения плагина я получил:

15 / 0,826 / 27.36mb

Как вы видите, количество запросов резко упало. Если я отключу ещё и ненужные мне плагины, то вполне смогу получить меньшие цифры.

Например:

отключу NextGEN Gallery и заменю его обычной галереей WP;
отключу QIP смайлики, ибо не очень уж они мне и нужны;
отключу Simple Counters, заменив её обычными счётчиками от FB и пр.;
отключу TweetMeme Retweet Button и заменю её, опять же, кодом;
отключу WP Grins, который зачем-то у меня включен;
отключу WP-Polls, который сейчас уже не нужен.

Получу:

11 / 0,783 / 24.42mb

Ещё большее снижение скорости + снижение потребляемой памяти + на 4 запроса меньше. Учитывая то, что голый Вордпресс съедает примерно 10 Мб (по слухам, сам не проверял), то результаты у меня более-менее хорошие.

Итого, смотрим на изменения. Было:

51 / 3,164 / 31.96mb

Стало:

11 / 0,783 / 24.42mb

Думаю, оптимизация на лицо. А вы пробовали оптимизировать свой блог? И как результаты? :)

2011   clean options   вебмастеру   вордпресс   оптимизации