🎟Розыгрыш билета на подлодку
Закидывайте в этот тред мемы про Buggregator, Temporal, RoadRunner, Spiral, Bitrix, Wordpress, релиз Yii3, Валентина и трейты, PHP, пыхо-тренды и всё остальное на тему PHP.
Автор, субъективно набравший меньше 💩 или больше позитивных реакций, получит приглашение на подлодку.
⚠️ *Важно: авторские мемы участвуют в розыгрыше, а честно перепощенные просто приветствуются.*
Автор лучшего перепощенного мема получит лицензию на Buggregator.
Закидывайте в этот тред мемы про Buggregator, Temporal, RoadRunner, Spiral, Bitrix, Wordpress, релиз Yii3, Валентина и трейты, PHP, пыхо-тренды и всё остальное на тему PHP.
Автор, субъективно набравший меньше 💩 или больше позитивных реакций, получит приглашение на подлодку.
⚠️ *Важно: авторские мемы участвуют в розыгрыше, а честно перепощенные просто приветствуются.*
Автор лучшего перепощенного мема получит лицензию на Buggregator.
Подводим итоги конкурса из поста выше
Лучший мем: https://t.me/php_fart/61?comment=325
Автор мема заслуженно получает промокод на подлодку: (вводить после нажатия кнопки КУПИТЬ )
Поздравляем победителя! 🎉🎉🎉
🍾🍾 Второе место вычислить нереально, поэтому лицензию на багри получают все 🍾🍾
Забрать можно в этом репозитории https://github.com/buggregator/server или через докер (Документация)
Или через композер
Лучший мем: https://t.me/php_fart/61?comment=325
Автор мема заслуженно получает промокод на подлодку:
01000110010000010101001001010100
Поздравляем победителя! 🎉🎉🎉
🍾🍾 Второе место вычислить нереально, поэтому лицензию на багри получают все 🍾🍾
Забрать можно в этом репозитории https://github.com/buggregator/server или через докер (Документация)
docker run --rm --pull always -p 127.0.0.1:8000:8000 -p 127.0.0.1:1025:1025 -p 127.0.0.1:9912:9912 -p 127.0.0.1:9913:9913 ghcr.io/buggregator/server:latest
Или через композер
composer req --dev buggregator/trap
Telegram
... in PHP Fart Time Chat
В блоге Виктора (который из Yii 3 Core) вышла позитивная заметка про Buggregator.
Получать обратную связь — хорошо. А получать хорошую обратную связь — ещё лучше.
Вы используете Buggregator? Поделитесь в комментариях обратной связью 💖
Напишите, как используете, чего не хватает, на что сделать упор.
Хотели бы, чтобы мы писали здесь о багри больше (не маркетинговый буллшит, а про фичи, кейсы, размышления и прочее)? — если да — ставьте🖼️
Получать обратную связь — хорошо. А получать хорошую обратную связь — ещё лучше.
Вы используете Buggregator? Поделитесь в комментариях обратной связью 💖
Напишите, как используете, чего не хватает, на что сделать упор.
Хотели бы, чтобы мы писали здесь о багри больше (не маркетинговый буллшит, а про фичи, кейсы, размышления и прочее)? — если да — ставьте
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Viktorprogger
Профайлинг с XHProf | #development #php #profiling #xhprof
Некоторое время назад я сравнивал различные профайлеры: надо посмотреть, что сколько времени кушает именно на проде. Остановился на XHProf по нескольким причинам: это бесплатное self hosted решение…
Некоторое время назад я сравнивал различные профайлеры: надо посмотреть, что сколько времени кушает именно на проде. Остановился на XHProf по нескольким причинам: это бесплатное self hosted решение…
Мы выяснили, что вам, уважаемые фартаны, интересно почитать про #Buggregator. Ну что-ж, начнём со знакомства.
🪲 Buggregator — вспомогательный инструмент для отладки. Он не призван заменить xDebug, а наоборот - усилить. Из названия понятно, что он агрегирует баги, а точнее дампы. Что пошлёте — то и сагрегирует.
Сейчас поддерживаются:
- Логи из Monolog
- События и отчёты Sentry
- Профили XHProf (рисует граф и флейм-граф)
- Дампы из Symfony var-dumper и Spatie Ray
- Mail (есть встроенный SMTP сервер)
- Виджеты Inspector dev
🎁 В линейке Buggregator несколько продуктов.
Основной продукт, который мы подразумеваем под названием Buggregator — серверное решение, готовое интегрироваться в вашу инфраструктуру наравне с другими сервисами. Запускается и работает под докером.
Это Production-Ready решение, которое можно спрятать за авторизацией (доступна интеграция с SSO с настраиваемыми скоупами) и подключить к своей базе данных (сейчас доступны MongoDB и Postgres. Хотите MySQL? Добавим!)
😸 Начните локальное использование под докером, запустив команду:
Каждый порт соответствует своему протоколу. Просто настройте ваш сервис на использование этих портов:
- 8000: HTTP Dumps, Sentry, Ray, Inspector, XHProf.
- 1025: SMTP.
- 9912: Symfony Var-Dumper.
- 9913: Monolog.
Полная документация: docs.buggregator.dev
🔨 Разработка Buggregator ведётся в нескольких репозиториях:
- buggregator/server — бэкенд на Spiral и RoadRunner.
- buggregator/frontend — фронтенд на Vuejs 3 и TailwindCSS с использованием StoryBook.
- buggregator/docs — документация
⭐️ Мы будем очень рады, если вы поддержите нас звёздочкой на гитхабе и поучаствуете в развитии проекта своими идеями, багрепортами, контрибьютингом или просто расскажете о Buggregator своему коту.
Сейчас поддерживаются:
- Логи из Monolog
- События и отчёты Sentry
- Профили XHProf (рисует граф и флейм-граф)
- Дампы из Symfony var-dumper и Spatie Ray
- Mail (есть встроенный SMTP сервер)
- Виджеты Inspector dev
🎁 В линейке Buggregator несколько продуктов.
Основной продукт, который мы подразумеваем под названием Buggregator — серверное решение, готовое интегрироваться в вашу инфраструктуру наравне с другими сервисами. Запускается и работает под докером.
Это Production-Ready решение, которое можно спрятать за авторизацией (доступна интеграция с SSO с настраиваемыми скоупами) и подключить к своей базе данных (сейчас доступны MongoDB и Postgres. Хотите MySQL? Добавим!)
😸 Начните локальное использование под докером, запустив команду:
docker run --rm --pull always -p 127.0.0.1:8000:8000 -p 127.0.0.1:1025:1025 -p 127.0.0.1:9912:9912 -p 127.0.0.1:9913:9913 ghcr.io/buggregator/server:latest
Каждый порт соответствует своему протоколу. Просто настройте ваш сервис на использование этих портов:
- 8000: HTTP Dumps, Sentry, Ray, Inspector, XHProf.
- 1025: SMTP.
- 9912: Symfony Var-Dumper.
- 9913: Monolog.
Полная документация: docs.buggregator.dev
🔨 Разработка Buggregator ведётся в нескольких репозиториях:
- buggregator/server — бэкенд на Spiral и RoadRunner.
- buggregator/frontend — фронтенд на Vuejs 3 и TailwindCSS с использованием StoryBook.
- buggregator/docs — документация
⭐️ Мы будем очень рады, если вы поддержите нас звёздочкой на гитхабе и поучаствуете в развитии проекта своими идеями, багрепортами, контрибьютингом или просто расскажете о Buggregator своему коту.
Please open Telegram to view this post
VIEW IN TELEGRAM
Продолжаем знакомство с миром #Buggregator
💾 Trap
Рабочее название в первые дни — "Buggregator Client". Задумывался как прокси вар-дампов на Buggregator Cloud, но быстро оброс фичами и новым смыслом.
Теперь Trap — это:
- Миниатюрный сервер Buggregator, не требующий Docker для работы. Написан на файберах PHP 8.1. Раньше выводил дампы, логи, HTTP и прочие события только в консоль. Сейчас поддерживается такой же WEB интерфейс, как у старшего брата.
- Набор патчей для Symfony VarDumper. Наличие установленного Trap в вашем проекте улучшит то, как VarDumper отрисовывает Protobuf объекты.
- Набор хелперов. В Trap есть функция
Установка:
🪲 Trap сервер
Запускается из вендора:
Флаг --ui необходим для включения веб-морды на 8000 порту. Сейчас эта функция в бета-режиме.
По умолчанию Trap слушает только один порт
Trap можно запустить на тех же портах, что и основной Buggregator:
(стоит ли сделать этот список портов по умолчанию?)
Trap годится только для локального использования: тут нет SSO, а из "внешних БД", возможно, будет только SQLite, просто чтобы не хранить события в массивах 🙂
Но есть и эксклюзивные фичи:
- благодаря "локальности", Trap может находить файлы профилировщиков, если таковые были сконфигурированы в
- низкоуровневая работа с трафиком позволяет реализовать абсолютно любой протокол. Даже просто вывести сырые бинарные данные, как отдельное событие, чего-то да стоит!
🚀 Хэлперы trap()
Функция
- При вызове сразу настраиваются умолчания для отправки симфоневых дампов на локальный сервер (
-
-
- а ещё (субъективно)
🪄 Подводя итог
Trap как сервер — хорошая альтернатива, когда не хочется запускать докер а PHP установлен локально.
Trap как PHP helper — необходим, если работаете с Protobuf и gRPC. Может быть удобнее
⭐️ Также будем очень рады звёздочкам на гитхабе и контрибьюторской поддержке.
Рабочее название в первые дни — "Buggregator Client". Задумывался как прокси вар-дампов на Buggregator Cloud, но быстро оброс фичами и новым смыслом.
Теперь Trap — это:
- Миниатюрный сервер Buggregator, не требующий Docker для работы. Написан на файберах PHP 8.1. Раньше выводил дампы, логи, HTTP и прочие события только в консоль. Сейчас поддерживается такой же WEB интерфейс, как у старшего брата.
- Набор патчей для Symfony VarDumper. Наличие установленного Trap в вашем проекте улучшит то, как VarDumper отрисовывает Protobuf объекты.
- Набор хелперов. В Trap есть функция
trap()
. Это тот же Symfony dump()
, но с некоторыми изменениями. Установка:
composer require --dev buggregator/trap -W
🪲 Trap сервер
Запускается из вендора:
./vendor/bin/trap --ui
Флаг --ui необходим для включения веб-морды на 8000 порту. Сейчас эта функция в бета-режиме.
По умолчанию Trap слушает только один порт
9912
, но туда можно слать всё: и дампы, и логи, и http, переходящий в WebSocket. Мы написали инспектор траффика, который сам определяет протокол и направляет данные в нужный обработчик.Trap можно запустить на тех же портах, что и основной Buggregator:
vendor/bin/trap -p1025 -p9912 -p9913 -p8000
(стоит ли сделать этот список портов по умолчанию?)
Trap годится только для локального использования: тут нет SSO, а из "внешних БД", возможно, будет только SQLite, просто чтобы не хранить события в массивах 🙂
Но есть и эксклюзивные фичи:
- благодаря "локальности", Trap может находить файлы профилировщиков, если таковые были сконфигурированы в
php.ini
.- низкоуровневая работа с трафиком позволяет реализовать абсолютно любой протокол. Даже просто вывести сырые бинарные данные, как отдельное событие, чего-то да стоит!
🚀 Хэлперы trap()
Функция
trap()
немного отличается от dump()
:- При вызове сразу настраиваются умолчания для отправки симфоневых дампов на локальный сервер (
127.0.0.1:9912
), так что не надо лезть в .env
.-
trap()
имеет текучий интерфейс (fluent interface), а значит можно делать так:trap(FOO: $foo, BAR: $bar) // Дампаем переменные с указанием имен
->stackTrace() // Добавить красивый Stack Trace
->once() // Сработает один раз. Удобно использовать в циклах.
->if($foo instanceof FooInterface) // Условие отправки; можно функцией
->return(); // $foo вернётся как результат
-
trap()::profile()->...
в планах добавить удобства для профилирования- а ещё (субъективно)
trap
набирать и произносить удобнее, чем dump
. Так что хватит дампать, го трапать!🪄 Подводя итог
Trap как сервер — хорошая альтернатива, когда не хочется запускать докер а PHP установлен локально.
Trap как PHP helper — необходим, если работаете с Protobuf и gRPC. Может быть удобнее
dump()
. Перспективен.⭐️ Также будем очень рады звёздочкам на гитхабе и контрибьюторской поддержке.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - buggregator/trap: A local debug server and utilities set for PHP projects
A local debug server and utilities set for PHP projects - buggregator/trap
Двигаемся дальше по #Buggregator. Поговорим про перспективные направления.
👩💻 Плагин для PHP Storm
Github: buggregator/phpstorm-plugin
Появился благодаря Роману Пронскому. Сейчас это очень сырая альфа-версия, которая с багами, но уже умеет запускать Trap из вендора и отображать web-морду (считай Proof of Concept сделан).
Среди функций плагина мы ожидаем в будущем увидеть гибкие настройки и разные варианты запуска сервера (в т.ч. быстрый запуск Buggregator из докера).
Разработка плагина под IntelliJ Idea — задача не из простых. И если вы поможете нам с этим справится, то будет мегакруто!
Так что, любители👩💻 отлина, подтягивайтесь!
Рекламная вставка о пользе подтягиваний. Оказывается, это благоприятвует мужскому здоровью! Регулярно подтягивайте бутстрап и простата скажет вам спасибо! Не является лекарством.
📈 Buggregator.dev
У любого крутого проекта должен быть сайт. Крутой такой лэндосик, который будет конвертировать 90% лидов в клиентов и приносить бабки.
Наши клиенты нам бабки не приносят, поэтому лэндинг у нас не продажный, а функциональный.
🪄 Там вы можете поиграться с настоящим и общим для всех Buggregator. Все дампы общие и каждый может удалять имеющиеся или добавлять свои.
🪄 Поставьте ❤️ репозиторию Buggregator и лэндинг празднично взорвётся! Запись об этом событии также появится в общем окошке Buggregator.
🪄 В секции Contributing можно найти issues (задачи), которые можно решить без особого погружения в проект и стать почётным контрибьютором. Блок контрибьюторов также будет добавлен.
📱 Не забывайте, что у нас есть сервер Discord, в котором можно продуктивно взаимодействовать.
Ознакомительная часть закончилась. Дальше будет интерактив!😋
Github: buggregator/phpstorm-plugin
Появился благодаря Роману Пронскому. Сейчас это очень сырая альфа-версия, которая с багами, но уже умеет запускать Trap из вендора и отображать web-морду (считай Proof of Concept сделан).
Среди функций плагина мы ожидаем в будущем увидеть гибкие настройки и разные варианты запуска сервера (в т.ч. быстрый запуск Buggregator из докера).
Разработка плагина под IntelliJ Idea — задача не из простых. И если вы поможете нам с этим справится, то будет мегакруто!
Так что, любители
Рекламная вставка о пользе подтягиваний. Оказывается, это благоприятвует мужскому здоровью! Регулярно подтягивайте бутстрап и простата скажет вам спасибо! Не является лекарством.
📈 Buggregator.dev
У любого крутого проекта должен быть сайт. Крутой такой лэндосик, который будет конвертировать 90% лидов в клиентов и приносить бабки.
Наши клиенты нам бабки не приносят, поэтому лэндинг у нас не продажный, а функциональный.
🪄 Там вы можете поиграться с настоящим и общим для всех Buggregator. Все дампы общие и каждый может удалять имеющиеся или добавлять свои.
🪄 Поставьте ❤️ репозиторию Buggregator и лэндинг празднично взорвётся! Запись об этом событии также появится в общем окошке Buggregator.
🪄 В секции Contributing можно найти issues (задачи), которые можно решить без особого погружения в проект и стать почётным контрибьютором. Блок контрибьюторов также будет добавлен.
Ознакомительная часть закончилась. Дальше будет интерактив!
Please open Telegram to view this post
VIEW IN TELEGRAM
На канале CutCode вышло познавательное видео про интерцепторы #Spiral.
Давайте постараемся накрутить просмотров и завалить Данила (автора канала) вопросами в комментариях к видео, чтобы он переквалифицировал свой канал с Laгavel на Spiral 🚀
Давайте постараемся накрутить просмотров и завалить Данила (автора канала) вопросами в комментариях к видео, чтобы он переквалифицировал свой канал с Laгavel на Spiral 🚀
YouTube
Interceptors в PHP на примере Spiral framework
В этом ролике поговорим что такое Interceptors, сравним их с middlevars, посмотрим как они выглядят в контексте Spiral Framework, заодно взглянем на этот интересный фреймворк. Решим крутую задачу с помощью Interceptors в Spiral, попробуем то же самое сделать…
Сегодня участвую в Своей Игре на канале CutCode.
Постараюсь обеспечить достойный уровень фарта. Посмотрим, будет ли это аромат успеха или зловоние поражения😃
Вопросы участникам закидывать сюда:
https://docs.google.com/forms/d/1d4p5T1BU4S6YVPSb2FhUuXfVKksxbFBOH89NO7tOuvA/edit?chromeless=1
Постараюсь обеспечить достойный уровень фарта. Посмотрим, будет ли это аромат успеха или зловоние поражения
Вопросы участникам закидывать сюда:
https://docs.google.com/forms/d/1d4p5T1BU4S6YVPSb2FhUuXfVKksxbFBOH89NO7tOuvA/edit?chromeless=1
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Своя игра от CutCode. Второй выпуск викторины по PHP
Готовьтесь к необычному испытанию знаний и заряду хорошим настроением! В 20:00 (мск) 25 апреля на YouTube-канале CutCode стартует игра-викторина в стиле “Своей игры”
Приготовьтесь к захватывающим раундам, юмору и увлекательным заданиям, которые проверят ваши…
Приготовьтесь к захватывающим раундам, юмору и увлекательным заданиям, которые проверят ваши…
Надоели выходные? Давно хотели попробовать Spiral, RoadRunner, PHP Fibers, Centrifugo или просто сделать что-то хорошее?
🌟 Мы готовы поделиться двумя годовыми OpenSource лицензиями👩💻 JetBrains All Products Pack (активны минимум до 03.04.2025).
Заполучить проще, чем кажется:
🫵 Будь активным контрибьютором — вноси вклад в OpenSource проект Buggregator в течение следующего месяца.
(Про багри:🪲 Buggregator, 💾 Trap и 👩💻 PHPStorm Plugin)
Бери любой репозиторий (server, trap, frontend, plugin, docs...) и начинай фигачить: улучшения доки и метафайлов, создание баг-репортов, предложение фичей, написание кода по ишуям, рефакторинг, улучшения CI, участие в дискуссиях, предложения по улучшению лэндинга... Всё в пользу!
Через месяц активные участники по желанию войдут в состав команды Buggregator, двое получат лицензии.
Т.к. объективно измерить вклад невозможно, обладателей лицензий определим по мелодичности звучания или как-нибудь ещё👌
Вошёл в состав команды?
🫵 Не прекращай участвовать даже после получения All Products Pack.
🌟 Хочешь стать звездой на главной странице проекта?
🫵 Твой вклад не останется незамеченным! Участники получат своё место в списке контрибьютеров на главной странице проекта. Это та самая отметка в твоём IT-паспорте, которая не оставит равнодушным ни одного HR-специалиста.
Не стесняйся отправлять коммиты с запашком — мы поможем сделать запах лучше.
📱 Telegram чат для коммуникации, где будем осуществлять координацию по конкурсу и контрибьютингу в целом.
🌐 Открой для себя мир Open Source с PHP Fart Time🤢
🌟 Мы готовы поделиться двумя годовыми OpenSource лицензиями
Заполучить проще, чем кажется:
🫵 Будь активным контрибьютором — вноси вклад в OpenSource проект Buggregator в течение следующего месяца.
(Про багри:
Бери любой репозиторий (server, trap, frontend, plugin, docs...) и начинай фигачить: улучшения доки и метафайлов, создание баг-репортов, предложение фичей, написание кода по ишуям, рефакторинг, улучшения CI, участие в дискуссиях, предложения по улучшению лэндинга... Всё в пользу!
Через месяц активные участники по желанию войдут в состав команды Buggregator, двое получат лицензии.
Т.к. объективно измерить вклад невозможно, обладателей лицензий определим по мелодичности звучания или как-нибудь ещё
Вошёл в состав команды?
🫵 Не прекращай участвовать даже после получения All Products Pack.
🌟 Хочешь стать звездой на главной странице проекта?
🫵 Твой вклад не останется незамеченным! Участники получат своё место в списке контрибьютеров на главной странице проекта. Это та самая отметка в твоём IT-паспорте, которая не оставит равнодушным ни одного HR-специалиста.
Не стесняйся отправлять коммиты с запашком — мы поможем сделать запах лучше.
🌐 Открой для себя мир Open Source с PHP Fart Time
Please open Telegram to view this post
VIEW IN TELEGRAM
Напоминаю, что не время отдыхать. Время кодить!
Прошло несколько дней с начала акции помощи проекту #Buggregator.
Чего мы достигли:
🪲 Buggregator
- @markin_igor улучшил инициализацию приложения через фичу Spiral Command Sequence
- @butschster наделал кучу фичей, которые теперь нуждаются в документировании: #168, #167, #165, #157, #150
💾 Trap
- @dimajolkin обнаружил, что у файла
- @hello_l0gic решил превентивно закрыть задачи, запланированные на далёкое будущее: внести
- В это время новый пользователь багри накидал годных ишуёв #61, #60
- @roxblnfk наконец-то добавил в Trap DI конетйнер и подгрузку конфигов через DI. В следующей версии trap будет доступно конфигурирование UI порта в т.ч. через env переменные.
👩💻 PHPStorm Plugin:
- @Danil42Russia плотно занялся плагином. Уже выполнен один заход на CI и выдвинуто дельное предложение.
Если честно, я ожидал, что Trap и плагин обойдут стороной, т.к. Trap довольно специфичен, а на плагине Kotlin и узкая специфика JB плагинов. И мы будем видеть большинство участников на доке и Server, т.к. там привычный стэк или кодить не надо.
Всё вышло наоборот: один пришел — оказался магистром плагинов, другой взял psalm (мягко говоря, не конфетка) и никто не пошёл в доку. Что же вы творите на работе, если на выходных берётесь за такое?🙃
В общем, большое спасибо всем участникам! Взяли хороший темп✊ ✊ ✊
Поделитесь с нами в комментариях, а что вам мешает начать контрибьютить?
Мем дня от @markin_igor
Прошло несколько дней с начала акции помощи проекту #Buggregator.
Чего мы достигли:
- @markin_igor улучшил инициализацию приложения через фичу Spiral Command Sequence
- @butschster наделал кучу фичей, которые теперь нуждаются в документировании: #168, #167, #165, #157, #150
- @dimajolkin обнаружил, что у файла
/bin/trap
выставлены не самые удобные права для запуска, и пофиксил это. А также взялся за бэклог по уменьшению psalm baseline и значительно уменьшил его.- @hello_l0gic решил превентивно закрыть задачи, запланированные на далёкое будущее: внести
trap()
в список debug-функций EA Extended плагина для PHPStorm и добавить киллер-фичу трэпа — команду joke
. Последняя из-за невнятного ТЗ немного подзависла.- В это время новый пользователь багри накидал годных ишуёв #61, #60
- @roxblnfk наконец-то добавил в Trap DI конетйнер и подгрузку конфигов через DI. В следующей версии trap будет доступно конфигурирование UI порта в т.ч. через env переменные.
- @Danil42Russia плотно занялся плагином. Уже выполнен один заход на CI и выдвинуто дельное предложение.
Если честно, я ожидал, что Trap и плагин обойдут стороной, т.к. Trap довольно специфичен, а на плагине Kotlin и узкая специфика JB плагинов. И мы будем видеть большинство участников на доке и Server, т.к. там привычный стэк или кодить не надо.
Всё вышло наоборот: один пришел — оказался магистром плагинов, другой взял psalm (мягко говоря, не конфетка) и никто не пошёл в доку. Что же вы творите на работе, если на выходных берётесь за такое?
В общем, большое спасибо всем участникам! Взяли хороший темп
Поделитесь с нами в комментариях, а что вам мешает начать контрибьютить?
Мем дня от @markin_igor
Please open Telegram to view this post
VIEW IN TELEGRAM
Микродайджест багри-видосиков:
👉 На нашем канале публикуются записи лайвкод-стримов Павла на тему рефакторинга SMTP в Buggregator: две части уже в релизе, ещё две на подходе.
📱 Часть 1
📱 Часть 2
👉 Сегодня и завтра Павел планирует на стримить рефакторинг вебхуков багри и переписывание джобов на Symfony Messenger в связке с RoadRunner.
👉 В очередной раз порадовал канал CutCode: в этот раз Данил сделал то, чего мы не смогли сделать сами — профессионально обозрел #Buggregator.
Встречаем лучший существующий обзор Багрегатора:
📱 Смотреть
👉 Кстати, зацените наш промо-ролик на английском. #ChatGPT очень старался.
📱 Заценить
👉 На нашем канале публикуются записи лайвкод-стримов Павла на тему рефакторинга SMTP в Buggregator: две части уже в релизе, ещё две на подходе.
👉 Сегодня и завтра Павел планирует на стримить рефакторинг вебхуков багри и переписывание джобов на Symfony Messenger в связке с RoadRunner.
👉 В очередной раз порадовал канал CutCode: в этот раз Данил сделал то, чего мы не смогли сделать сами — профессионально обозрел #Buggregator.
Встречаем лучший существующий обзор Багрегатора:
👉 Кстати, зацените наш промо-ролик на английском. #ChatGPT очень старался.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Buggregator introduction
#buggregator #php #docker
Сегодня планируется очередной стрим на канале по Buggregator и разработке. Продолжение рефакторинга вебхуков https://youtube.com/live/UqHMUSAfZa0
YouTube
Buggregator livecoding - Рефакторинг Webhooks и покрываем тестами (Часть 2 из 2)
На стримах я пишу код, делаю рефакторинг кода, доабвляю новые фичи и пишу тесты для Багри.
#php #buggregator #spiral #development
#php #buggregator #spiral #development
Небольшой обзор всякой фигни вокруг PHP фреймворков и опенсорса с жиром и шутками ниже пояса 🚽
Notion
Telegraph (с поехавшими ссылками)
#Article #PHP #МыслиВслух
Notion
Telegraph (с поехавшими ссылками)
#Article #PHP #МыслиВслух
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegraph
В мире PHP #0
Продвинутая рефлексия Symfony посмотрели на типун Удальцова и захотели такой же. Получился компонент типунфъ в сдержанном и консервативном стиле от дедов. Хочешь не хочешь, а эта херня получит распространение. Кирилл Несмеянов, кстати, подсуетился раньше…
Товарищи. Валентин Удальцов прорубает окно в #PHP SRC.
9 мая запущено голосование за его RFC. Будьте уверены, большинство голосов будут за него!
После столь значимого события мы, сообщество PHP, незамедлительно воспользуемся протоптанным маршрутом и войдём в историю, как новаторы.
Для реализации возможности повлиять на будущее PHP нужно зайти на канал @phpyh, тегнуть там @vudaltsov и попросить сделать всего-лишь тоже самое, что и с первым RFC, только с новой мега-киллер-фичей (ради светлого будущего PHP ему будет не сложно).
Вот варианты киллер-фичей:
- Неблокирующий IO во всём PHP
- Сахарок async await, EventLoop и порутины
- Виртуальные интерфейсы
- Трейты с ограниченным скопом
-
- Дженерики
- Внедрение Typhoon на уровне ядра
- Добавить в ядро функцию
- Добавить функцию
Только представьте, какое будущее нас ждёт!
9 мая запущено голосование за его RFC. Будьте уверены, большинство голосов будут за него!
После столь значимого события мы, сообщество PHP, незамедлительно воспользуемся протоптанным маршрутом и войдём в историю, как новаторы.
Для реализации возможности повлиять на будущее PHP нужно зайти на канал @phpyh, тегнуть там @vudaltsov и попросить сделать всего-лишь тоже самое, что и с первым RFC, только с новой мега-киллер-фичей (ради светлого будущего PHP ему будет не сложно).
Вот варианты киллер-фичей:
- Неблокирующий IO во всём PHP
- Сахарок async await, EventLoop и порутины
- Виртуальные интерфейсы
- Трейты с ограниченным скопом
-
implements
внутри трейтов- Дженерики
- Внедрение Typhoon на уровне ядра
- Добавить в ядро функцию
fart()
, которая будет воспроизводить звук пердежа- Добавить функцию
get_objects()
, которая вернёт WeakMap
всех созданных PHP объектов.Только представьте, какое будущее нас ждёт!
📣 Анонсы стримов переехали в отдельную тему. Первый анонс уже там.
UPD:
Если вы поддерживаете это решение и не хотите часто видеть анонсы на каждый стрим, ставьте 🔥
Однако, если анонсы в канале не мешают, ставьте 💊
UPD:
Если вы поддерживаете это решение и не хотите часто видеть анонсы на каждый стрим, ставьте 🔥
Однако, если анонсы в канале не мешают, ставьте 💊
Никто не верил, но это произошло. Валентин уже во всю выполняет заказы фичей в PHP:
- закидывает get_objects() в PHP Internals
- решает нерешаемые вопросы дженериков в PHP
Что дальше? Функция fart(🔥 ) в ядре?
Если да, то попрошу сделать её сразу неблокирующей 👌
- закидывает get_objects() в PHP Internals
- решает нерешаемые вопросы дженериков в PHP
Что дальше? Функция fart(
function fart(int $power, \DateInterval $duration, float $toxicity = 0.1)
Если да, то попрошу сделать её сразу неблокирующей 👌
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
PHP умирает?!
😄
Пора и нам подумать о #PHP. Начнём прямо сегодня, в 19:00МСК.
В гостях Антон Титов. Поговорим про будущее PHP.
https://youtube.com/live/B2LJDGEsPYk?feature=share
В гостях Антон Титов. Поговорим про будущее PHP.
https://youtube.com/live/B2LJDGEsPYk?feature=share
Telegram
Moz Vkusni in PHP Fart Time Chat
Forwarded from Pavel Buchnev
🕘 В 21:00 по Мск запускаем стрим. Пишем PHP микросервисы с GRPC на Spiral + RoadRunner
https://www.youtube.com/watch?v=En0InnKsryA
https://www.youtube.com/watch?v=En0InnKsryA
YouTube
Как создать PHP микросервисы с GRPC: Spiral и RoadRunner | Полное руководство
В этом стриме мы подробно рассмотрим создание PHP микросервисов с использованием gRPC, Spiral и RoadRunner. Пройдемся по всему процессу от настройки до реализации:
Код проекта: https://github.com/php-fart/grpc-microservices
0:00 Начинаем
4:35 Что такое…
Код проекта: https://github.com/php-fart/grpc-microservices
0:00 Начинаем
4:35 Что такое…
Forwarded from Pavel Buchnev
🕘 В 21:00 по Мск продолжаем стрим по GRPC
План такой:
1. Создать каркас приложения
2. Настройка БД
3. Регистрация, Авторизация пользователей
4. Docker compose
5. Если останется время, то OpenTelemetry
https://youtube.com/live/i0Bb9U7SHX4?feature=share
План такой:
1. Создать каркас приложения
2. Настройка БД
3. Регистрация, Авторизация пользователей
4. Docker compose
5. Если останется время, то OpenTelemetry
https://youtube.com/live/i0Bb9U7SHX4?feature=share
YouTube
Как создать PHP микросервисы с GRPC: Docker, Interceptors, OpenTelemetry | Часть 2
Присоединяйтесь к нам во второй части нашего стрима, где мы продолжаем разработку PHP микросервисов с GRPC. В этом эпизоде мы фокусируемся на следующем:
📌 Основные темы:
- Docker окружение: настройка PHP, баз данных, OpenTelemetry, и Buggregator.
- Интерсепторы:…
📌 Основные темы:
- Docker окружение: настройка PHP, баз данных, OpenTelemetry, и Buggregator.
- Интерсепторы:…
Forwarded from Pavel Buchnev
Всем привет. Сегодня планирую очередной стрим по созданию сервисов с gRPC. https://www.youtube.com/watch?v=li3nw7Bidzc В этом стриме будет добавлять еще Temporal в нашу инфру и начинать его использовать.
YouTube
Как создать PHP микросервисы с Temporal + gRPC: Авторизация и регистрацая пользователей | Часть 3
Присоединяйтесь к нам в третьей части нашего стрима, где мы продолжаем разработку PHP микросервисов с GRPC. В этом эпизоде мы фокусируемся на следующем:
📌 Основные темы:
- Docker окружение: установка и настройка Temporal.
- База данных: завершение создание…
📌 Основные темы:
- Docker окружение: установка и настройка Temporal.
- База данных: завершение создание…