TGViewer
Channel Public Channel
Пых

Пых

@phpyh

Блог Валентина Удальцова о разработке на PHP.

Хобот @phpyhobot
https://youtube.com/@phpyh
https://vkvideo.ru/@phpyh
https://t.me/isPHPdying

Статистика: https://t.me/INOTAROBOT?start=st1219340804

Для связи используйте личные сообщения канала.
Subscribers
7.83K
Photos
287
Videos
20
Links
629

Showing posts older than #503 · Back to latest

Older Posts 20 shown
Post #501 10.6K
Пых 🎵 Музыкальный стрим! Хотите музыкальный стрим сегодня с 17 до 18 МСК? Позже, к сожалению, не получится из-за договорённостей с соседями. Сыграю несколько песен на барабанах (можно будет даже заказать), отвечу на ваши вопросы. Посмотрим, что из этого выйдет.…
📹 Начинаю свой первый музыкальный стрим!

https://www.twitch.tv/vudaltsov
  • 👍 28
  • 🔥 10
  • 🤮 10
  • 👎 4
  • 🎉 4
  • 👏 2
  • 🤔 2
  • 💅 2
  • ⚡ 1
Post #500 10.3K
🎵 Музыкальный стрим!

Хотите музыкальный стрим сегодня с 17 до 18 МСК? Позже, к сожалению, не получится из-за договорённостей с соседями. Сыграю несколько песен на барабанах (можно будет даже заказать), отвечу на ваши вопросы. Посмотрим, что из этого выйдет. 😉

Ставь 🤩, если заглянешь.
  • 🤩 51
  • 🔥 14
  • 👍 13
  • 👎 7
  • ✍ 3
  • 😁 2
Post #499 11.4K
Пых BeerPHP сменил локацию! Митап пройдёт в лофте "Событие" на Таганке. Организаторы говорят, что эта площадка значительно лучше. Дата и время те же самые: 6 июня (завтра) в 19:00. Также мне разрешили поделиться с вами записью доклада после мероприятия! ht…
📹 BeerPHP. Пишем на PHP и не теряем память

Наконец-то мы смонтировали ролик! Помимо доклада в нём есть признание в любви к вам, матерные слова и подробная история моего RFC.

Получилось очень задорно! Спасибо организаторам и участникам BeerPHP за такую крутую атмосферу.

https://youtu.be/56I5C0NYjv8
https://vudaltsov.github.io/memory-leaks-slides/
YouTube Пишем на PHP и не теряем память • Валентин Удальцов • BeerPHP • 6 июня 2024 0:00 Крутой монтаж BeerPHP 0:20 Приветствие под Катюшу 1:15 RFC: new without parentheses 2:00 Ставь RoadRunner сегодня вечером! 3:08 Что такое утечка памяти? 4:04 Почему сложно искать и предотвращать утечки? 5:19 Не мешай PHP убираться! 7:15 Декомпозируй…
  • 👍 70
  • 🔥 32
  • ❤ 6
  • 🥰 1
  • 🌭 1
Post #498 9.57K
Пых 📹 Стримкаст про типы в PHP Завтра (12 июня) в 20:00 встретимся с Димой Елисеевым на новом канале Станислава Ракчаева и команды LivePHP "Абстрактный программист", чтобы обсудить типизацию. Ребята подкупили меня фразой "затронем Typhoon". 😂 В общем, заходите…
Стримкаст про типы в PHP

https://youtu.be/eXfsU-x3bMg
YouTube #1.1 Стримкаст. Типы и типизирование. ООП. Часть I. Обсудим типизацию, что это такое, какая бывает, зачем нужна. Типы данных в PHP, встроенные типы. Поговорим о том, для чего нужны кастомные типы. Как всё это мешает или помогает при разработке. Конечно, затронем Typhoon. Ответим на вопросы зрителей.
  • 👍 11
  • 🥱 1
Post #497 9.75K
Разбор резюме от Егора Бугаенко

https://youtu.be/af6bidlat6Q

Прям очень зашло! Когда снова буду искать работу, обязательно переделаю резюме.

Мои заметки:
• свой документ вместо типовой выгрузки с HH,
• две версии анкеты: сжатая и яркая для технаря, подробная и скучная для HR,
• убрать подработки верстальщиком в интернет-магазине в студенческие времена,
• уникальный опыт на каждом месте работы (так-то все мы рефакторим, пилим фичи и тестируем),
• каждый факт должен подтверждаться ссылкой.

Понравилась следующая мысль. Если я, например, указываю в резюме "Git" и "Symfony 6", то я лукавлю, потому что это неравноценные навыки. Я никогда не просматривал исходники гита, не делал про него докладов, тем более не контрибьютил. Да, я умею в rebase, знаю разные flow, но это само собой разумеется. В то же время у меня суммарно под сотню PR и issue в symfony/symfony, я выступал на SymfonyCon, лично знаком с Core-командой и читаю курс с использованием этого фреймворка. Принципиально другой уровень! Так что в версии резюме для технаря "Git" я уж точно уберу.
  • 👍 40
  • 🔥 13
  • 👎 11
  • 🤡 6
