Пых
8.36K subscribers
212 photos
12 videos
6 files
528 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
Пых
Как подменить файл из autoload.files Сегодня в конце стрима я написал в тикете Infection, почему мутация функций очень полезна. Один из мейнтейнеров поставил под вопрос возможность подмены оригинальных файлов из секции autoload.files на мутированные. Ну а…
Open Source Цех #5 / Мутация функций в Infection

Через час в 15 жду всех в Цеху! Попробуем научить Infection мутировать функции, а заодно разберёмся, как работает замечательный фреймворк мутационного тестирования от Макса Рафалко.

YouTube: https://youtu.be/UTaRm_sZr_w
VK Видео: https://vkvideo.ru/video-228746873_456239039
Тикет: https://github.com/infection/infection/issues/1482
Задонатить: https://www.donationalerts.com/r/vudaltsov
🔥15👍83
Пых
Коллекционный PHP-слоник 💙 Пых! Как вы все знаете, маскот языка PHP — слон. В 1998 году Vincent Pontier придумал дизайн оригинального плюшевого слоника, который с тех пор был многократно переосмыслен по различным поводам. Я давно мечтал о слоне для Пыха…
Последняя возможность купить 💙 слона!

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

Производство стартовало ещё на прошлой неделе, ориентировочная дата завершения — 1 июля. С учётом доставки партии из Иркутска в Москву, я надеюсь, что начну вам отправлять слоников уже 7 июля.

А теперь радостные новости по поводу лекции. Сегодня я связался с менеджером planeta.ru, объяснил, что нам нет смысла ждать 20 апреля, и она согласилась завершить проект досрочно — 2 апреля!

Это означает, что у тех, кто ещё не заказал слоника, осталось 3 дня, чтобы поддержать проект. А я тем временем начинаю готовиться к лекции по MessageBus. До встречи!

https://planeta.ru/campaigns/phpyh_slon
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥34👍9👏71🍌1
Реальная история названия канала

https://www.urbandictionary.com/define.php?term=P.Y.H

С 1 апреля!
😁118🔥23😱63👍3👎3🌚3🤣1
Пых
Open Source Цех #4 / PHP-CS-Fixer, Brick\Math, Infection Сегодня в очередном выпуске Цеха изучим ревью моего PR в PHP-CS-Fixer с прошлых стримов, поконтрибьютим в пару проектов и посмотрим на канал @open_source_php от Димы Дерепко. Приходите в 18, разогрею…
Смерджили мой PR в Brick\Math с Open Source Цеха #4!

https://github.com/brick/math/pull/90

Суть изменения тривиальна: сузить возвращаемый тип BigInteger::__toString() и BigDecimal::__toString() до numeric-string, чтобы после приведения к строке значения можно было передавать в numeric-string и non-empty-string параметры (мне это потребовалось в недрах Typhoon).

Сначала на стриме я попробовал по-честному расставить типы по всей внутрянке, но упёрся в то, что в местах конкатенации numeric-string не выводится и его нужно форсить (прописывать @var или assert). В итоге предложил автору лёгкий путь: зафорсить тип только в самом методе __toString() и больше ничего не менять.

BenMorel согласился с моими доводами и зарелизил улучшение в 0.13.1.

Процесс контрибьютинга от форка до PR:
https://youtu.be/viWYmUUsD5I?t=3900s
https://vkvideo.ru/video-228746873_456239037?t=1h7m20s
👍38🔥155🏆2❤‍🔥1🤣1
Пыхап #3 / 18 апреля 2025

Ровно через 2 недели состоится третий Пыхап! В программе 2 доклада и так полюбившийся вам Открытый микрофон:

😨 Раскапываем редис
Алексей Сидоркин раскроет нам все нюансы работы с Redis: кластеризация, AOF vs RDB, структуры данных и клиенты для PHP.

💰 Лайвкодим крипту на PHP
Сергей Жук снова достанет свои Money и, пошарив экран, покажет, как перевести крипту и не остаться с "нонсом".

🎤 Открытый микрофон (только офлайн)
В конце митапа любой участник сможет на 5-10 минут завладеть микрофоном и флипчартом и поделиться насущной проблемой, элегантным решением или историей про то, как уронил накануне прод.

