Пых
8.37K 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
Пых
Пыхап #4 × Lamoda Tech. Конкурс факапов У нас набралось 18 факапов (Хобот + эксперты + зал + чат трансляции): https://telegra.ph/Pyhap-4--Lamoda-Tech-Konkurs-fakapov-06-21 Ниже два опроса, выбирай в них все понравившиеся факапы. В понедельник в 18:00 по…
Пыхап #4 × Lamoda Tech. Записи и фотки

Мы выложили отдельными роликами доклады, спасибо @whiskey_code за монтаж.

👁 Observability в PHP без боли — Олег Мифле, Altenar
YouTube | VK Видео | Слайды

🎲 Абьюзим random_bytes() — Фёдор Кулаков, Lamoda
YouTube | VK Видео | Слайды

📤 Кто отправит outbox? — Валентин Удальцов
YouTube | VK Видео | Слайды

📸 Фотки
https://cloud.mail.ru/public/uLf9/Z3kxmMz6P

Всем спасибо огромное за отличный митап!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥50👍1715
Слоны 💙 прилетели!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥110👍21🤩13👏1🥱1
Thesis Amqp 1.0.0

Многие заметили, что в проекте Thesis уже несколько месяцев подряд происходит какая-то движуха. Если вкратце, мы с Вадимом решили под этим именем выпустить набор современных асинхронных компонентов для PHP, а в будущем, вероятно, и свой фреймворк.

Основной фокус на ближайшее время — реализация недостающих в экосистеме неблокирующих драйверов для эффективного взаимодействия с инфраструктурой (в планах NATS, Kafka, gRPC, Cassandra, YDB).

Сегодня мы рады анонсировать стабильный, готовый к продакшну релиз пакета thesis/amqp:
• под капотом файберы и AMPHP 3, так что клиент можно использовать как в асинхронных, так и синхронных рантаймах,
• API для работы с подтверждениями в режиме publisher confirms,
• API для работы с возвратами при отправке сообщений с флагом mandatory,
• API итераторов для упрощённого чтения сообщений из очереди,
• API публикации и получения сообщений эффективными батчами (меньше вызовов, потенциально умещаем несколько фреймов в 1 TCP-пакет),
• встроенная поддержка RPC,
• гибкая конфигурация и хорошо типизированный код.


$client = new Client(Config::default());

$channel = $client->channel();
$channel->confirmSelect();

$confirmation = $channel->publishBatch([
new PublishMessage(
message: new Message(
body: 'Hello!',
deliveryMode: DeliveryMode::Persistent,
timestamp: new DateTimeImmutable(),
),
exchange: 'x',
routingKey: 'y',
mandatory: true,
),
// ...
]);

$result = $confirmation->await();

foreach ($result->unconfirmed as $unconfirmedMessage) {
// ...
}

foreach ($result->unrouted as $unroutedMessage) {
// ...
}


Мы сделали чат Thesis Community, где вы можете задавать вопросы, делиться идеями и предлагать улучшения.

У нас к вам две просьбы:
⭐️ поставить звезду thesis/amqp,
👩‍🎨 помочь с логотипом для проекта Thesis — лучший скетч (можно использовать ИИ) мы отдадим дизайнеру на отрисовку, а автору подарим слоника Пых.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍46🔥3212❤‍🔥4
Пых
Пыхари на Saint Highload++, встречаемся в 15:20 у стенда компании, которая пишет на PHP, Garage Eight! Сделаем совместное фото. Кирилл Несмеянов и я будем всех ждать!
2025-06-24 15.36.16-0528-TVS05684-N.jpg
730.7 KB
Совместные фото пыхарей на стенде Garage Eight на Saint Highload++

Мы так долго искали эти фотки, и в итоге нашли, спасибо двум Елизаветам (@chernoveli из Garage Eight, и @liza0lis из Онтико) за помощь.

И спасибо всем, кто успел вовремя прийти на стенд, с остальными сфоткаемся на Пых.конф’25!