Post #496 6.96K
📹 Стримкаст про типы в PHP

Завтра (12 июня) в 20:00 встретимся с Димой Елисеевым на новом канале Станислава Ракчаева и команды LivePHP "Абстрактный программист", чтобы обсудить типизацию. Ребята подкупили меня фразой "затронем Typhoon". 😂

В общем, заходите, задавайте вопросы, расскажу всё, что знаю.

https://youtu.be/eXfsU-x3bMg

P.S.: Видео с прошедшего BeerPHP обязательно будет, но нужно ещё подождать.
YouTube #1.1 Стримкаст. Типы и типизирование. ООП. Часть I. Обсудим типизацию, что это такое, какая бывает, зачем нужна. Типы данных в PHP, встроенные типы. Поговорим о том, для чего нужны кастомные типы. Как всё это мешает или помогает при разработке. Конечно, затронем Typhoon. Ответим на вопросы зрителей.
  • 👍 43
  • 🔥 20
Post #495 20.4K
🐘 С днём рождения, PHP!

К 29-ому дню рождения PHP Рома Пронский опубликовал ролик, в котором он скомпилировал и запустил первую версию языка!

https://youtu.be/0BPExYh5Anw

И ещё несколько ссылок для любознательных:
• интервью с Расмусом про то, как он изобрёл PHP,
• статья Артёма Украинского про PHP 1 на Хабре,
• музей PHP.
YouTube Running PHP 1.0 in 2024 I downloaded the source of PHP 1.0, compiled it on modern MacBook, then wrote a simple CGI server using PHP 8.3, and then tried to understand what was PHP 1.0 actually capable of doing. Spoiler alert: not much. The code can be found here: https://github…
  • 🎉 80
  • 👍 18
  • 🔥 9
  • 👎 2
Post #494 9.13K
Пых 🍻 Пишем на PHP и не теряем память. It even works underwater! В этот четверг в 19:00 на Автозаводской Таганке пройдёт митап BeerPHP, посвящённый производительному PHP. Максим Хасанов расскажет про RoadRunner, Алексей Сидоркин про Swoole, а у меня будет секция…
BeerPHP сменил локацию!

Митап пройдёт в лофте "Событие" на Таганке. Организаторы говорят, что эта площадка значительно лучше. Дата и время те же самые: 6 июня (завтра) в 19:00.

Также мне разрешили поделиться с вами записью доклада после мероприятия!

https://beerphp.ru/
Яндекс Карты Событие Лофт, конференц-зал, Николоямская ул., 28, Москва — Яндекс Карты ⭐️ Рейтинг 5,0. 76 отзывов, 102 фото. Перейти на сайт, посмотреть меню, номер телефона, часы работы, вход на карте и построить маршрут вы можете в Яндекс Картах.
  • 🔥 55
  • ❤ 46
  • 👍 17
  • 🥰 1
Post #492 8.82K
🍻 Пишем на PHP и не теряем память. It even works underwater!

В этот четверг в 19:00 на Автозаводской Таганке пройдёт митап BeerPHP, посвящённый производительному PHP.

Максим Хасанов расскажет про RoadRunner, Алексей Сидоркин про Swoole, а у меня будет секция про память. Обсудим, откуда берутся утечки и как подготовить код для запуска в неумирающих рантаймах.

Только оффлайн, без трансляции и записи. Если ты в Москве, регистрируйся и приходи!

https://beerphp.ru/
  • 😢 73
  • 👍 35
  • 👎 21
  • 😡 11
  • ❤ 2
Post #491 10.3K
Пых Официально объявляю свой 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, а я пока подумаю над чем-то ещё. 🍸
  • 🔥 157
  • 🎉 63
  • 👍 34
  • 💩 5
  • 👏 4
  • ❤ 2
  • 👎 1
  • 👀 1
Post #490 10.9K
Пых Дмитрий Стогов одобрил мой PR! На текущий момент RFC набрал 16 голосов "за" и 2 "против".
Официально объявляю свой RFC принятым!

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

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

Всем огромное спасибо за поддержку!
Telegram Пых new MyClass()->method() без скобок! Вдохновлённый митапом, разобрался с синтаксисом Bison и закинул свой первый Pull Request в исходники PHP. Это изменение позволит обращаться к объектам, созданным через new, не оборачивая их в скобки. Во избежание неоднозначности…
  • 🔥 329
  • 👍 80
  • 🎉 62
  • 🤮 15
  • ❤ 4
  • 🌚 2
  • 👎 1
  • 🍾 1
  • 😎 1
Post #489 11K
ML-assisted completion

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

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

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

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

Возможно, я сейчас написал какой-то ретроградский пост и мне просто нужно установить полноценный AI Assistant, тогда-то всё встанет на свои места. Или я пишу не тот код — надо меньше думать, больше формошлёпить и крудить, а не тайфуны типунить... Короче, разубедите или поддержите меня — я в этой теме новичок.
JetBrains Marketplace Full Line Code Completion - IntelliJ IDEs Plugin | Marketplace Designed to supercharge your code completion with multi-token proposals utilizing a deep learning model. Enjoy the benefits of advanced code completion offline, as it...
  • 👍 64
  • 💯 33
  • 😁 10
  • ❤ 2
  • 🤔 2
  • 💩 1