🍕 В перерывах традиционное пицца-driven общение, а после митапа афтепати в грузинском ресторане.

Пыхап пройдёт всё там же — в уютном лофте «Событие» на Таганке. Собираемся в пятницу в 18:30. Ну и конечно же митап будет транслироваться на YouTube и VK Видео с записью!

https://phpyh.timepad.ru/event/3250220/#register

Спонсор третьего Пыхапа — YCLIENTS.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥33👍148
PHP True Async: обсуждаем RFC с автором

1 марта Дмитрий опубликовал первую версию RFC "PHP True Async". Цели предложения: установить стандарт конкурентного программирования на PHP, разработать С-API, отрефакторить существующие функции и расширения.

В процессе бурного обсуждения в internals было поднято несколько важных вопросов:
▸ На какие этапы следует разбить такой большой проект?
▸ Нужно ли явно активировать Scheduler и как это связано с обратной совместимостью?
▸ Нужна ли в PHP structured concurrency? Как это согласуется с файберами?
▸ Будет ли поддержка многопоточности, как, например, в Go?

Чтобы во всём этом разобраться, я решил организовать стрим с участием Дмитрия, разработчика RFC, и Вадима, автора доклада Чем вам не угодил асинхронный PHP? на PHP Russia 2024.

Встречаемся в эту среду 9 апреля в 19:00 МСК:
https://youtu.be/K9FnRQIzklM
https://vkvideo.ru/video-228746873_456239042

Предвкушаю непростой для понимания разговор, поэтому приступил к изучению матчасти. Вот несколько полезных ссылок:
Первая версия RFC, 1-я фаза обсуждения
Обновлённая версия RFC, 2-я фаза обсуждения
Репозиторий с самыми актуальными текстами Дмитрия на GitHub
Notes on structured concurrency, or: Go statement considered harmful
Java Virtual Threads, Kotlin Coroutines, Swift Structured concurrency
🔥58👍144
Пых
Пыхап #3 / 18 апреля 2025 Ровно через 2 недели состоится третий Пыхап! В программе 2 доклада и так полюбившийся вам Открытый микрофон: 😨 Раскапываем редис Алексей Сидоркин раскроет нам все нюансы работы с Redis: кластеризация, AOF vs RDB, структуры данных…
Регистрация на Пыхап #3 открыта!

https://phpyh.timepad.ru/event/3250220/#register

В конце следующей недели пройдёт третий Пыхап. В программе 2 доклада, Открытый микрофон (только офлайн), пицца и афтепати.

🗓 18 апреля в 18:30 (пятница)

📍 Событие Лофт на Таганке

💸 1000р. за офлайн-билет, участие онлайн бесплатное

Спонсор митапа — YCLIENTS.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥95👍5
Property Hooks во всей красе

Вчера на курсе обратил внимание, что низкоуровневый интерфейс обработчика сообщений, о котором многие из вас скоро узнают на лекции по MessageBus, в PHP 8.4 было бы в разы приятнее имплементировать. Как это выглядит сейчас:


interface Handler
{
public function id(): string;

public function handle(Context $context): mixed;
}

final readonly class CallableHandler implements Handler
{
public function __construct(
private string $id,
private Closure $handler,
) {}

public function id(): string
{
return $this->id;
}

public function handle(Context $context): mixed
{
return ($this->handler)($context);
}
}


Бесит, что для id в имплементации надо так много всего написать. А вот аналогичный вариант в PHP 8.4:


interface Handler
{
public string $id { get; }

public function handle(Context $context): mixed;
}

final readonly class CallableHandler implements Handler
{
public function __construct(
public string $id,
private Closure $handler,
) {}

public function handle(Context $context): mixed
{
return ($this->handler)($context);
}
}


Ну кайф же? -5 строк кода! К сожалению, я пока не могу себе позволить писать опенсорсные либы с "php": "^8.4", но хоть вы за меня на проектах оттянитесь!
___________

