Пых
8.32K subscribers
185 photos
10 videos
4 files
482 links
Блог @vudaltsov о разработке на PHP.

Хобот: @phpyhobot
YouTube: https://youtube.com/@phpyh
VK Видео: https://vkvideo.ru/@phpyh
Мемы: https://t.me/isPHPdying
Статистика: https://t.me/INOTAROBOT?start=st1219340804

Реклама и вакансии НЕ размещаются.
Download Telegram
Прямой эфир с Валентином Удальцовым

Когда-то давно я делал стрим с Валентином, где мы общались про него, его опыт, немного про PHP и планы на будущее.

Будущее наступило — прошло почти 4 года и сегодня Валентин приедет ко мне в гости и мы проведем еще один прямой эфир и пообщаемся на разные темы.

Мне лично интересно обсудить как он решился на запуск своего образовательного проекта после стольких лет стабильной работы фуллтайм и как ему это нравится (или нет).

Правила для зрителей стандартные — задавайте вопросы и автору самого лучшего вопроса положена пицца за мой счет:)

Начнем в 19.00 сегодня!
Стрим будет тут: youtube.com/live/QPdhrhY0UGY
February 26, 2024
📹 Typhoon 0.3.0

Новая система типов • Трейты • Атрибуты • Совместимость с родной рефлексией • Монорепо

Жду всех на PHP Point сегодня в 19:00. Про третий поток тоже расскажу.

https://youtu.be/zW0wNb_2i2s
Please open Telegram to view this post
VIEW IN TELEGRAM
March 1, 2024
👨‍🏫 Хардкорный курс PHP, 3-ий поток

Ну что ж, после релиза Typhoon с чувством выполненного долга возвращаюсь к своему Edtech преподаванию! Обновил описание курса, добавил новые отзывы и гистограмму с оценками.

Набор на третий поток будет осуществляться так же, как в прошлый раз. Завтра (4 марта) в 15:00 по Москве на канале Пых появится ссылка на срез знаний. При проверке я сначала буду отбирать анкеты с правильными ответами, а потом ранжировать их по времени. Удачи!

https://vudaltsov.notion.site/PHP-d4be63d0b6b7486787861fdbab080d1c
Please open Telegram to view this post
VIEW IN TELEGRAM
March 3, 2024
Пых
Срез знаний для 3-его потока Хардкорного курса PHP! https://forms.gle/Tr2y4JNnj9qhHytm9 Удачи! 😉️️️️️️
March 6, 2024
Пых
Ilija Tovilio, на текущий момент один из самых активных контрибьюторов в PHP, только что дал мне карму для публикации RFC и пожелал удачи! Буду считать это хорошим знаком! 💪 https://externals.io/message/122052#122053
April 8, 2024
📣 Стачка! Stop working! Typhoon!

В эту пятницу в 15:20 по местному времени я выступаю в Ульяновске на Стачке с докладом про Typhoon (секция Backend). Расскажу, как мы собирали систему типов typhoon/type, вдохновляясь Psalm и PHPStan, как её редуцировали, как искали в ней место для self, parent и static.

Ульяновские пыхари, отзовитесь в комментариях! Можем дополнительно организоваться до или после конфы и где-то посидеть.

https://ul24.nastachku.ru/schedule
Please open Telegram to view this post
VIEW IN TELEGRAM
April 9, 2024
April 18, 2024
Уязвимость в iconv() в GNU C Library

Новость про CVE-2024-2961 в привязке к PHP так раздули, что у многих сложилось впечатление, будто уязвимость в самом языке и масштаб последствий для пыхарей невероятно велик. Это не так. Уязвимость проявляется только при использовании функций и стрим-фильтров расширения iconv с непровалидированными кодировками, полученными снаружи. Ну то есть надо прям вот такое иметь в коде, чтобы словить атаку:


iconv('utf-8', $_REQUEST['charset'], 'my_text');


Думаю, все понимают, что в современном коде это маловероятно.

Также не ждите патч-релиза со стороны PHP. glibc подключается динамически и не компилируется в исполняемый файл. Достаточно просто обновить glibc.

Подробнее в официальном ответе на сайте PHP: https://www.php.net/archive/2024.php#2024-04-24-1
April 26, 2024
ML-assisted completion

Примерно с месяц у меня в PhpStorm включен бесплатный Full Line Code Completion. Если бы после обновления он не был "искаропки", я б, наверное, так и не попробовал ничего подобного. Но раз судьба свела, вот мои наблюдения.

Без помощника:
1. размышляю над тем, что написать дальше (по сути, это самый сложный и долгий этап),
2. пишу код, используя хоткеи, шаблоны и стандартный предсказуемый автокомплит.

С помощником:
1. размышляю над тем, что написать дальше,
2. ввожу пару символов, вижу на экране подсказку (иногда с запозданием),
3. зрительно анализирую её (дополнительная мыслительная деятельность),
4. с вероятностью 40% ассистент не угадывает точь-в-точь, goto 2;
5. с вероятностью 60% угадывает, нажимаю Tab.

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

Возможно, я сейчас написал какой-то ретроградский пост и мне просто нужно установить полноценный AI Assistant, тогда-то всё встанет на свои места. Или я пишу не тот код — надо меньше думать, больше формошлёпить и крудить, а не тайфуны типунить... Короче, разубедите или поддержите меня — я в этой теме новичок.
May 14, 2024
Пых
Дмитрий Стогов одобрил мой PR! На текущий момент RFC набрал 16 голосов "за" и 2 "против".
Официально объявляю свой RFC принятым!

Не буду ждать утра, чтобы сообщить, что я только что закрыл голосование на отметке в 25 голосов против 4. Это означает, что в PHP 8.4 мы с вами сможем писать new без скобок! Осталось только дождаться мёрджа PR в мастер.

До сих пор не верится, что шальная попытка законтрибьютить в PHP, предпринятая за завтраком 26 декабря прошлого года, увенчалась успехом. Теперь есть запал для пары других идей. Попробую летом их оформить.

Всем огромное спасибо за поддержку!
May 24, 2024
Пых
Официально объявляю свой RFC принятым! Не буду ждать утра, чтобы сообщить, что я только что закрыл голосование на отметке в 25 голосов против 4. Это означает, что в PHP 8.4 мы с вами сможем писать new без скобок! Осталось только дождаться мёрджа PR в мастер.…
🎉 Merged!

После исправления косяка, замеченного зорким глазом Никиты Попова, мой PR был окончательно одобрен и наконец-то попал в master! У них там как-то странно это происходит — через отдельный commit и закрытый PR, хотя у меня во всех проектах на GitHub аналогичный squash + rebase по кнопке даёт фиолетовый статус "merged", а не красный "closed". Но не суть.

Тем временем я закинул в internals ещё одну идею. Я предложил вынести методы ArrayAccess::offsetExists, offsetGet в отдельный интерфейс с рабочим названием ArrayAccessRead, чтобы можно было делать иммутабельные коллекции, поддерживающие $object['key'] синтаксис только в режиме чтения. Но выяснилось, что уже есть драфт отличного RFC, который предлагает куда более глубокое переосмысление кривого ArrayAccess. Надеюсь, что он тоже попадёт в 8.4, а я пока подумаю над чем-то ещё. 🍸
Please open Telegram to view this post
VIEW IN TELEGRAM
May 28, 2024