У "гаражей" на Highload, кстати, был доклад Как правильно готовить RabbitMQ в главном зале. Витя Михайлов уже высоко оценил наш thesis/amqp, будем ждать, что скоро затащит его в кодовую базу Garage Eight. 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
25🔥18👍13
Добавляем connection.blocked в thesis/amqp
Стрим с Вадимом Занфиром — спикером и членом ПК Пых.конф’25

Вадим — эксперт в базах данных и брокерах сообщений, отлично разбирается в протоколах и структурах данных, в свободное от работы в VK Музыке время разрабатывает низкоуровневые драйвера для PHP на базе неблокирующего I/O.

Вчера туториал к написанному Вадимом Thesis Amqp смержили в официальный репозиторий RabbitMQ!

По этому поводу мы решили организовать стрим, на котором под руководством Вадима Валентин добавит поддержку механизма connection.blocked в Thesis Amqp.

Присоединяйтесь к нам в четверг в 19 в YouTube и VK Видео!
____________

До конца пятницы билеты на Пых.конф по 13 500 рублей, в субботу повысим цену!
👍26🔥187
Пых.конф’25 — мы идём прямо к цели!

На днях прошло 4 месяца с момента, как я решил провести Пых.конф. Кое-что уже получилось, поэтому хочется присесть, выдохнуть и рассказать, как прошли эти месяцы.

Core Team. Первым делом я собрал программный комитет. Я не знаю, как это работает, но список нужных людей мгновенно появился в моей голове: Алексей Нечаев, Вадим Занфир, Иван Поддубный, Павел Иванов, Сергей Жук, Сергей Предводителев. Чуть позже к нам присоединилась Анна Иванова. Все очень разные, но невероятно крутые, а самое главное — верят в PHP и хотят сделать его лучше. Ребята помогли наладить кучу процессов — кто-то привёл маркетолога, кто-то посоветовал юриста и дизайнера, кто-то помог с поиском партнёров, кто-то нашёл выход на крутого спикера. В итоге это не просто программный комитет — это суперкоманда, которая ежедневно творит Пых.конф.

Сайт. У меня есть замечательные друзья — проект Eventico Ильи Чертилова. У ребят платформа, на которой они делают крупные ивенты со всякими шишками и регистрацией через ФСО. А ещё у них гениальный дизайнер, который нарисовал наш сайт. Так мы запустили conf.phpyh.ru. Сначала главную и FAQ, потом регистрацию, личный кабинет и оплату, а недавно — программу и онлайн-участие. Возможность не делать сайт самому и с нуля — один из самых невероятных сюрпризов этого проекта.

Площадка. У меня есть ещё одни замечательные друзья — Маркетинговое Агентство "Ф-ПРО" Марии Захаревской. Зимой мы неожиданно пересеклись с их менеджером Марией Гатиной, а в марте, когда я обратился в агентство, она буквально растолкала коллег и вызвалась вести мой проект. ❤️ За пару дней мы с Машей посмотрели несколько площадок, а потом приехали в ЦМТ и я сразу попросил выслать договор. Сейчас мы прорабатываем оформление, навигацию, звук, свет и трансляцию. В ближайшее время подготовка площадки станет нашим основным направлением.

Партнёры. Искать партнёров для новой конференции непросто. С вашей помощью мы связались с HR и DevRel порядка 70 компаний, имеющих отношение к PHP. Среди них нашлись те, кто в кратчайшие сроки согласовал бюджет, и прямо сейчас мы с ними проектируем стенды и обсуждаем активности. С некоторыми из остальных предварительно договорились на участие в следующем году 😏 или на Пыхап.

Кстати, всё ещё не поздно рассказать в своей компании про Пых.конф’25 и предложить связаться со мной насчёт партнёрства.

Программа. Пока что это была самая CPU-intensive задача. Мы поставили цель заполучить в программу всех: начинающих спикеров и "звёзд", разработчиков и CTO, теоретиков и практиков, тех, кто делает PHP, и тех, кто им пользуется. К 1 июля мы собрали 72 заявки и сели мапить их на 28 слотов... Половину программы мы определили единогласно, а за вторую пришлось даже голосовать. В итоге получилось ровно то, чего мы так хотели: разнообразие и баланс. Я даже не могу вам ничего подсветить — мне дорог каждый доклад.