Тем временем разобрали половину билетов на Пыхап в следующую пятницу. Регистрация продолжается: https://phpyh.timepad.ru/event/3250220/#register
🔥27👍12💩5👎41
Пых
PHP True Async: обсуждаем RFC с автором 1 марта Дмитрий опубликовал первую версию RFC "PHP True Async". Цели предложения: установить стандарт конкурентного программирования на PHP, разработать С-API, отрефакторить существующие функции и расширения. В процессе…
PHP True Async: обсуждаем RFC с автором

Сегодня в 19:00 по Москве мы встретимся с Дмитрием и Вадимом, чтобы обсудить RFC PHP True Async и перспективы появления нативной асинхронности в PHP. Основные темы:

▸ Опыт других языков.
▸ Экосистемы AMPHP, ReactPHP, Swoole.
▸ Нужна ли в PHP structured concurrency? Как это согласуется с файберами?
▸ Будет ли поддержка многопоточности, как, например, в Go?
▸ На какие этапы будет разбит такой большой проект?

https://youtu.be/K9FnRQIzklM
https://vkvideo.ru/video-228746873_456239042

🎫 Авторы самых интересных вопросов в чате трансляции получат бесплатные билеты на третий Пыхап!

Для подготовки рекомендую изучить RFC, а также посмотреть доклад Вадима Чем вам не угодил асинхронный PHP? Другие полезные ссылки в первом анонсе.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥29👍167😢1
Краудфандинг. Лекция по MessageBus

Проект Коллекционный PHP-слоник Пых успешно собрал средства. Вы перевыполнили план аж на 21%! 💙

Как мы действуем дальше:

▸ Завтра (12 апреля) в 14:00 я прочитаю лекцию по MessageBus. Для получения ссылки на трансляцию обратитесь к новоиспечённому помощнику канала Пых — Хоботу.

▸ По слоникам PHP 8 я передал информацию Сергею Пантелееву. Он уже всем написал в личку и приступил к отправке.

Пых-слоники, как вы знаете из предыдущих новостей, давно запущены в производство и должны приехать ко мне в начале июля. Тогда же я начну проводить личные встречи.

Ещё раз всем спасибо за участие и до встречи на лекции!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27🔥218
Пыхап в эту пятницу вечером!

Третий митап от канала Пых пройдёт 18 апреля в 18:30 в Лофте Событие на Таганке.

Как всегда, мы будем транслировать доклады на YouTube и VK Видео с записью, однако завести полезные знакомства, задать вопросы команде YCLIENTS и душевно подискутировать на Открытом микрофоне можно только офлайн!

Регистрируйся, осталось всего несколько билетов: https://phpyh.timepad.ru/event/3250220/

В программе:

😨 Раскапываем редис
Алексей Сидоркин раскроет нам все нюансы работы с Redis: кластеризация, AOF vs RDB, структуры данных и клиенты для PHP.

💰 Лайвкодим крипту на PHP
Сергей Жук снова достанет свои Money и, пошарив экран, покажет, как перевести крипту и не остаться с "нонсом".

🎤 Открытый микрофон (только офлайн)
В этой секции любой участник сможет на 5-10 минут завладеть сценой, поделиться проблемой или решением и получить обратную связь. Кирилл Несмеянов и Антон Морев уже планируют принять участие. Напиши мне, если тоже хочешь выступить.

🍕 Традиционное пицца-driven общение в перерывах, а после митапа — афтепати в грузинском ресторане.

💛 Спонсор третьего Пыхапа — YCLIENTS.
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥21👍7👌31
Podlodka PHP Crew. «High Performance»

Следующая неделя (21-25 апреля) в PHP сообществе пройдёт под флагом онлайн-конференции Podlodka PHP Crew. Тема этого сезона — High Performance.

Доклады, которые меня заинтересовали:

• Performance-тюнинг PHP: от кода до инфраструктуры (Виталий Лихачёв)
Доклад будет полезен разработчикам, стремящимся выжать максимум из своих приложений, и DevOps инженерам, управлящим инфраструктурой проектов, построенных на php.


