ru
Feedback

Не попадитесь на канал ботавода! Telemetrio находит и помечает такие каналы 👉 Хотите видеть метку — оформите подписку

PHP Fart Time

PHP Fart Time

Открыть в Telegram

Привет, фартаны! Дурачимся, пилим OpenSource и рассказываем про пердовые технологии в php. Авторы контента: @roxblnfk и @butschster

Больше
1 963
Подписчики
-124 часа
-17 дней
+730 дней
Архив постов
А у меня для вас вот такой промокод на Пыхник: PHPFART-26. Приходите смотреть, как я облажаюсь )
А у меня для вас вот такой промокод на Пыхник: PHPFART-26. Приходите смотреть, как я облажаюсь )

Кстати, Роман и из JetBrains ушёл. Так что этот тред посвящён оплакиванию PHPStorm. Хорошая IDE была. Блин, а я её ещё на 3 г
Кстати, Роман и из JetBrains ушёл. Так что этот тред посвящён оплакиванию PHPStorm. Хорошая IDE была. Блин, а я её ещё на 3 года вперёд оплатил...

Роман Пронский окончательно уходит из PHPF. На его место заступает Брент (тоже JetBrains), автор фреймворка Tempest. Я давно
Роман Пронский окончательно уходит из PHPF. На его место заступает Брент (тоже JetBrains), автор фреймворка Tempest.
Я давно интересуюсь графами знаний и присоединился к проекту Omnigraph — ставьте звездочки. Буду заниматься им в ближайшее время.

Пыхник’26. План «Б» Итак, мы продолжаем делать Пыхник, но теперь полностью онлайн! 📆 Сдвинули даты на пару недель вперёд. Ко
Пыхник’26. План «Б» Итак, мы продолжаем делать Пыхник, но теперь полностью онлайн! 📆 Сдвинули даты на пару недель вперёд. Конференция пройдёт на последней неделе месяца — с 28 сентября по 2 октября. 🎤 Все 10 спикеров и программа остаются: доклады про AI, архитектуру, async, рантаймы и тестирование. 🌐 Запустили сайт, где можно приобрести билет любой картой или подать заявку от компании. После оплаты вы получите приглашение в группу участников. 🏷 До конца недели онлайн-билет стоит 2000₽. Затем цена вырастет. 💪 Участникам краудфандинга отправили промокоды на билеты со скидкой. Ищите письмо на адресе, указанном при регистрации на «Планете». https://pyhnik.phpyh.ru/

#RandomBeer (или теперь #VibeBeer ?) В пятницу 19:00 MSK. Ссылку сгенерю завтра. Все уже устали от LLM, озверели без общения
#RandomBeer (или теперь #VibeBeer ?) В пятницу 19:00 MSK. Ссылку сгенерю завтра. Все уже устали от LLM, озверели без общения с людьми. Везде эти роботы... Пришла пора сбросить стресс и выпить пива с кожанными мешками. Готовьте трёхлитровые банки пива, будем заряжать их вайбом онлайн.

Story from PHP Fart Time

Стрим, посвященный Open source в эпоху LLM LLM пишут код, делают ревью, поддерживают документацию — кажется, будто для open source это идеальный инструмент. Но точно ли всё так хорошо? Кому в итоге стало легче — контрибьюторам или мейнтейнерам? Действительно ли LLM экономят время или просто перекладывают работу с одних на других? Что происходит с качеством контрибьюций? А может, какие-то open source проекты в эпоху AI вообще перестают быть нужны? Тема сложная и местами болезненная, поэтому собираемся поговорить об этом с Александром Макаровым, Алексеем Гагариным, Андреем Helldar и Данилом Щуцким. Обсудим, как LLM изменили повседневную разработку, где они действительно экономят время, где создают новую работу и каким вообще может быть будущее open source в эпоху AI. Есть вопросы? Можете задавать заранее! 🔔 20 августа в 19:00 https://youtube.com/live/JjQ3ZkOcDns?feature=share

Давайте тоже заполним этот опросник от JB и напомним миру, что есть такие замечательные опенсорсы, как Spiral, Yii3, Testo, Buggregator, RoadRunner и Rapira.

