Обсудили с Сергеем Жуком «кровавый open source»:
- Почему много хейта?
- Что представляет собой разработка open source проекта?
- Есть ли вообще смысл идти в open source?
26 апреля 2021
Обсудили с Сергеем Жуком «кровавый open source»:
19 апреля 2021
Если у вас нормально настроен firewall, то есть последним правилом запрещено всё, то Docker-контейнеры по умолчанию не смогут ходить в интернет.
Чтобы исправить нужно это явно разрешить подсети Docker.
Идём в Docker -> Network. Раскрываем Bridge и видим подсеть. Например, 172.17.0.0/16
. Сразу считаем маску подсети. Получается 255.255.0.0
.
Идём в Control Panel -> Security -> Firewall -> Edit Rules. Добавляем новое правило:
172.17.0.0
255.255.0.0
Правило ставим выше общего запрещающего. Теперь Docker сможет ходить в интернет.
22 марта 2021
Понадобилось заменить на ноуте SHIFT и CTRL. Заводской шифт сначала облез, а затем разломился пополам.
Официальный сервис забирает ноут и держит его у себя довольно долго. К тому же, гарантия закончилась и это будет прилично стоить так как меняется клавиатура целиком. Можно заказать кнопочки на специальных сайтах:
К счастью, есть Aliexpress. Найти там что нужно оказалось не так просто, так что вот ссылка. 100 рублей кнопка и ножницы (лучше брать комплект) + 550 рублей доставка.
Перед заказом обязательно нужно написать продавцу и выслать фото потому как моделей много, на каждую модель ноута немного отличаются.
Как менять:
17 марта 2021
Вышла расшифровка моего доклада про пакетные метрики, дополнение к SOLID. Опубликована на хабре:
5 марта 2021
Первый выпуск новостей за год. Релизы пакетов, интересное из разработки и немного про финансы.
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();
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
Исправляется довольно просто:
openssl.cafile="/путь/до/cacert.pem"
.Так же точно исправляется ошибка "cURL error 60".
Вроде просто, но почему-то подавляющее большинство советов на эту тему, в том числе большинство ответов на StackOverflow, говорят "отключить проверку", что, конечно же, приводит к возможности атаки man in the middle.
4 февраля 2021
12 февраля в 17:00 состоится митап, в котором я приму непосредственное участие. Темы:
4 февраля 2021
Ещё одно интервью с Hexlet. На этот раз текстом и брал его Святослав Иванов. Про то, как я втянулся в PHP, про сам язык, его сообщество, OpenSource и Yii.
23 января 2021
Ещё раз пришлось перенести конференцию. Самим это, конечно, очень не нравится, но поделать нечего. Нам, как и всем остальным, хочется нормального оффлайнового общения, а оно пока невозможно.