• Неочевидные оптимизации опкодов в PHP (Дмитрий Кириллов)
Любой серьёзный разработчик рано или поздно сталкивается с задачами, которые требуют сложных вычислений на CPU. Насколько хорошо приспособлен PHP для реализации таких алгоритмов, и как "выжать" из языка максимальную мощность?


• Оптимизация БД: когда индексы не работают (Олег Мифле)
Рассмотрим сценарии, в которых индексы приносят больше вреда, чем пользы. Заставим эффективно работать уже существующие индексы и обсудим другие способы оптимизации, когда индексы не эффективны.


• Низкоуровневая оптимизация производительности PHP от кода до AI-агентов (Александр Макаров)
Разберём вопросы оптимизации производительности кода начиная от микрооптимизаций и заканчивая использованием AI-агентов чтобы они как-нибудь сами всё сделали...


Регистрация: https://podlodka.io/phpcrew

По промокоду phpyh6 скидка 500р!
👍15🔥106🤣3
Пых
Пыхап в эту пятницу вечером! Третий митап от канала Пых пройдёт 18 апреля в 18:30 в Лофте Событие на Таганке. Как всегда, мы будем транслировать доклады на YouTube и VK Видео с записью, однако завести полезные знакомства, задать вопросы команде YCLIENTS…
Сегодня вечером состоится третий Пыхап!

🏘 Офлайн
В 18:30, мы будем ждать тебя в лофте «Событие» на Николоямской, 28. Там тебя встретит Инна, будь готов показать ей билет, который пришёл на почту после регистрации.

Если у тебя поменялись планы, ты можешь вернуть билет с полной компенсацией через TimePad. И наоборот, если ты только сегодня надумал прийти, у нас найдутся билеты.

📹 Онлайн
Трансляция начнётся в 19:00 в YouTube, VK Видео и Telegram. Все вопросы из чата я обязательно задам спикеру. По этим же ссылкам Пыхап, как обычно, можно будет посмотреть в записи.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍169🔥6🤝1
Пых
Сегодня вечером состоится третий Пыхап! 🏘 Офлайн В 18:30, мы будем ждать тебя в лофте «Событие» на Николоямской, 28. Там тебя встретит Инна, будь готов показать ей билет, который пришёл на почту после регистрации. Если у тебя поменялись планы, ты можешь…
Пыхап #3

Буквально через несколько минут начнётся третий Пыхап! Залетайте в трансляцию в YouTube, VK Видео и Telegram, комментировать можно прямо под этим постом!

😨 Раскапываем редис
Алексей Сидоркин раскроет нам все нюансы работы с Redis: кластеризация, AOF vs RDB, структуры данных и клиенты для PHP.
⬇️Слайды

💰 Лайвкодим крипту на PHP
Сергей Жук снова достанет свои Money и, пошарив экран, покажет, как перевести крипту и не остаться с "нонсом".
Получившийся код Серёга выложит после Пыхапа.

🎤 Открытый микрофон (только офлайн)
В этой секции любой участник сможет на 5-10 минут завладеть сценой, поделиться проблемой или решением и получить обратную связь.

💛 Спонсор третьего Пыхапа — YCLIENTS.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1612🔥6
Пых
Пыхап #3 Буквально через несколько минут начнётся третий Пыхап! Залетайте в трансляцию в YouTube, VK Видео и Telegram, комментировать можно прямо под этим постом! 😨 Раскапываем редис Алексей Сидоркин раскроет нам все нюансы работы с Redis: кластеризация…
Третий Пыхап прошёл на ура!

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

Доклады Алексея и Сергея мы скоро зальём отдельными роликами. Открытый микрофон прошёл так же душевно и разнопланово, как и в прошлый раз:

Антон Морев рассказал, как меняется отношение разработчика к работе и деньгам, когда он начинает свой бизнес.

Сергей Исаков озадачился нехваткой молодых пыхарей и предложил пройти мини-опрос джунам, которые ищут работу на PHP.

Николай Шаповалов посвятил в положение дел в сообществе Drupal.

Кирилл Несмеянов подловил на незнании нескольких особенностей PHP.

Следующий Пыхап мы проведём совместно с Lamoda Tech в июне. Подробности будут чуть позже. До встречи!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7420👍18