Deworker Pro
1.41K subscribers
5 photos
187 links
Download Telegram
Если до или после завтрашнего стрима появится желание вспомнить содержание прошлого стрима, то для удобства просмотра добавили тайм-коды:

https://deworker.pro/blog/stream-modules
Из-за жутких проблем со связью решено провести скоростной интернет и провести эфир в другой день. Заодно подготовлю больше кода с примерами. И можете в комментарии под постом скидывать свои вопросы и примеры, на которые отвечу сразу или разберём на стриме.

О дате стрима сообщу здесь и рассылке.
Deworker Pro
Из-за жутких проблем со связью решено провести скоростной интернет и провести эфир в другой день. Заодно подготовлю больше кода с примерами. И можете в комментарии под постом скидывать свои вопросы и примеры, на которые отвечу сразу или разберём на стриме.…
Скоростной интернет проведён и успешно протестирован. Так что можем перепровести наш стрим. Сделаем это уже во вторник 19 сентября в 18:00 по московскому времени.

Спасибо активным участникам, которые прислали дополнительные вопросы и свой код на разбор. Все примеры добавлены в программу. И больше проработан код по работе с очередями в RabbitMQ c реализацией паттерна Outbox.

До встречи с участниками на стриме!
Спасибо зрителям за хорошую компанию! Мы разобрали принципы избавления от лишних связей и спрограммировали работу с очередями для общения модулей через события.

Теперь пришла пора рассмотреть другие практические примеры и ваши вопросы. Для этого завтра 26 сентября в 18:00 по московскому времени проведём вторую часть стрима.

А пока для удобства просмотра к первой части добавлены тайм-коды.
Большое спасибо зрителям нашего эпичного стрима за отличную компанию! Мы с вами это сделали!

Для удобства просмотра и поиска к обеим частям стрима проставлены подробнейшие тайм-коды. Если вы ещё не всё посмотрели, то самое время начать.
Однажды до большого стрима мы записали мегаэпизод про работу HTTP-сервера и заблуждения PHP-программистов. Пришло время сделать что-то эпичное снова.

В этот раз записали большой мегаскринкаст про устройство тестовых фреймворков. Там мы напишем с нуля свой тестовый фреймворк по примеру PHPUnit. В нём как в оригинале сделаем автосканирование тестовых файлов, тестирование ожидаемых исключений и написание параметризованных тестов с провайдерами данных через PHP-атрибут DataProvider.

Заодно отрефакторим полученный код, избавив его от нарушения инкапсуляции и от побочных эффектов записи результатов и прямого вывода на экран. Вынесем принтеры сводки и прогресса запуска и сделаем слабосвязанную архитектуру с использованием событий.
Продолжаем моделирование предметной области аукциона через практику Event Storming. Сегодня завершим этап Big Picture для понимания общей картины бизнеса. В эпизоде проанализируем процесс проведения торгов, пополнение баланса, резервирование оплаты и все этапы сделки.
На прошлом стриме мы с вами разобрались с разделением кода на модули и микросервисы. Продолжаем стримы на полезные смежные темы.

В этот раз поговорим про оптимизацию запуска и работы PHP-приложений. От простого включения OpCache, кеширования конфигурации и ленивой инициализации сервисов до Preload с JIT и RoadRunner, асинхронности, использования Fiber-ов и других нюансов в разных фреймворках. Приходите на стрим, чтобы провести вечер с пользой!

Реклама ООО «Деворкер» ИНН 7840083887
В кабинете на сайте появилась возможность сменить Email профиля.

Если хотите перейти с неудобной для себя почты на более удобную, то теперь это можно сделать, подтвердив новый адрес.
Deworker Pro
На прошлом стриме мы с вами разобрались с разделением кода на модули и микросервисы. Продолжаем стримы на полезные смежные темы. В этот раз поговорим про оптимизацию запуска и работы PHP-приложений. От простого включения OpCache, кеширования конфигурации…
К записи первой части стрима для удобства просмотра добавили тайм-коды. И скоро проведём вторую часть, где рассмотрим использование файберов и написание проектов на асинхронных фреймворках. Тайм-кодами и датами дополнили пост на сайте. Если ещё не посмотрели первую часть, то лучше это сделать до начала второй.
А для подписчиков на днях выйдут скринкасты про моделирование бизнес-процессов в Event Storming и про автообновление PHP-синтаксиса с помощью Rector.
Deworker Pro
На прошлом стриме мы с вами разобрались с разделением кода на модули и микросервисы. Продолжаем стримы на полезные смежные темы. В этот раз поговорим про оптимизацию запуска и работы PHP-приложений. От простого включения OpCache, кеширования конфигурации…
В дни чистовой подготовки стрима про асинхронные серверы пришли идеи с более реальными примерами на AmPHP, ReactPHP и Swoole. Чтобы было красиво и полезно. Потому пока подготовлю новый код, а эфир проведём послезавтра 17-го апреля.

Если хотите присоединиться, но ещё не посмотрели первую часть, то лучше это сделать до начала второй. До встречи с участниками в эфире и в записях!
Deworker Pro
На прошлом стриме мы с вами разобрались с разделением кода на модули и микросервисы. Продолжаем стримы на полезные смежные темы. В этот раз поговорим про оптимизацию запуска и работы PHP-приложений. От простого включения OpCache, кеширования конфигурации…
Напоминаем, что сегодня мы проведём наш стрим про оптимизацию запуска и работы PHP-приложений. Сегодня во второй части поговорим про асинхронные серверы и фреймворки. Про их идеи, достоинства и сложности. До встречи со зрителями в эфире и в записи!
Стрим успешно проведён и тайм-коды к записи частично добавлены. Возвращаемся к программированию.

Перед большим авторефакторингом проекта с помощью инструмента Rector пора перевести API на PHP 8.3 и провести глобальное обновление на долгожданные Doctrine ORM 3 и DBAL 4. Этим сегодня и займёмся.
Тайм-коды ко второй части стрима готовы, уточнения написаны и код везде исправлен. Теперь пересматривать будет удобнее. Что получилось
Мы перевели проект на PHP 8.3, но код наших классов под новые возможности языка ещё не меняли. Чтобы не делать это вручную, сегодня мы проведём автообновление синтаксиса и авторефакторинг нашего PHP-проекта с помощью полезного инструмента Rector.

Также с его помощью упростим использование типов в Doctrine-сущностях, переведём PHPUnit-тесты с аннотаций на атрибуты и спрограммируем собственный ректор для более аккуратного перевода наших классов на синтаксис Constructor Property Promotion.
Помимо регистрации и входа по почте и паролю порой полезно сделать авторегистрацию и вход через сторонние сервисы вроде почтовиков и социальных сетей.

Этим сегодня и займёмся.

Впрограммируем работу с внешними OAuth-сервисами в наш процесс входа с League OAuth Server. Подключим несколько провайдеров и добавим кнопки быстрого входа в AuthProvider фронтенда.

Для удобства разработки и тестирования сделаем эмуляцию страниц и API сторонних сервисов с помощью инструмента Wiremock.