СтатьиДень молчания

Дабы как-то разнообразить быт и развеять скуку решил сегодня, 8 января, провести день не проронив ни слова. Эта идея родилась не у меня. Я прочел о ней на лайфхакере (О Боже!).

Думаете это было сложно? Как оказалось, для меня — нет. Учитывая, что я провел почти весь день дома, где ни с кем не разговариваю, или возможно со мной никто не разговаривает, то это было очень просто.

Я был скуп на слова, но увы, пару звуков изо рта я таки проронил:

  1. Когда что-то напевал
  2. Когда почему-то разговаривал сам с собой
  3. Когда спросил у мерчандайзера в супермаркете почему, мол, на курице ценника нет.

В общем я наебал сам себя. Ничего не говорить, так же как и чрезмерно много болтать для меня не ново. Ещё один самообман или самонедопонимание раскрыто. Шерлок Холмс хмуро поглядывает из-за угла завидуя немыслимой проницательности.

P.S. Завтра же, я проведу день без компьютера, что для меня, как серпом по яйцам, посмотрю, что из этого выйдет.

СниппетыФункция для сокращения ссылки через goo.gl

Лично я довольно часто пользуюсь сокращалкой и использую именно goo.gl. Просто, красиво и со статистикой. Грех было бы не написать немного кода работающего с востребованным сервисом.

/**
 * This function allows you to shorten link via goo.gl service
 *
 * @param $url   Url to be shorten
 *
 * @return mixed Array that consist of shortened link and other params
 */


function googleShortUrl($url)
{
    $apiKey      = 'AIzaSyDPDLH11GFnTHCZJBUAXh6BOLqttgaFmU4';
    $curlHandler = curl_init();

    //preparing the request
    curl_setopt($curlHandler, CURLOPT_URL, 'https://www.googleapis.com/urlshortener/v1/url');
    curl_setopt($curlHandler, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curlHandler, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($curlHandler, CURLOPT_HTTPHEADER, array('content-type: application/json'));
    curl_setopt($curlHandler, CURLOPT_POST, 1);
    curl_setopt($curlHandler, CURLOPT_POSTFIELDS, json_encode(array('longUrl' => $url,'key' => $apiKey)));
   
    $response = json_decode(curl_exec($curlHandler), 1);
    /*
        array('kind', 'id', 'longUrl')
        id - is shortened url
    */


    curl_close($curlHandler);

    return $response;
}

СтатьиРучная оптимизация WordPress. Уменьшение количества запросов к MySQL

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

У меня было так. Я поставил на локалке чистый WordPress и поверх все те же дополнения что и на боевом блоге. Но совсем случайно я заметил, что на живом сайте запросов несколько больше, чем на тестовом. Хотя они абсолютно идентичны. Как такое может быть?

Мне помог экстеншен Debug Queries который показывает внизу страницы список запросов к БД и, весьма условно, откуда они сделаны. Вероятнее всего плагин сначала будет чуть-чуть врать, но это лечится тем, что в wp-config нужно добавить константу

define('SAVEQUERIES', true);

Ну а теперь всё зависит от случая. Панацеи увы нет. У меня было 3 левых запроса и все они были связаны с таблицей wp_options, а именно: куча мусора в uninstall_plugins (что наталкивает на мысль, что не все плагины умеют корректно удаляться) и отсутствие theme_mods_twentyten (которая нужна, ибо я использовал в том момент эту тему)

UPD: Случайно нашел ещё один плагин для профилирования SQL-запросов — SQLMon от Владимира Колесникова

Ну а для тех кто не в теме напоминаю про использование или WP File Cache, или WP Super Cache, или чего угодно другого со схожим функционалом.