Добавляем Social Likes на сайт с WordPress

В этой заметке я расскажу — как поставить себе на сайт скрипт Social Likes, который отображает кнопки социальных сетей.

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

Основная причина тормозов во время загрузки поста была в опросе всех социальных сетей, кнопки которых у меня были добавлены на сайте. Способ добавления кнопок был описан мною ранее в статье «Добавляем кнопки «Мне нравится» от Facebook, ВКонтакте, Twitter и Google+».

Если вы хотите добавить кнопки социальных сетей на сайт — выбор огромен! Это может быть кнопка «Поделиться» от компании Яндекс, блок кнопок ShareThis — тысячи их.

Во всех этих решениях есть один фатальный недостаток — они зависят от сторонних сайтов. Если сайт, который предоставляет кнопку, ляжет, то вместе с ним накроется и ваш блог (как минимум — будут тормоза при открытии страниц).

Таким образом, для автономного блога остается два варианта: написать код загрузки кнопок самому или воспользоваться готовым рабочим решением, который делает всю работу за вас и при этом не зависит от сторонних сайтов. Именно такой функционал предоставляет скрипт Social Likes.

Поехали!

Настраиваем внешний вид кнопок в конструкторе Social Likes:

Конструктор Social Likes

Для эстетов есть вариант конструктора на английском.

Затем скачиваем архив со скриптом и нужным вам файлом стилей. В архиве уже есть готовый index.html с примером, так что, если вам все понятно, можете дальше не читать.

Загружаем social-likes.min.js и файл стилей в папочку с темой и добавляем в functions.php вашей темы вот такой код:

function enqueue_social_likes() {
    $uri = get_stylesheet_directory_uri();

    // Регистрируем скрипт и указываем, что он зависит от jQuery
    wp_register_script('social-likes', $uri . '/social-likes.min.js', array('jquery'));
    // Регистрируем файл стилей
    wp_register_style('social-likes', $uri . '/social-likes_birman.css');

    // Если это страница с постом
    if (is_singular()) {
        // Вставляем скрипт в код страницы
        wp_enqueue_script("social-likes");
        // Вставляем файл стилей в код страницы
        wp_enqueue_style("social-likes");
    }
}
// Добавим вызов нашей функции во время инициализации скриптов
add_action('wp_enqueue_scripts', 'enqueue_social_likes');

Затем в single.php вашей темы добавляем вот такой блок:

<div class="social-likes">
    <div class="facebook" title="Поделиться ссылкой на Фейсбуке">Facebook</div>
    <div class="twitter" data-via="koryakokot" title="Поделиться ссылкой в Твиттере">Twitter</div>
    <div class="vkontakte" title="Поделиться ссылкой во Вконтакте">Вконтакте</div>
    <div class="plusone" title="Поделиться ссылкой в Гугл-плюсе">Google+</div>
</div>

После всех этих манипуляций вам наверняка захочется узнать — насколько часто посетители сайта кликают по этим кнопкам. К счастью Social Likes поддерживает событие popup_opened.social-likes, которое вызывается каждый раз, когда открывается окно «Поделиться». Добавляем вот такой код в footer.php вашей темы (сразу после вызова wp_footer()):

<script type="text/javascript">
jQuery('.social-likes').on('popup_opened.social-likes', function(event, service, win) {
    ga('send', 'social', service, 'share', location.href);
});
</script>

После этого заходим в Google Analytics смотрим «Источники траффика->Соцфункции->Плагины».

Если вам понравилась данная заметка, теперь вы можете поделиться ею в социальных сетях.

Флешмоб в магазине

«Флешмоб» — название мероприятия, когда вроде бы незнакомые с друг другом люди начинают делать что-нибудь забавное.
Например, в Нью-Йорке несколько людей неожиданно замирали на минуту в определенное время.

В этом видео «незнакомые» друг другу люди начинают исполнять песню «Смуглянка-молдаванка» из к/ф «В бой идут одни старики» в магазине электроники. Выглядит потрясающе, посмотрите на реакцию людей, которые просто пришли за покупками.

Система частиц с WebGL

Современные игры не были бы так хороши без системы частиц.

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

Хорошая система частиц потребляет мало памяти, быстро работает и имеет многочисленные настройки.

В OpenGL обычно создаётся вершинный буфер, который содержит все частицы одного типа и отрисовывается такой буфер за один проход.

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

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

(далее…)

Grand Theft Auto V на PC — ну наконец-то!

Сегодня знаменательный день — после долгих лет ожиданий GTA 5 наконец-то вышла на PC!

GTA V PC

Узнав о такой новости, я кабанчиком метнулся в магазин и тут же её приобрёл за 1990 рублей денег. По последнему курсу деревянного к зелёному — это всего 38 баксов с копейками.

GTA V PC

И скажу вам, друзья, это первая игра, которая занимает семь DVD дисков. И скорее всего, основной объём занимают текстуры, которые традиционно для PC рисуются в бОльшем разрешении, чем для консолей.

GTA V PC

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

Кажется, я начинаю понимать фанатов яблофона, которые с нетерпением ждут новой мобилки.

Хотя не, показалось… не начинаю. (:

UPD: Приложил фотографии коробки и дисков.

Тестовое задание для программиста в Trickster Games

Давным-давно, в далеком 2007 году, я работал в славной компании «Trickster Games». Сейчас ее уже нет, но она была известна как разработчик игр для детей и квеста «Петрович и все, все, все..».

Так вот, в те далекие времена мы придумали тестовое задание для программиста:

#include "SomeStream.h"

void main()
{
    SomeStream stream;
    stream.info() << "Привет, мир!";
}

Задача: реализовать класс SomeStream таким образом, чтобы после выполнения main() в std::cout было выведено «Привет, мир!\n» (без кавычек). То есть добавить перевод строки в конец фразы.

Тогда никто из кандидатов не смог его решить. Может вам повезет? (:

Вот вам подсказка: крутая система логирования.

Личный блог Евгения Жирнова