Work.Дыбр - разгребая наследие ушедших
Jan. 26th, 2023 05:05 pmИ никогда, вы слышите, никогда не доверяйте web-разработчикам проектирование архитектуры промышленных систем!
Задачка - относительно простая система управления видеоконтентом для андроидных экранчиков. Архитектура - 6 виртуальных серверов на реальных IP (2 базы, бэк, storage, фронт, nginx-маршрутизатор) + CI/CD с гитлабом для всего этого великолепия. Декомпозиция по учебнику :)
Товарищ уволился три месяца назад, проект передали в мой отдел.
Сейчас понадобилось собрать standalone-машинку для мелкого пилота. Два человека охреневают от мощи архитектурного решения уже третий день, постепенно впихивая весь этот сон разума в одну операционку :)
Мораль: не переусложняйте.
P.S. Автор хотел написать систему, масштабируемую на 100500 клиентов. Но само приложение разработано так, что каждому клиенту нужен свой экземпляр системы. Sic.
Задачка - относительно простая система управления видеоконтентом для андроидных экранчиков. Архитектура - 6 виртуальных серверов на реальных IP (2 базы, бэк, storage, фронт, nginx-маршрутизатор) + CI/CD с гитлабом для всего этого великолепия. Декомпозиция по учебнику :)
Товарищ уволился три месяца назад, проект передали в мой отдел.
Сейчас понадобилось собрать standalone-машинку для мелкого пилота. Два человека охреневают от мощи архитектурного решения уже третий день, постепенно впихивая весь этот сон разума в одну операционку :)
Мораль: не переусложняйте.
P.S. Автор хотел написать систему, масштабируемую на 100500 клиентов. Но само приложение разработано так, что каждому клиенту нужен свой экземпляр системы. Sic.
Re: !
Date: 2023-01-27 06:40 am (UTC)На мой взгляд, классы крайне неудачный инструмент для ШИРОКОГО пользования. Он дает ощутимые преимущества только при правильном ОО-дизайне. Что, конечно, проще чем придумать целый новый раздел математики, но тем не менее.
RE: Re: !
Date: 2023-01-27 08:35 am (UTC)Строго говоря, ЛЮБАЯ технология даёт преимущества только при грамотном её использовании :)
Применительно к ООП, разработка системы классов — основа дизайна программы, поскольку неверно выбранное решение влияет на весь код. Понимание того, какие прикладные классы нужны и нужны ли вообще (и можно обойтись только библиотечными) — показатель квалификации программиста. Ибо единственный универсальный инструмент — это мозг :)))
В тех же контейнерах принципиально нет ничего плохого, для ряда задач они ой как полезны и удобны, но надо понимать, когда как их готовить.