- Категории
- Источники
- Все курсы
- Разделы
- Книги
На декабрьском стриме мы познакомились с идеями разделения кода на модули или микросервисы. Мы разобрали всё это на своём примере большого магазина, но от вас поступили предложения сделать это и на ваших примерах для ваших предметных областей. Также часто спрашивают о том, как раздробить на модули или микросервисы не новый, а уже имеющийся монолитный проект.Пришла пора ответить на эти вопросы, спрограммировать работу с очередями, реализовать патт
Применение Event Storming на практике построения доменной модели проекта аукциона. Моделирование пользовательских сценариев.
Серия скринкастов по разработке интерактивного аукциона с API на микрофреймворке Slim PHP и фронтендом на ReactJS по практикам DDD и DevOps.
Разберём устройство тестовых фреймворков. Спрограммируем свой тестовый фреймворк на примере PHPUnit. В нём как в реальном сделаем сканирование тестовых файлов, тестирование ожидаемых выбрасываемых исключений и написание параметризованных тестов с провайдерами данных с атрибутом DataProvider.Заодно отрефакторим полученный код, избавив его от нарушения инкапсуляции и от побочных эффектов записи результатов и прямого вывода на экран. Вынесем принтер
Изучим методы повышения быстродействия веб-приложения. От простого активации OpCache, кеширования настроек и ленивой инициализации сервисов до применения Preload с JIT и RoadRunner, асинхронности, использования Fibers и других особенностей в различных фреймворках. Выполним практику на проектах с бенчмарками. Обсудим потенциальные проблемы, удобство разработки stateless-сервисов и способы передачи контекста запроса.
Мы уже рассмотрели высокоуровневое разделение проекта на модули и микросервисы, чтобы уменьшить количество связей между отдельными подсистемами. В качестве примера использовалась сложная растущая программная система для крупного завода железобетонных изделий, предлагающего бетон с ароматом клубники для VIP-клиентов. Тогда мы вскользь упомянули принципы и паттерны SOLID и GRASP применительно к модулям. Эта тема интересна сама по себе, и к ней все
Мы дошли до программирования доменной модели аукциона. У нас уже есть подробное задание, которое теперь нужно реализовать в коде. Нужно будет разобраться с доменными контекстами и пройтись по пользовательским сценариям. Это мы рассмотрим в следующих скринкастах.Но помимо аукциона нам будет крайне полезно более ёмко рассмотреть примеры из других предметных областей. Для этого мы проведём отдельный большой обобщающий практический стрим про декомпоз
Рефакторинг реальных проектов и библиотек. Разбор кода и рекомендации по тактическому. и архитектурному улучшению.
Исследование работы бэкенд-фреймворков через написание своего PSR-совместимого HTTP-микрофреймворка и компонентов.
Исследование предметной области. Анализ требований. Разработка технического задания и проектирование дизайна для проекта аукциона.