#ТоксикСреда На днях я запостил в блоге Testo отчёт о том, как я сравнивал тестовые фреймворки в проекте stitcher.io. В той работе тесты на PHPUnit работали слишком медленно и я полез разбираться. Одна из причин замедления — атрибут #[Before] на методе setUp() приводил к тому, что setUp() вызывался дважды (по конвенции именования и по атрибуту). Статья ушла в релиз и её даже кто-то прочитал. А потом в PHPUnit появилась вот эта ишуя. "У меня в голове не укладывается, что человек, впервые обнаруживший эту ошибку, упомянул о ней только в своем блоге, а не создал тикет", Пишет Себастиан. Я даже и не подумал, что это баг. Скорее мысли были "а нафига так сделано?". В общем, сегодня хейтим меня, ибо я, получается, поступил как мудак. Из хорошего для деда: он прочитал отличную статью.

Программа Пыхника’26 У нас сразу три отличные новости! 🔥 Мы расширили программу: вместо запланированных восьми секций на Пых
+1
Программа Пыхника’26 У нас сразу три отличные новости! 🔥 Мы расширили программу: вместо запланированных восьми секций на Пыхнике’26 будет одиннадцать. Все доклады из шорт-листа оказались слишком крутыми, и мы решили никого не вычёркивать. Цена билета та же. 🥳 Онлайн-доклады пройдут в прямом эфире с 7 по 9 сентября. Пыхник’26 теперь не однодневное мероприятие, а целая PHP-неделя, которая завершится большой офлайн-встречей 11 сентября в Art Village. 🤩 Первый онлайн-доклад Дмитрия Dantes будет открытым! Посмотреть его смогут все желающие. 7 сентября 📹 • Компилируемый PHP: перспективы и возможности — Дмитрий Dantes 8 сентября 📹 • AI-first архитектура для приложений на PHP — Дмитрий Кириллов • Возвращаем gRPC в PHP — Вадим Занфир 9 сентября 📹 • Testo: тестирование со вкусом хинкали — Алексей Гагарин 11 сентября 🏠 • Request-Reply без ожидания и блокировок — Валентин Удальцов • От скучной генерации к инженерии с ИИ — Данил Щуцкий • Ломаем PHP-системы, чтобы они не падали — Маргарита Моногарова • PHP в бинарнике на примере YiiPress — Александр Макаров • Архитектура PHP-приложений с внешними интеграциями — Олег Мифле • AI-трансформация PHP-команды: путь, процессы и ошибки — Денис Кукуреко • Флипчарт-сессия «Архитектурный экстремизм» Программа готова — дальше дело за вами: https://planeta.ru/campaigns/pyhnik26 Билет теперь можно оплатить от компании — присылайте на conf@phpyh.ru тип, количество, реквизиты.

Пацанский стиль В продолжение поста из канала Пых. ——— Вот есть Йода-стиль if ( === ), который в симфе издревле был за станда
Пацанский стиль В продолжение поста из канала Пых. ——— Вот есть Йода-стиль if (<scalar> === <var>), который в симфе издревле был за стандарт (хз как сейчас). Он для додиков, чтобы случайно присваивание в if не записали. if (false = $x) упадёт в рантайме, в отличии от if ($x = false), и тем самым предупредит, что автор забыл ещё одно равно (а лучше два). ——— А <cond> and/or <act> — немного другое. Это пацанский стиль, из нулевых. Читается также, как "PVP или зассал!". А ещё это классика из PHP 4:
mysql_connect($host, $user, $pass) or die("could not connect");
Смотрите, как компактно и понятно выглядит лапша валидации (узкая телега может испортить восприятие. Лучше смотреть на гитхабе или в редакторе):
$warmup >= 0 or throw new \InvalidArgumentException('Warmup must be greater than or equal to 0.');
\count($callables) >= 1 or throw new \InvalidArgumentException('At least one callable must be provided.');
$calls > 0 or throw new \InvalidArgumentException('Calls must be greater than 0.');
$iterations > 0 or throw new \InvalidArgumentException('Iterations must be greater than 0.');

Я думал народ на Пыхник набьётся за один-два дня. А тут 21% всего. Что с сообществом случилось?
Я думал народ на Пыхник набьётся за один-два дня. А тут 21% всего. Что с сообществом случилось?

Новости перспективных асинков. ⛸️ TrueNativePHP Только что TrueAsync успешно собрался на Андроид со всем своим багажом, корутинами, CURL, таймерами. Если кто-то хотел создать аналог ReactNative — самое время!
Пришлось сделать небольшой патч в PHP-ядре ради такой штуки. Но учитывая, что проект и так весь в патчах по сути считаем, что это официальный PHP + Андроид проект! То есть ядро!
Автор NativePHP уже брызжет слюной: с бозоном не договорился, может тут чего выйдет :) ⛸️ WebSocket Не прошло и 20 лет, а у PHP есть поддержка WebSocket, и даже на HTTP2. Но только под TrueAsync.
Если честно, протокол устарел, да и SSE отлично работает. Нужно добавить что-то современнее.
Документация уже готовится к вечеру. Следите за обновлениями. ⛸️ По-человечеки В нашей группе (в канале Rapira) уважаемый собутыльник автор самого душевного и вайбового проекта Folk, Энди, рассказывает про новые фичи: - Очереди по-человечески с портом на все фреймворки. - Стриминг для больших запросов и ответов: чтение чанками, мультипарты, стриминг ответов. Призываю активно участвовать в тестировании, ребята запрашивают фидбек.

