Pavel
Всем привет, ребятки, сделал офигенную сборку для разработки и рассказал почему докер это заебись https://modx.pro/solutions/20120
Миша
Хорошая статья но нет
Миша
Я ещё за столько лет работы не разу не наткнулся на компанию где использовали докер
Dmytro
Используем докер правда не под все проекты )
Pavel
Я ещё за столько лет работы не разу не наткнулся на компанию где использовали докер
А я еще ни разу не наткнулся на компнию которая докер не использует) Но не в modx конечно
Pavel
Да и сборка делалась не для modx'a просто хотелось показать людям по ту сторону баррикад насколько разработка, деплой и работа вообще может быть удобной даже в modx, не нужны не gitify (или как там этот высер называется) ни конфиги править каждый раз не надо, все происходит автоматически, база автоматически дампится, автоматически разворачивается, конфиги автоматически прописываеются, деплой также происходит в авторежиме
Dmytro
И что будет если 2 разработчика внесут правки в базе, оно ж не смердитьс
Dmytro
А если все делать в 1 лицо то само собой все будет работать но там тогда докер не надо:)
Pavel
А как решается вопрос контента который на проде заполняется ?
Никак, БД не синхронизируется dev->prod только при первом деплое
Pavel
А если все делать в 1 лицо то само собой все будет работать но там тогда докер не надо:)
Я описал почему докер нужен одному разработчику, там целых два кейса каждый из которых тащит огромные проблемы за собой
Pavel
Ну ладно, проблемы не такие уж и огромные, но значительные
Dmytro
А все понял а то я уж думал нашли магию для модх :)
Pavel
Если тебе нравится писать конфиги под каждый проект, разбираться с десятками/сотнями записями в hosts устанавливать на свою машину десятки не не нужных сервисов и конфигурировать их просто чтобы пару раз поправить на пере уникальных проектов ошибку 404 и прочие прелести разработки не под докером - пожалуйста
Pavel
Я уже молчу что бывают случаи когда на твоем железе все ок, а на сервере не ок, и начинаешь сравнивать свои и серверные конфиги
Pavel
И я не только про конфиги nginx, я больше про конфиги редисов, мемкешов, php-fpm и т.д.
Dmytro
Да мы просто на дев сервере работаем и все. Для модх это самый оптимальный вариант
Dmytro
Опять де в рамках модх это окружение стандартно
Pavel
Да мы просто на дев сервере работаем и все. Для модх это самый оптимальный вариант
И об этом я тоже писал, самый первый кейс, я так 1.5 года отработал, но это превращается в боль когда на проекте начинают использоваться современные технологии, например тот же композер, и композер наверное самая маленькая боль
Dmytro
Но опять же я за докер удобней в нем :) просто не решает проблемы командной работы и миграций в модх
Pavel
А какие с композером проблемы ? В рамках ево используем на всех проектах
Чтобы были подсказки и прочие прелести современной разработки докер нужно установить и на локальной машине и на сервере
Dmytro
Подсказки в композере есть уже в пхпшторм Ну а если докер юзать то логично что и на сервере
Pavel
А какие с композером проблемы ? В рамках ево используем на всех проектах
И тут начинается веселье, например ты сначала устанавливаешь на локальной машине, один из компонентов требует какое то php расширение которое у тебя есть у тебя все ок установилось, vendor спокойно выкачивается на сервер и на сервере все падает, потому что там какого то из php расширений нет
Pavel
Так оно первым алертом скажет что доставить и все
Это если у тебя vendor не выкачивается при ctrl+s а для этого нужно каждый раз в deply добавлять его в исключения, ну и опять же, делать composer install/composer update каждый раз на сервере и локально
Pavel
А докер тут при чем это заслуга ИдЕ
Да какой докер, я про композер
Pavel
Если у тебя нет файлов библиотек локально, а они есть только на сервере то подсказок не будет
Pavel
Ну и ? Дай бог 5 раз за проект надо сделать обычно 1-2
5 раз локально 5 раз на сервере и это только для 5 либ, все зависит от активности работы над проектом, определить сразу сколько и какие библиотеки ты будешь использовать сразу довольно проблематично
Dmytro
Так а в чем сложность 10 раз выполнить композер апдейт ?
Dmytro
Понятно что удобней с докером но в таком ключе это не сильно спасает + потом скорей всего на проде вообще шаред будет без ssh
Pavel
Так а в чем сложность 10 раз выполнить композер апдейт ?
Да нет сложности вообще ни в чем, и базу данных можно через ручками переносить, и конфиги для каждого проекта прописывать, и 100500 раз править 4 файла config.core.php и через FTP закидывать файлы а не через какой нибудь rsync и т.д. и тому подобное, но когда ты делаешь это десятки раз в день, это очень и очень надоедает
Pavel
Так а в чем сложность 10 раз выполнить композер апдейт ?
Да, кстати, это если еще либы не генерируют какие то файлы, например элементарно те же логи, которые тебе придется выкачивать вручную
Pavel
И логи наверное самое безобидное, некоторые либы генерируют целые компоненты
Pavel
Понятно что удобней с докером но в таком ключе это не сильно спасает + потом скорей всего на проде вообще шаред будет без ssh
Ну слава богу я уже пару лет не видел сайты на шаредах, по этому хз, да и смысла в шареде в 2020 году не вижу, по цене одно и то же, а по проблемам на шареде их больше
Dmytro
У меня проблема с базой ибо работает минимум 2 человека и получаем боль которую докер не разруливает :/ В целом есть костыльное решение но в целом данная проблема из за того что контент и структура это одно и тоже в рамках МОДХ
Dmytro
Дошли до создания новых страниц шаблонов и тв через миграции
Dmytro
Тогда пофиг на контент и удобно работать
Pavel
Я когда в студии работал мы несколько раз пытались как то организовать работу над одним проектом двух бэков, так и не получилось, легче отправлять 1 бэк - 1 проект
Pavel
И сроки говорить соответствующие
Dmytro
Ну когда несколько человек работает стоит наверное забить хер на modx и начать работать с фреймворками, там с этим проблем нет
А есть проблема что уходит на создание того что в модх из коробки процентов 30 времени :/
Dmytro
Вот банально делали на ларке проект на админку ушло дофига хотя в остальном удобнейи комфортней работать
Pavel
А есть проблема что уходит на создание того что в модх из коробки процентов 30 времени :/
За то экономия в поддержке и масштабировании проекта, да и слушай, если нужно два разраба на один проект, там полюбому уже что то кастомное и сложное, там уже по любому с CMS будет больше проблем чем с любым фреймворком
Pavel
Вот банально делали на ларке проект на админку ушло дофига хотя в остальном удобнейи комфортней работать
Ну для админки на ларе есть множество решений, если требования к админке "Лишь бы TinyMCE работал и кнопочки тыкались"
Pavel
Я уже молчу о том что есть автогенераторы админок, не приведу сейчас ссылки т.к. не до этого сейчас, но если вечером напомнишь - поищу, там вообще все делается одной командой и пару конфигов настраивается после
Pavel
Короче скорость разработки на фреймворках вполне может быть такой же, как на CMS, все зависит только от опыта использования тех или иных пакетов
Dmytro
Проблема в том что все админки на фреймворках печальные, модх на голову выше. Ну и тут вопрос по большому счету в бюджете, ибо не ларке в любом случае дороже а не всегда это вписывается в бюджет клиента
Pavel
Проблема в том что все админки на фреймворках печальные, модх на голову выше. Ну и тут вопрос по большому счету в бюджете, ибо не ларке в любом случае дороже а не всегда это вписывается в бюджет клиента
> Проблема в том что все админки на фреймворках печальные, модх на голову выше. И соглашусь и нет одновременно, modx для разработчика действительно очень продвинутая админка, но для контент-менеджера 90% функционала просто не нужно, а элементарный который нужен - нет или требует установки десятка других компонентов
Pavel
Короче в этом плане у меня двоякое чувство, с одной стороны у меня действительно админка modx вызывает восторг, с другой у меня уже не один клиент у которого один проект на modx и один на ларе с орчидом и еще никто мне не сказал что им что то не удобно там или там
Dmytro
Короче в этом плане у меня двоякое чувство, с одной стороны у меня действительно админка modx вызывает восторг, с другой у меня уже не один клиент у которого один проект на modx и один на ларе с орчидом и еще никто мне не сказал что им что то не удобно там или там
Может быть дело привычки тут не спорю Но вот как раз под одтн проект готовим доку у них была админка типа модх но на дотнете тоже с деревом слева и понимаю что там ево вписывается прям идеально + все что надо из допов есть и ставиться быстро. + не знаю как в Рево но в Ево в админке все лишнее легко убирается хоть инпуты хоть меню хоть контекстное меню + сейчас все хотят конструкторы контента а это у нас есть в том же орхид такого не видел
Dmytro
Вообщем тут да нужно подбирать инструмент под задачу а не наоборот
Pavel
Может быть дело привычки тут не спорю Но вот как раз под одтн проект готовим доку у них была админка типа модх но на дотнете тоже с деревом слева и понимаю что там ево вписывается прям идеально + все что надо из допов есть и ставиться быстро. + не знаю как в Рево но в Ево в админке все лишнее легко убирается хоть инпуты хоть меню хоть контекстное меню + сейчас все хотят конструкторы контента а это у нас есть в том же орхид такого не видел
> сейчас все хотят конструкторы контента а это у нас есть в том же орхид такого не видел Ну в фриланс практике я уже три года как специализируюсь на интернет магазинах, а на работе поддерживаю один большой проект, по этому таких требований не слышал, но насколько я понимаю для этого достаточно всего лишь какой нибудь JS библиотеки, в орчид нет проблем сделать поле на которое будет вешаться какая нибудь либа > Вообщем тут да нужно подбирать инструмент под задачу а не наоборот Скорее под главную специализацию, я пока полностью не перешел на фреймворки пытался совмещать и modx и фреймворки, в итоге под простые задачи на modx у меня уходило в несколько раз больше времени, чем под сложные на том же laravel, просто потому что в modx у меня уходило 30% времени на мат, еще 50% на то чтобы заставить себя испытывать боль при разработке и только 20% на работу
Dmytro
> сейчас все хотят конструкторы контента а это у нас есть в том же орхид такого не видел Ну в фриланс практике я уже три года как специализируюсь на интернет магазинах, а на работе поддерживаю один большой проект, по этому таких требований не слышал, но насколько я понимаю для этого достаточно всего лишь какой нибудь JS библиотеки, в орчид нет проблем сделать поле на которое будет вешаться какая нибудь либа > Вообщем тут да нужно подбирать инструмент под задачу а не наоборот Скорее под главную специализацию, я пока полностью не перешел на фреймворки пытался совмещать и modx и фреймворки, в итоге под простые задачи на modx у меня уходило в несколько раз больше времени, чем под сложные на том же laravel, просто потому что в modx у меня уходило 30% времени на мат, еще 50% на то чтобы заставить себя испытывать боль при разработке и только 20% на работу
По первому да все можно но нужно потратить ресурсов что б обкатать все дело По второму я очень рад что не влез в рево и что в ево впилил основные штуки с ларки: - базовая логика разработки стала легче, меньше костылей, один блейд и елоквиент стоят многого - да и сейчас проще накидать с нуля, само собой навыки разработки маст хев, вариант все кнрпочками теперь не вариант :)
Dmytro
Только вот для ИМ она не очень подходит) С одной стороны можно накидать ИМ как и в ларке той же, с другой стороны это будет боль учитывая то что под ИМ нужно будет не мало сделать изменений в админке и легче уже использовать что то с нуля
Вообще не вижу проблем. 1. Что есть им ? - корзина и обработка заказов Собственно все, так как категории товары цены параметры фильтра не имеют к этому отношения
Dmytro
У нас тоже основная специализация екоммерсе притом зачастую хотелки далеко не стандартные.
Dmytro
Сейчас кстати хорошее решение под Ево: http://docs.evo.im/04_extras/commerce.html Базовые потребности закрывает
Dmytro
Да нет кучи модулей как под минишоп это да.
Dmytro
Но в целом с теми модулями что мы делаем под проекты там только с нуля ибо совсем не стандартные штуки
Pavel
Вообще не вижу проблем. 1. Что есть им ? - корзина и обработка заказов Собственно все, так как категории товары цены параметры фильтра не имеют к этому отношения
> Что есть им ? Это скорее филосовский вопрос, нежели практический :D А если без шуток, средний ИМ, это еще минимальная логистика, рассылки, и расчеты доставок и оплат, "виртуальные" и "физические" товары Все это еще должно работать через гетевеи для легкости интеграции новых решений и быстрого переключения и т.д. и т.п.
Pavel
И это еще без всяких 1С, складских учетов и тому подобному
Pavel
Так что не проблема сделать корзину и оформление заказов, проблема в том, что под ними)
Pavel
Для корзины и оформления заказов есть даже JQuery либы если уж на то пошло, которые хранят все в куках, по этому тут даже бэк не обязателен
Dmytro
Ну так а что мешает сделать рассылки ? Просчеты доставок ? Интеграции ?
Dmytro
Я вот не вижу ограничений в рамках модх хоть рево хоть ево в целом если не стандарт делаем то все равно самому пилить все
Pavel
Ну так а что мешает сделать рассылки ? Просчеты доставок ? Интеграции ?
Необходимость неплохо так заморочиться с изменением админки, а учитывая что твоя админка далеко не орчид по расширению и удобностью добавления новых пунктов, с таким количеством самописной логики гораздо быстрее будет сделать все это в орчиде где одной командой генерируются целые админ-модули
Pavel
Я вот не вижу ограничений в рамках модх хоть рево хоть ево в целом если не стандарт делаем то все равно самому пилить все
ну в рево спасает то, что все это уже есть в компонентах, если самому пилить все это в рево, на этапе админки можно уже натирать веревку
Dmytro
Мы вообще такие модули пилим с логикой рестАпи
Dmytro
Тогда у тебя есть отдельно компонент который отдает данные и интерфейс : - легче пилить - легче дебажить - проще работать командой
Dmytro
Проблема в автогенерируемых админках что они по юзабилити страдают :/ нет многих вещей которые хочеться. Вернее со стороны разработчика пофиг можно править и хорошо
Dmytro
Но менеджерам не удобно и я вижу такие штуки когда на событие где можно в 1 клик уложиться нужно делать 5
Pavel
В чем сложность в админке вообще не вижу. Расширяй как хочем любыми модулями.
Ну смотри, тебе как разработчику этой админки нет вообще никаких сложностей, а мне, как ее пользователю совсем не хочется вникать в твой код, в орчиде я выполнил одну команду, у меня сгенерировались модули где сам орчид говорит "Братан, вот тут пиши код, остальное не трогай, вот там документация как сделать все что угодно в этом модуле, гудбай" и все, больше мне ни в чем разбираться не надо, и можно отключив мозг на автопилоте просто работать