Для ситуаций когда значения поля в таблице PostgreSQL имеет ограниченное количество строковых значений, для использования отлично подходит тип Enums, который предварительно создаем, а потом используем при создании поля в таблице.
Читать далееPSR-18 HTTP клиент.
В этом документе описывается общий интерфейс для отправки HTTP-запросов и получения HTTP-ответов.
Данная статья, это авторский перевод, описания стандарта. С оригиналом описания Вы можете ознакомиться здесь.
Читать далееШаблон проектирования Bridge (Мост).
Паттерн Bridge решает проблему отделения абстракции от ее реализации, чтобы они могли изменяться независимо друг от друга. Шаблон Мост относится к группе структурных паттернов в книге от банды четырех.
Читать далееШаблон проектирования Proxy (заместитель).
Паттерн proxy (он же паттерн заместитель) — это структурный паттерн из книги банды четырех.
Прокси — это объект посередине, это подмена реального объекта, прокси класс замещает реальный объект. Вместо того, чтобы клиент напрямую вызывал какой-либо объектный метод, входящий вызов сначала получает объект прокси, и взаимодействие с методами реального объекта уже происходит через него.
Прокси похож на паттерн декоратор, но декоратор это всегда привнесение нового функционала, а паттерн прокси имеет цель именно подмену реального объекта на объект прокси.
Читать далееСущности Entity в DDD.
Зачастую в нашем домене имеются модели, требующие быть уникально идентифицированными в рамках нашего приложения.
Например такими моделями могут являться:
- автомобиль в системе учета транспорта
- пользователь в приложении
- заказ в интернет магазине
Все они должны иметь уникальный идентификатор, чтобы мы могли отличать их от аналогичных.
Читать далееОстановить и удалить Apache2 в Ubuntu
Если на вашей ос Ubuntu вам не нужен Apache2 то можно легко его удалить.
Первым шагом проверим его статус, с помощью команды
sudo systemctl status apache2

Далее останавливаем Apache и проверяем его статус, что он остановлен, при помощи команды:
Читать далееЗачем нужен подход Event Storming ?
Одним из самых важных и сложных моментов, предшествующим разработке архитектуры приложения, это сбор требований и моделирование бизнес-процессов.
Не важно, внтутренний или внешний заказчик, не важно будет in-house или outsource разработка, вначале требуется понять ЧТО требуется сделать, КАКИЕ объекты будут в будущей системе и КАКИЕ сценарии должны происходить. И если ваше будущее приложение немного сложнее, чем красная кнопка с функционалом оставить отзыв, то в сложном бизнес-процессе будет присутствовать большое количесство объектов и вариантов сценариев с ними.
Но зачастую такие знания о процессах, которые должны происходить в системе при различных условиях, о возможных состояниях объектов в системе и условиях переходов из одного состояния в другое, не описаны в едином источнике знаний. Знания и понимание как должно быть могут немного содержаться в устаревшей документации, разумеется у product manager, project manager, у программистов и у многих других сотрудников компании, в том числе у собственника бизнеса.

И для такого моделирования уже существуют способы разной степени сложности и затратности по времени, но на их фоне очень выгодно выделяется подход Event Storming, введеный итальянским программистом Альберто Брандолини, успешно используемый им в контексте DDD.
Читать далее