Скачать mp3 / Весь mp3-архив

Selfcast #3

Защищенные пароли

Не использовать md5, sha1/2/3 (даже с солью и итерациями) для хеширования паролей. Отныне только password_hash функция. Кстати, с появлением квантовых компьютеров (можно купить такой за 15e6$) мы вошли в эру пост-квантовой криптографии. Многие из алгоритмов шифрования либо совсем вас не защищают, либо их уровень безопасности значительно снизилася. Будьте бдительны!

Нужен ли docblock?

Возможность строгой типизации улучшает читаемость кода за счет того, что избавляет от необходимости использовать dockblock. Вы его используете? Я только тогда, когда нужно дать пояснения к аргументам метода/функции или указать на типизированный массив.

Базовый синтаксис PHP

Сложение массивов в PHP работает как объединение массивов по ключам. В случае ассоциативных массивов вполне безопасно использовать следующие альтернативные формы мёржа:

$header = array_merget(['Location' => 'https://3v4l.org'], $headers);
$header = $header + ['Location' => 'https://3v4l.org'];
$header += ['Location' => 'https://3v4l.org'];

Mutable vs Immutable

Предлагаю с сегодняшнего дня переходить с Carbon'а на Chronos. Последний - просто форк первого, но использует \DateTimeImmutable. В статье Джеф Мэдсен конкретезирует проблему Mutable vs Immutable на примере этих двух библиотек. Пример использования Carbon:

$now = \Carbon\Carbon::createFromDate(2017, 6, 13);
echo $now; //  2017-06-13 04:11:44
$twomonthslater = $now->addMonths(2);
echo $twomonthslater; //  2017-08-13 04:11:44
echo $now; //   2017-08-13 04:11:44  Uh-oh!!

Свежии конференции

Коротенькая статья про прошедшую конференцию Laracon 2017, из которой стало понятно, что если не смотрели, то не много потеряли. А также прошла SymfonyLive в Кёльне. Я бы рассказал, что там было, но немецкий только со словарем.

Немного о миграции PHP -> Java

Понимание индустрии - ключ к нужной технологии.

Роботы, меяющие свои формы и функции

Группа ученых из Бельгии разработала роботов, которые могут объединяться в одного сложного робота, формируя новое тело и обретая новые функции. Полученный робот может вести себя как единый "организм" и замещать вышедшие из строя части другими. Возможно, именно такие роботы и будут доминировать в будущем, т.к. они более автономны. Задача, решаемая учеными, состояла в разработке распределенной "нервной системы" для таких роботов. Лучше один раз увидеть.

Финишная прямая

На прошедших выходных обновил сайт подкаста: сделал html-генератор вроде hugo, но проще и разместил тексты подкастов в отдельном репозитории. Испытал глубокое удовлетворение от проделанной работы. Теперь могу держать high-load на дешевом VPS, высокая защищенность, удобство использования, простота миграции. Всем рекомендую такой путь.

В ближайшее вреям нужно будет перебраться в Краснодар на пару месяцев и решил все-таки взять ноутбук. Ужасная ситуация на рынке, на мой взгляд, из-за того, что ОС Windows так навязчиво продается: завышена цена на оброрудование с лицензионной ОС, непросто отказаться от ОС (церез сервисные центры оформляются возвраты).

Опубликовано: 15.09.2017
Теги: array_merge, mutable vs immutable, Laracon EU 2017, foobargen, квантовые компьютеры, шифрование, безопасность, docblock, Carbon, Chronos