Gleb
Ну я безобидно шучу)))
artem
Gleb
Сейчас так нельзя😔
Пф... недавно в команде rm -rf ./* пропустил точку. Убунту даже не спросила действительно ли я уверен.
artem
Gleb
Не, это было из вложенной папки /home/user/
artem
Должно сработать. Сорри, не смог в одну команду. На телефоне не нашел знак
Gleb
😁 как будет лишняя виртуалка под снос - обязательно попробую)
Сергей
artem
Сергей
Сергей
Ну короче если запустить в молчаливом режиме, то я думаю что доступно то грохнет, это могут быть и какие то системные конфигурации
Юра
Юра
И попробуй )
Aleksandr
привет, если кого-то интересует парт-тайм на симфони, обращайтесь)
Евгений
Всем привет друзья!
Евгений
Я делаю первый проект на Symfony, причем до этого делал сайты только на cms. Последняя - Drupal. Не смог приделать к нему нужный мне функционал и, услышав, что последние его версии созданы на основе Symfony, решил попытаться разобраться в нем. Пытаюсь уже несколько месяцев. Пока сделал только CRUD c определенными проверками. Делаю программку для учета аренды мест и ее оплаты в общежитии колледжа. В дальнейшем необходимо будет расширять для учета всех приходов и расходов. Мой проект работает с помощью форм и вывода информации в html формате. Я понимаю, что первый проект не может быть совершенным, но все таки хочется сделать то, что можно будет расширять. Посоветуйте пожалуйста, какой либо логичный существующий способ организации кода по функционалу, который поможет разбить проект на логические разделы. Важно, чтобы можно было по структуре папок и файлов можно было видеть что где искать и изменять. Спасибо. Всем мира!
Null
Я делаю первый проект на Symfony, причем до этого делал сайты только на cms. Последняя - Drupal. Не смог приделать к нему нужный мне функционал и, услышав, что последние его версии созданы на основе Symfony, решил попытаться разобраться в нем. Пытаюсь уже несколько месяцев. Пока сделал только CRUD c определенными проверками. Делаю программку для учета аренды мест и ее оплаты в общежитии колледжа. В дальнейшем необходимо будет расширять для учета всех приходов и расходов. Мой проект работает с помощью форм и вывода информации в html формате. Я понимаю, что первый проект не может быть совершенным, но все таки хочется сделать то, что можно будет расширять. Посоветуйте пожалуйста, какой либо логичный существующий способ организации кода по функционалу, который поможет разбить проект на логические разделы. Важно, чтобы можно было по структуре папок и файлов можно было видеть что где искать и изменять. Спасибо. Всем мира!
Это смотрел? https://habr.com/p/671956/
Евгений
Нет, спасибо, посмотрю.
Евгений
Еще раз спасибо. Но я не нашел ни одного контроллера в папке Controller. Я новичок в работе с Symfony. Мне необходимо реализовать это с помощью форм и html. И учет аренды и оплаты очень простой. Мне нужно сделать структуру по определенному шаблону.
Vladimir
Это смотрел? https://habr.com/p/671956/
Я смотрел, честно сказать - это шляпа какая-то, выглядит как будто автор хотел "выделиться" и показать свой скилл, переусложнив всё, что можно. А по факту там непонятно даже как добавить новую валюту.
Vladimir
Null
Dmitry
Dmitry
Я делаю первый проект на Symfony, причем до этого делал сайты только на cms. Последняя - Drupal. Не смог приделать к нему нужный мне функционал и, услышав, что последние его версии созданы на основе Symfony, решил попытаться разобраться в нем. Пытаюсь уже несколько месяцев. Пока сделал только CRUD c определенными проверками. Делаю программку для учета аренды мест и ее оплаты в общежитии колледжа. В дальнейшем необходимо будет расширять для учета всех приходов и расходов. Мой проект работает с помощью форм и вывода информации в html формате. Я понимаю, что первый проект не может быть совершенным, но все таки хочется сделать то, что можно будет расширять. Посоветуйте пожалуйста, какой либо логичный существующий способ организации кода по функционалу, который поможет разбить проект на логические разделы. Важно, чтобы можно было по структуре папок и файлов можно было видеть что где искать и изменять. Спасибо. Всем мира!
А если действительно нужно разбивать на разделы, то тогда уже раскладывать по папкам-фичам как в докладе https://elisdn.ru/blog/149/code-structure
Евгений
Спасибо Дмитрий!
Евгений
👍
𝕎𝕒𝕣𝕞
А кто может обьяснить в чём смысл агрегатов в ddd?
У меня есть сервис который создаёт и связывает несколько сущностей. Что я делаю не так?
Dmitriy
агрегат котролирует инварианты
𝕎𝕒𝕣𝕞
Юра
Наверное например синхронизация рилейшенов
Павел
Если у вас нет таких проблем и задач, то и не за чем этим загоняться. Нет смысла натягивать ДДД на всё.
Павел
Опять таки, есть истинные инварианты, которые как раз надо в агрегаты заключать, а есть вещи которые можно догнать через eventual consistency
𝕎𝕒𝕣𝕞
Павел
Чат - больше на круд походит
𝕎𝕒𝕣𝕞
𝕎𝕒𝕣𝕞
агрегат лучше будет смотрется чем сервис
𝕎𝕒𝕣𝕞
Павел
𝕎𝕒𝕣𝕞
Ну думаю это упростит задачу
𝕎𝕒𝕣𝕞
А для чего бы действительно пригодился агрегат?
Павел
Ну если вам кажется что упростит, то ок. Но выше вы писали, что даже не понимаете для чего агрегат, а тут он уже что то упрощает.
Павел
Это куча сообщений, в которой скорее надо думать о перфомансе и нагрузке
Павел
Например агрегат - чат, что он контролирует. Если это агрегат, то и сообщения скорее всего надо через него добавлять. Или через агрегат Сообщения чата, ну если вы все через типа ддд делаете. Значит надо поднимать всю коллекцию сообщений в память. А зачем? Когда можно чуть ли не в тупую сделать sql insert
Павел
Решайте проблемы, а не создавайте их себе. Если считаете что это будет проще через агрегат-то ок.
Павел
Но если агрегат ради термина из ддд - то не ок
𝕎𝕒𝕣𝕞
Спасибо что прояснили
Katulos
Я делаю первый проект на Symfony, причем до этого делал сайты только на cms. Последняя - Drupal. Не смог приделать к нему нужный мне функционал и, услышав, что последние его версии созданы на основе Symfony, решил попытаться разобраться в нем. Пытаюсь уже несколько месяцев. Пока сделал только CRUD c определенными проверками. Делаю программку для учета аренды мест и ее оплаты в общежитии колледжа. В дальнейшем необходимо будет расширять для учета всех приходов и расходов. Мой проект работает с помощью форм и вывода информации в html формате. Я понимаю, что первый проект не может быть совершенным, но все таки хочется сделать то, что можно будет расширять. Посоветуйте пожалуйста, какой либо логичный существующий способ организации кода по функционалу, который поможет разбить проект на логические разделы. Важно, чтобы можно было по структуре папок и файлов можно было видеть что где искать и изменять. Спасибо. Всем мира!
Выбросьте и возьмите любую уже готовую erp
Юра
И сколько будет стоить эта готовая erp
Gleb
Ребята, а кому не сложно потратить немножко времени, объясните мне пожалуйста что я сделал не так? понимаю что фигня, но пока не могу понять что надо сделать иначе.
Суть. Сервис - бизнес-логика. Есть публичный метод, часть логики выделено в приватный метод. (https://pastebin.com/P7NY465P)
Написал юнит тест (да, ряд вещей по тесту оверхед и не нужны, но это учебная задача с целью пощупать разное), получается мне в нём надо протестировать как раз этот приватный метод - как основную часть логики. Тестировать приватные методы вроде считается фу-фу-фу, да и немного рефлексию попользовать пришлось, что бы протестировать приватный метод, что тоже вроде как фу-фу-фу. (тест https://pastebin.com/9mruRZy6)
Размышления.
1. Делать в сервисе этот метод публичным - фигня, он нужен только в этом сервисе.
2. Не выносить код в приватный метод - тогда публичный метод получается относительно большим.
3. Не тестировать приватный метод - так у меня как раз публичный метод сложнее протестировать т.к. я не придумал какое возвращаемое значение туда впихнуть, что бы корректно оттестировать можно было. И как реорганизовать код, что бы была польза от тестирования публичного метода.
4. Сюда нафиг не нужен юнит тест - используй интеграционный?
Павел
Ребята, а кому не сложно потратить немножко времени, объясните мне пожалуйста что я сделал не так? понимаю что фигня, но пока не могу понять что надо сделать иначе.
Суть. Сервис - бизнес-логика. Есть публичный метод, часть логики выделено в приватный метод. (https://pastebin.com/P7NY465P)
Написал юнит тест (да, ряд вещей по тесту оверхед и не нужны, но это учебная задача с целью пощупать разное), получается мне в нём надо протестировать как раз этот приватный метод - как основную часть логики. Тестировать приватные методы вроде считается фу-фу-фу, да и немного рефлексию попользовать пришлось, что бы протестировать приватный метод, что тоже вроде как фу-фу-фу. (тест https://pastebin.com/9mruRZy6)
Размышления.
1. Делать в сервисе этот метод публичным - фигня, он нужен только в этом сервисе.
2. Не выносить код в приватный метод - тогда публичный метод получается относительно большим.
3. Не тестировать приватный метод - так у меня как раз публичный метод сложнее протестировать т.к. я не придумал какое возвращаемое значение туда впихнуть, что бы корректно оттестировать можно было. И как реорганизовать код, что бы была польза от тестирования публичного метода.
4. Сюда нафиг не нужен юнит тест - используй интеграционный?
Варианты:
1. В тесте забыть что у вас есть приватный метод какой то. В тестах вообще не надо об этом думать.
2. Приватный метод похож на какую то бизнесовую логику. Вынести в доменный сервис отдельный, который не будет иметь зависимости. ТОгда у вас будет хороший юнит тест без моков.
Павел
Почитайте по разницу апликейшен сервисов и доменных сервисов. Сейчас вы как раз смешали эти два понятия в одном классе и поэтому страдаете
Gleb
Gleb
В смысле понял. Я по терминологии путаюсь ещё. И вчера только закончил чистую архитектуру читать.
Павел
Хотя мб это у вас и доменный, раз у вас сразу сущности прилетают. Но название какое то члишком общее для доменного
Gleb
Это в итоге сервис, через который консьюмер разбирает очередь. Допускаю что намешал сразу и много.
Gleb
Все-таки это наверное доменный, только возможно в смеси и надо выделить что-то из него.
Подумаю над этим вариантов.
Павел
Gleb
DBAL/DQL вынесено в сам репозиторий.
Nikolay
Павел
Павел
@oleynikgleb Оритентируйтесь на то, что если какие либо действия являются логикой, имеют условия, стараться выносить это в отдельные классы с минимальным количеством зависимотей, в идеале 0 (но не всегда выходит). Например в вашем случае это явно какая то отдельная фабрика.
Gleb
Nikolay
Nikolay
Павел
@oleynikgleb
Вот статья на его блоге по поводу всего этого ) Может и только ее достаточно будет
https://enterprisecraftsmanship.com/posts/domain-vs-application-services/
Gleb
Спасибо вам всем огромное!)
А вообще на этом учебном проекте я понял что такое писать тестируемый код, который упоминают в вакансиях 😄
Павел
Nikolay
Павел
Написать тест можно на любой код. А вот какой тест и какой код - другой разговор
Gleb