<rmcreative>

RSS
  1. Замена клавиш Huawei Matebook X Pro

    22 марта 2021

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

    Официальный сервис забирает ноут и держит его у себя довольно долго. К тому же, гарантия закончилась и это будет прилично стоить так как меняется клавиатура целиком. Можно заказать кнопочки на специальных сайтах:

    • replacementlaptopkeys - 20$ + доставка.
    • Можно поискать "Matebook X Pro Keys" на eBay. Это 15$ + доставка. Но клавиши там с разборки и нужных часто нет.
    • laptopkey - 8€.

    К счастью, есть Aliexpress. Найти там что нужно оказалось не так просто, так что вот ссылка. 100 рублей кнопка и ножницы (лучше брать комплект) + 550 рублей доставка.

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

    Как менять:

    4 комментария
  2. Расшифровка "Теория программирования: пакетные принципы и метрики"

    17 марта 2021

    Вышла расшифровка моего доклада про пакетные метрики, дополнение к SOLID. Опубликована на хабре:

    Читаем

    1 комментарий
  3. Новости Yii 2021, выпуск 1

    5 марта 2021

    Первый выпуск новостей за год. Релизы пакетов, интересное из разработки и немного про финансы.

    Читаем на хабре

    Комментировать
  4. PHP: превращаем ошибку в исключение локально

    20 февраля 2021

    В PHP часто для обработки ошибки в функциях вроде dns_get_record() используют оператор @:

    $result = @dns_get_record($hostname, DNS_A);
    if (!$result) {
        throw new \RuntimeException('Unable to get record.');
    }

    Проблем несколько:

    • Использование @ не очень хорошо сказывается на производительности
    • Часто подавляется слишком много разных ошибок.

    Есть способ лучше:

    set_error_handler(
        static function (int $errorNumber, string $errorString) use ($hostname): ?bool {
             throw new \RuntimeException(
                 sprintf('Unable to get record: "%s". ', $hostname) . $errorString,
                  $errorNumber
             );
        }
    );
     
    $result = dns_get_record($hostname, DNS_A);
     
    restore_error_handler();
    2 комментария
  5. PHP, OpenSSL и ошибка certificate verify failed

    17 февраля 2021

    При попытке использования OpenSSL на некоторых системах возникает ошибка:

    stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed

    Исправляется довольно просто:

    1. Сливаем https://curl.haxx.se/ca/cacert.pem.
    2. В php.ini добавляем openssl.cafile="/путь/до/cacert.pem".

    Так же точно исправляется ошибка "cURL error 60".

    Вроде просто, но почему-то подавляющее большинство советов на эту тему, в том числе большинство ответов на StackOverflow, говорят "отключить проверку", что, конечно же, приводит к возможности атаки man in the middle.

    Комментировать
  6. Онлайн митап от ВсеИнструменты.Ру о PHP, MySQL, нагрузках и асинхронности

    4 февраля 2021

    12 февраля в 17:00 состоится митап, в котором я приму непосредственное участие. Темы:

    • Best Practice из Go для PHP.
    • Оптимизация MySQL в условиях HighLoad.
    • Холивар про асинхронность в PHP.

    Регистрируемся

    Комментировать
  7. Интервью с Hexlet

    4 февраля 2021

    Ещё одно интервью с Hexlet. На этот раз текстом и брал его Святослав Иванов. Про то, как я втянулся в PHP, про сам язык, его сообщество, OpenSource и Yii.

    Читаем

    Комментировать
  8. PHP Russia 2020 переносится на 28 июня 2021 года

    23 января 2021

    Ещё раз пришлось перенести конференцию. Самим это, конечно, очень не нравится, но поделать нечего. Нам, как и всем остальным, хочется нормального оффлайнового общения, а оно пока невозможно.

    Комментировать
  9. Евгений Россинский про прыгунов

    14 января 2021

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

    Об одной из них в интервью рассказал Евгений Россинский, СТО ivi и член ПК Highload и РИТ:

    Люди, которые прыгают из одной компании в другую, проработав по году, не отвечают за свои слова. Это значит, что те архитектурные решения, которые они сделали, проверяет кто-то другой. И они не получают того самого опыта, который нужен для жизни долгоиграющего сервиса. Ты устроился работать в компании, проработал там два месяца, написал какой-то сервис или сделал какую-нибудь фичу, а когда эта фича через 7-8 месяцев перешла в суровую эксплуатацию, ты увольняешься. Но кто будет отвечать за то, что эту хрень написал ты?

    11 комментариев
  10. 2020

    2 января 2021

    Год получился непростым, непривычным, немного страшным и непредсказуемым, но, в общем, неплохим. Итоги в этот раз чуть отстали, но не написать их не могу, как-никак, стабильно подвожу их с 2010.

    Читаем

    2 комментария