Подготовка докладов. Сформировав программу, мы запустили подготовку. Каждому докладчику назначали по куратору из ПК, а в особых случаях добавили, как их Иван называет, "вторых пилотов". Ещё мы для ребят организовали специальную лекцию со знаменитым ведущим IT-конференций Алексеем Обровцом — получилось очень душевно и мотивирующе.

Билеты. На текущий момент мы продали полторы сотни билетов. Учитывая расслабленный летний сезон, это отличная цифра. Но для того, чтобы мы могли осуществить всё задуманное, её нужно удвоить. В субботу у нас повысится цена участия. Я знаю, что многие из вас не покупают билет, потому что не уверены в своих планах на осень, однако по закону мы будем обязаны делать полные возвраты вплоть до 9 сентября. То есть вы ничем не рискуете, зато можете сэкономить. Ещё мы теперь готовы массово выставлять счета на компании по цене для физических лиц. Все, кто пришлёт на conf@phpyh.ru реквизиты, количество и тип билетов до конца пятницы, сможет оплатить счёт в течение следующих двух недель с сохранением текущей цены. 💙
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥40👍2614🥱1😎1
Добавляем connection.blocked в thesis/amqp

Через час у меня стрим с Вадимом Занфиром — автором кучи неблокирующих компонентов Thesis, а также спикером и членом ПК Пых.конф’25!

В прямом эфире я под его руководством реализую фичу, которую запросил уже знакомый вам подписчик, Витя из Garage Eight — возможность слушать connection.(un)blocked при общении с RabbitMQ. Ещё мы вам покажем кое-что новенькое!

https://youtu.be/0H2hguG6J8s
https://vkvideo.ru/video-228746873_456239068

Готовьте вопросы по асинхронному PHP, проекту Thesis и Пых.конф. Три самых активных комментатора получат слоников Пых!
👍14🔥9👏51😐1
Пых
Добавляем connection.blocked в thesis/amqp Начинаем! Комментировать можно под этим постом. https://youtu.be/0H2hguG6J8s https://vkvideo.ru/video-228746873_456239068
Спасибо всем, кто пришёл! Нам очень понравилось.

Я запушил изменения, которые мы успели сделать. В следующий раз должны закончить эту фичу.

Слоников выиграли самые активные участники чата: Игорь Маркин, Антон Зеньков и Сергей Вершинин. Игорь за стрим закинул аж 2 PR в Thesis. 💙

Как вам формат? Помогает в понимании асинка?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍13👏5
Пых
В PHP-CS-Fixer смержили мой фиксер new_expression_parentheses! Позавчера состоялся релиз v3.76.0 Kids Playground, куда наконец-то попал фиксер new_expression_parentheses, который мы делали в Open Source цеху (#1, #4). Он убирает скобки вокруг new выражений…
New без скобок в PER 3.0 и фиксер-сете PHP84Migration

В новой, третьей, версии PER Coding Style рекомендуется использовать мой new без скобок:

When accessing a class member immediately after instantiating a new class, the instantiation SHOULD NOT be wrapped in parentheses. For example:

new Foo()->someMethod();
new Foo()->someStaticMethod();
new Foo()->someProperty;
new Foo()::someStaticProperty;
new Foo()::SOME_CONSTANT;

And the following SHOULD be avoided:

(new Foo())->someMethod();


Также всем огромное спасибо за 43 лайка на тикете в PHP CS Fixer про добавление new_expression_parentheses в сет @PHP84Migration — мейнтейнеры испугались, сделали PR и релизнули!

На фоне всех этих событий я выпустил очередной мажор своего phpyh/coding-standard, забампив там PHP до 8.3 и PHP CS Fixer до 3.84.

А ещё я недавно проходил мимо доки и обнаружил, что у команды php-cs-fixer fix --dry-run аж в 2023 году появился алиас php-cs-fixer check — идеально для CI.
____________

До конца дня
офлайн-билет на Пых.конф’25 отдаём физикам и юрикам по 13 500, а онлайн — по 10 000!
🔥42👍168👎1