Post #488 9.19K
Пых 🗳 Запустил голосование за свой RFC! https://wiki.php.net/rfc/new_without_parentheses#proposed_voting_choices Кстати, следить за всеми RFC можно через монитор: https://php-rfc-watch.beberlei.de/ P.S.: Всех с праздником!
Дмитрий Стогов одобрил мой PR! На текущий момент RFC набрал 16 голосов "за" и 2 "против".
  • 👍 152
  • 🔥 63
  • 🍾 32
  • 🤮 9
  • ❤ 8
  • 👎 1
Post #487 11.8K
Пых 📝 new MyClass()->method() без скобок В конце прошлого года я придумал правку для синтаксиса PHP, которая позволит не оборачивать new выражения в cкобки для обращения к ним: final class MyClass { const CONSTANT = 'constant'; public static $staticProperty…
🗳 Запустил голосование за свой RFC!

https://wiki.php.net/rfc/new_without_parentheses#proposed_voting_choices

Кстати, следить за всеми RFC можно через монитор: https://php-rfc-watch.beberlei.de/

P.S.: Всех с праздником!
  • 🎉 71
  • 🔥 36
  • 👍 26
  • 🤮 15
  • 👎 1
Post #486 14.5K
Уязвимость в 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
www.php.net PHP is a popular general-purpose scripting language that powers everything from your blog to the most popular websites in the world.
  • 👍 84
  • 🤝 8
  • 😁 3
  • ❤ 2
Post #485 9.76K
Post #484 11.1K
Podlodka PHP Crew

На ближайшей неделе стартует очередная подлодка PHP, в этот раз про БД. Но уже сегодня пройдёт открытая сессия «Зачем переходить на MySQL 8, если есть PostgreSQL в 5.х всё устраивает?»

В среду 24 апреля в 19:00 мы встретимся с Кириллом Несмеяновым, чтобы найти ответ на другой вопрос: «Зачем использовать ORM, если есть чистый SQL?»

Ну а так каждый день будет что-то интересное: Redis, Elasticsearch, Doctrine, масштабирование и миграции.

Зашифрованный одноразовый бесплатный билет для пыхаря: 4655434b-2d4f-854d-ad55-53452d53514c (уже использован) и многоразовый промокод на 500 рублей: PHPYH.

https://podlodka.io/phpcrew

Мем от @markin_igor из PHP Fart Time.
Реклама. ИП Толстая Елена Петровна ИНН:507503278104, erid:2SDnjbrpi81
  • 🔥 25
  • ❤ 13
  • 👍 12
  • 😁 4
  • 🤮 4
Post #483 11K
Пых 📣 Стачка! Stop working! Typhoon! В эту пятницу в 15:20 по местному времени я выступаю в Ульяновске на Стачке с докладом про Typhoon (секция Backend). Расскажу, как мы собирали систему типов typhoon/type, вдохновляясь Psalm и PHPStan, как её редуцировали,…
Я на месте. Кто тут и хочет поболтать, пишите.
  • 🔥 85
  • 😁 15
  • 💩 15
  • 👍 9
  • 😎 1
Post #482 12.2K
📣 Стачка! Stop working! Typhoon!

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

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

https://ul24.nastachku.ru/schedule
  • 👍 45
  • 🔥 15
  • ❤ 6
Post #481 10.5K
Пых Ilija Tovilio, на текущий момент один из самых активных контрибьюторов в PHP, только что дал мне карму для публикации RFC и пожелал удачи! Буду считать это хорошим знаком! 💪 https://externals.io/message/122052#122053
📝 new MyClass()->method() без скобок

В конце прошлого года я придумал правку для синтаксиса PHP, которая позволит не оборачивать new выражения в cкобки для обращения к ним:


final class MyClass
{
const CONSTANT = 'constant';
public static $staticProperty = 'staticProperty';
public static function staticMethod(): string { return 'staticMethod'; }
public $property = 'property';
public function method(): string { return 'method'; }
public function __invoke(): string { return '__invoke'; }
}

var_dump(
new MyClass()::CONSTANT, // string(8) "constant"
new MyClass()::$staticProperty, // string(14) "staticProperty"
new MyClass()::staticMethod(), // string(12) "staticMethod"
new MyClass()->property, // string(8) "property"
new MyClass()->method(), // string(6) "method"
new MyClass()(), // string(8) "__invoke"
);


Только что я наконец-то опубликовал RFC через internals! В течение как минимум двух недель будет проходить обсуждение, потом открою голосование.

RFC: https://wiki.php.net/rfc/new_without_parentheses
Реализация и тесты: https://github.com/php/php-src/pull/13029
Можно следить за обсуждением на сайте, а можно подписаться на рассылку и принять в нём участие.
  • 🔥 135
  • 👍 50
  • 👎 17
  • 😐 7
  • ❤ 2
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →