@laravel_pro

Страница 1668 из 2014
Edgar
01.08.2018
13:06:11
сервис детекции сателлита, который возвращает тебе условный айди фабрика конфига если нужно - которая модифицирует стандартный под конкретный сателлит тоже самое для настроек почты
и для всего этого в базе создаются сущности в духе конфиг, параметры, и т.д? И с увеличением кастомизируемых параметров кодовая база растет все больше, верно?)

Nik
01.08.2018
13:07:07
и для всего этого в базе создаются сущности в духе конфиг, параметры, и т.д? И с увеличением кастомизируемых параметров кодовая база растет все больше, верно?)
не в базе, а на твое усмотрение. и с увеличением параметров ты переиспользуешь код. в твоем случае веселье начнется когда ты будешь мерджить функционал между проектами в разных репах, особенно когда их количество перевалит за десятки

в моем - ты просто сконфигурируешь существующий функционал под проект

Google
Nik
01.08.2018
13:08:30
неа

ты не вынесешь функционал в отдельный проект

Edgar
01.08.2018
13:08:47
в моем - ты просто сконфигурируешь существующий функционал под проект
при высокой вариативности кастомизации тма можно будет повеситься)

Nik
01.08.2018
13:08:49
это как не крути а часть экосистемы

при высокой вариативности кастомизации тма можно будет повеситься)
ну так сервисы тебе в помощь :) куча кирпичиков, и отдельная фабрика, которая из них соберет нужную тебе финалочку

Evgeniy
01.08.2018
13:10:08
ну конечно, здесь же все pro, это все не просто так
Да блин... просто срочно хелпа нужна)) помогите)

Edgar
01.08.2018
13:10:20
ну так сервисы тебе в помощь :) куча кирпичиков, и отдельная фабрика, которая из них соберет нужную тебе финалочку
Только все это нужно описывать, тестить, кодить. Когда по факту это отдельные сайты с необходимостью управления из 1 места

Nik
01.08.2018
13:11:11
Только все это нужно описывать, тестить, кодить. Когда по факту это отдельные сайты с необходимостью управления из 1 места
сервис самодостаточен, у сервиса есть свои изолированный юнит тест :) как раз то что нужно

Edgar
01.08.2018
13:11:45
ты не вынесешь функционал в отдельный проект
что мешает мне вынести директорию app, в отдельную репу? а свои кастомизации под сайт писать в отдельном сервис провайдере

сервис самодостаточен, у сервиса есть свои изолированный юнит тест :) как раз то что нужно
вот только когда начнутся конфликты кастомизируемых параметров (один не работает при другом и т.д) там начнется дикая мешанина кода, резко возрастет количество тестов, и весь этот код по идее можно и не писать) Или не так?

Nik
01.08.2018
13:13:39
само по себе наличие сервиса не влияет ни на что

а вопрос комбинации этих сервисов уже полностью ложится на тебя

Google
Nik
01.08.2018
13:14:28
но, как здесь уже писали раньше, пока ты не попробуешь покрыть свой код тестами на 100%, ты не поймешь его слабые места

я уже почти 2 года упарываюсь :) так что cohersion вижу на 2 шага вперед

Edgar
01.08.2018
13:16:32
я уже почти 2 года упарываюсь :) так что cohersion вижу на 2 шага вперед
не понимаю. в моем случае вообще нет прослойки с абстракцией над доменами. каждый домен - свой апп. БД управляются из одного места, вот и все) никакой связности между сайтами, никаких зависимостей. Есть еще минусы такого подхода? Вроде с мержем изменений решился вопрос?

Nik
01.08.2018
13:17:20
что мешает мне вынести директорию app, в отдельную репу? а свои кастомизации под сайт писать в отдельном сервис провайдере
то что ты называешь "отдельным сервиспровайдером" и есть по сути фабрика, просто с другой реализацией

>что мешает мне вынести директорию app, в отдельную репу? то что у тебя здесь нет варианта отключить половину валидаций для конкретного домена и выпилить половину меню / функционала

одними сервис провайдерами ты это не обыграешь

Edgar
01.08.2018
13:18:49
одними сервис провайдерами ты это не обыграешь
т.е я не могу просто в своем сервис провайдере оверрайднуть общую логику?) или инстансы классов перебиндить на свои?)

то что ты называешь "отдельным сервиспровайдером" и есть по сути фабрика, просто с другой реализацией
нет, это чисто кастомизация общей логики под конкретный сайт. Она будет пустая, если все по дефолту

Nik
01.08.2018
13:19:23
а потом кто-то сделал обратно несовместимые изменения в твоем аппе и твой проект упал

Edgar
01.08.2018
13:20:19
а потом кто-то сделал обратно несовместимые изменения в твоем аппе и твой проект упал
хм. Что значит обратно несовместимые? т.е апп - это дефолтный проект. он работает. Но моя кастомизация сломалась в конкретном сайте?

Nik
01.08.2018
13:23:15
хм. Что значит обратно несовместимые? т.е апп - это дефолтный проект. он работает. Но моя кастомизация сломалась в конкретном сайте?
простой пример. есть метод, у него есть 2 параметра. проект растет, копий проекта много. ты добавляешь новый параметр (третий). во всех отнаследованных реализациях тебе нужно править код

>Есть еще минусы такого подхода? основной минус, это править все 40 условных проектов когда это нужно

Nik
01.08.2018
13:24:08
ты не четко выразился, я кажется понял твою идею. не шарить апп как таковой, а шарить логику из аппа как композер зависимость, правильно ?

потом пятый, десятый... качество кода идеально :)
ну 3 еще вполне допустимо, вопрос не в этом. завязываясь на библиотеку и наследуя ее, ты увеличиваешь связанность

Adel
01.08.2018
13:25:31
любая кастомизация такого рода - кошмар.

максимум шаблоны разные и параметры в базе разные.

Nik
01.08.2018
13:25:49
с сервисами, впринципе нет

но нужна грамотная декомпозиция

Adel
01.08.2018
13:26:06
она всегда нужна :))

Google
Nik
01.08.2018
13:26:31
ну простой пример выше

убегаю, если хочешь, продолжим позже

Edgar
01.08.2018
13:26:39
ну ты ломаешь обратную совместимость

ок

Nik
01.08.2018
13:27:03
ну это рано или поздно случится :) иначе качество кода внутри будет ухудшаться и костылится

Edgar
01.08.2018
13:27:07
её можно и в твоем сервисе сломать) ты меняешь какую то фичу связанную с кастомизационным параметром

и все условия нужно перелопатить

которые в коде появились из-за обобщения) Лан, как придешь продолжим) Ну либо еще кто подключится

Evgeniy
01.08.2018
13:31:17


F01134H
01.08.2018
13:34:04
что за срач и без меня

Adel
01.08.2018
13:34:27
php7.1 нужен. а там более ранняя версия

Дмитрий
01.08.2018
14:08:39
Можно как-то удалить джобу из очереди или прекратить ее выполнение?

Adel
01.08.2018
14:09:35
Можно как-то удалить джобу из очереди или прекратить ее выполнение?
Можно конечно поставить флажок... в базе. Что этот ид не надо делать

Дмитрий
01.08.2018
14:09:53
у меня в редисе

Adel
01.08.2018
14:10:26
Не саму джобу. А в сущности. Таска или чего еще

Блин. Пора faq заводить

Edgar
01.08.2018
14:13:38
Блин. Пора faq заводить
как проксю к ларакастс?))

Adel
01.08.2018
14:14:06
И стэковерфлоу

Google
Roma
01.08.2018
15:09:15
И стэковерфлоу
А как там дела с книгой? Или пока что не этого?

Adel
01.08.2018
15:09:25
Roma
01.08.2018
15:10:36
написано полторы главы :)
Звучит довольно неплохо)

Roma
01.08.2018
15:19:34
Что за книга?
Думаю этот вопрос будет более уместно задать @Adelf32

Oleh
01.08.2018
15:19:59
Adel
01.08.2018
15:21:52
у меня есть мечта написать книжку. о том какие проблемы возникают у людей, которые пишут по документации ларки. когда не могут нормально декомпозировать и делить приложение на слои. я вывожу там какие проблемы возникают и как делать неправильно. как я обычно делаю.. и в итоге мы потихоньку из "Все в контроллерах" выйдем на выделение Application layer. потом и Domain layer. а потом найдем и другие проблемы.. перейдет на CQRS а потом и Event Sourcing.

Oleh
01.08.2018
15:22:54
прикольно))) Когда релизишся?

Admin
ERROR: S client not available

Adel
01.08.2018
15:23:06
хз. я пока без работы. не ищу ее и пишу :)

Владислав
01.08.2018
15:23:41
подскажите в чем проблема, сделал канал логирования 'graylog' => [ 'driver' => 'monolog', 'handler' => \Own\Lib\LogHandler::class, 'formatter' => \Own\Lib\LogFormatter::class, ] и вот не отрабатывает мой LogFormatter а грузится стандартный LineFormatter и все валится с 500 ошибкой в какую сторону смотреть?

Dmitry
01.08.2018
16:03:27
Всем привет, вопрос немного оффтоп. Есть Страница , у страницы есть произвольное количество блоков (Page has many Blocks). Блоки могут быть разными (Слайдер, текстовый блок, расписание и тд — разные таблицы в бд). Нужно внедрить поиск по страницам, каким способом это можно реализовать? Есть ли смысл гуглить в сторону elasticsearch и sphinx (проект небольшой, кол-во страниц до 300)? Как бы я реализовал свой велосипед: обозначаем внутри каждого блока поля, по которым можно производить поиск. Затем при поиске берём все страницы со всеми дочерними блоками и ищем. Не надо быть гением, чтобы понять, что это сверх неэффективно, поэтому прошу совета) Заранее благодарен

Maxim
01.08.2018
16:04:19
А куда бы поместить логику, которая должна использоваться в методе compose в каком то из Composer классов?

Adel
01.08.2018
16:05:16
в один индекс можно всю страницу пихать.

Dmitry
01.08.2018
16:05:40
не оверхед в моем случае?

Adel
01.08.2018
16:06:26
не оверхед в моем случае?
ну так то конечнео ты можешь тупо таблицу сделать. в котором будет в full text search поле все содержимое страницы и все. самый дешевый вариант

Maxim
01.08.2018
16:07:16
какую?
Ну у меня есть большой метод который в результате возвращает данные для опроса. Опрос в aside находится, ну я и сделал AsideComposer класс, а там мне нужны эти данные

Google
Dmitry
01.08.2018
16:07:54
и, получается, если искать по текстовому полю, то надо пихать всё в какой-то кешируемый слой в кучу

и как-то искать

Adel
01.08.2018
16:09:03
и, получается, если искать по текстовому полю, то надо пихать всё в какой-то кешируемый слой в кучу
именно так. в кучу собрал и закинул в поле. по котормоу муська умеет быстро искать

с elastic и sphinx будет также

Maxim
01.08.2018
16:11:39
всетаки выбрал правильный путь через композер. молодец :)
Да, главное теперь разобраться куда логику засунуть, чтобы и контроллеры не обделить и правильно было

Adel
01.08.2018
16:12:45
Да, главное теперь разобраться куда логику засунуть, чтобы и контроллеры не обделить и правильно было
ну read логику неинтересно обсуждать. но выдели тупо сервис какойнибудь. like QuizService::getQuiz($id) который выдаст тебе класс с данными по этому опросу

Maxim
01.08.2018
16:13:40
Статические классы?

Точнее методы

Adel
01.08.2018
16:13:54
в композере можно попросить себе экземпляр

в конструкторе

Dmitry
01.08.2018
16:49:41
перетаскивание каким-то плагином на js, который ajax на сервер отправляет, а тот, в свою очередь, сохраняет order блоков

Евгений
01.08.2018
16:51:09
Аа, понял

Maxim
01.08.2018
17:21:09
Можно использовать traits в ларавель? Например если нужно какой то один небольшой метод вызывать в нескольких классах.

Pavel
01.08.2018
17:22:27
Ну попробуй

Епрст

Nikitcat
01.08.2018
17:22:49
Зажмите ctrl и пожмакайте на классы в нэймспейсах

Maxim
01.08.2018
17:27:45
Так это нормальная практика?

Страница 1668 из 2014