Качаем и тестируем облегчённый билд PHPStorm. - Оптимизирован запуск и порядок индексации. - Куча микрооптимизаций. - Меньше
Качаем и тестируем облегчённый билд PHPStorm. - Оптимизирован запуск и порядок индексации. - Куча микрооптимизаций. - Меньше кнопочек. - Из коробки меньше лишних плагинов. - На базе EAP. В общем, работает быстрее. С фидбеком, как и всегда, можно идти 👩‍💻 сюда.

Продолжаем тему вайба. Для кого-то нет вайба в пайп-операторе. Кто-то люто вайбкодит. А тут ещё и VibePHP появился. Да что это за вайб такой? Как его пощупать? Как понять, где вайба больше и хорошо ли это вообще? Теперь вайб можно померить! На выходных я навибрировал Github Action, замеряющий Индекс Вайба в репозитории. Весь отчёт умещается в компактный бейдж с оценкой от 0 до 10: чем больше число, тем более весомый вклад AI и авто-ботов относительно человеческого. То есть просто считается доля коммитов (из последних 250) и строчек кода за (со)авторством ботов относительно всей репы. 0.0 — всё делается вручную. 4.0 — сбалансированный подход. 8.0 — код вибрируется, но с участием человека. 10 — здесь людей уже нет. Естественно, оценка может расходиться с реальностью: - соавторство агентов удаляется из коммитов — меньше вайб. - статистическая инерция. - индекс не отображает качество вайба. Как трактовать индекс — решать вам. Например, сам пакет Vibe Index имеет индекс 7.5. Он навибрирован на 100% агентами в редакторе ZED с моим пассивным ревью через чат. Не дотянул до ровных 8.0 баллов просто из-за того, что первые коммиты были нагенерены через Haiku, который не ставит соавторство. Это не критическая инфраструктура и даже не зависимость в node_modules, поэтому требования к качеству кода минимальные. А значит высокий индекс вайба здесь только на пользу: скорость фиксов или появления новых фичей скорее всего не будет проблемой. Давайте посмотрим, где вайба больше. - PHP: 0.0 — подозрительно. Серверы: - FrankenPHP: 2.7 - Folk: 5.2 — думал, будет больше. - RoadRunner — 1.5 dependabot на go-bump. Тестирование: - Testo: 1.2 — занижено, т.к. часто удалял соавторство при сквоше. - PHPUnit: 5.0 — куча коммитов от авто-ботов. - Pest: 0.1 — да кого вы пытаетесь обмануть? Пока писал этот пост, Vibe Index стал ещё и пакетом npm. Можно прочекать индекс вайба любого репозитория, например, вот так: npx @roxblnfk/vibe-index spiral/framework

Сделал группировку тестов в Testo. Как оказалось с фичёй наследования, которую пользователи просили в PHPUnit, но так и не получили.

Мольбы услышаны! VibePHP В VibePHP нет парсера. Ваш код никогда не компилируется, он только понимается. Запросы вместе с кодо
Мольбы услышаны! VibePHP В VibePHP нет парсера. Ваш код никогда не компилируется, он только понимается. Запросы вместе с кодом передаются в аишку, и возвращается хер знает что. Код можно писать как угодно: с дженериками, асинком, эмоджами, всратым ТЗ из переписки с заказчиком. AI предполагает, что должен вернуть ваш код, и навибрирывает ответ.
| Время выполнения | Задержка | $ / запрос |
|------------------|----------|------------|
| nginx + PHP-FPM  | ~1 мс    | ~$0.00000x |
| ФранкенПХП       | ~1 мс    | ~$0.00000x |
| VibePHP          | ~7 с     | ~$0.0063   |
* Для работы нужен токен OpenAI.

Мэтью Браун (автор псалма) сообщает, что перевибрировал Psalm на Rust. Получился Pzoom. Типа х10 быстрее но хз как писать на него плагины. Вот песочница. Позже выяснилось, что ещё один пользователь вибрировал Psalm на Rust. Получился Mir. Вот песочница. Куда катится этот мир?