
M
19.04.2018
16:45:39
Привет. Вписался в проект. Очень важна скорость на чтение, запись редко происходит. Данные пишутся в бд от стороннего поставщика, в апи(яп РНР) критично отдавать актуальные данные, но также нужно и самому писать в бд через апи с различными валидациями и проверками прав.
Подумал, что есть CQRS, который вроде хорошо подходит под задачу, но завис на нескольких вопросах:
1) команде должен приходить контекст, как его лучше организовать? Предполагаю, что принимаем запрос, затем проверяем права, затем валидируем данные в запросе, затем создаём ДТО-контекст и передаём этот ДТО в команду. Все верно?
2) если на чтение тоже нужны права будут, то проверяем наличие прав и отдаём результат квери. Верно?
3) Есть какие-то практики запила пагинации, подтягивания связей для квери?


Sergey
19.04.2018
16:50:18
все что ты описал никакого отношения к CQRS не имеет.
так что ответ на твой вопрос - как тебе удобно (с учетом выбранного стэка), так и делай)
CQRS nолько о том что запись и чтение через разные интерфейсы (разные штуки). Все. Шины команд там всякие и т.д. это уже вне CQRS и ты сам решаешь надо оно тебе или нет, где проверку прав делать и т.д.

Google

Sergey
19.04.2018
16:51:54
на чтение проверка прав явно будет где-то на уровне каких-нибудь контроллеров

Maksim
19.04.2018
16:52:40

Sergey
19.04.2018
16:53:48
бота пишу.... пока не очень выходит

M
19.04.2018
16:53:49

Sergey
19.04.2018
16:54:26
ну вот CQRS это про эту границу разрезающую слои, все остальное, какие слои у тебя и т.д. - вне рамок вопроса CQRS
конкретно в этом случае это применение CQRS в контексте луковой архитектуры
и да - стрелочки на этой диаграмме как-то странно сделаны.... создается впечатление что доменный слой использует инфраструктуру
а.... это направление потока данных.... ну ладно

Pavel
19.04.2018
17:33:13

Artem
19.04.2018
17:36:04
и тут чат PHP?))

Bohdan
19.04.2018
17:42:02

Artem
19.04.2018
17:42:38
я за всеядство

Mykola
19.04.2018
21:49:34
Пхп удобрение

Google

Sergey
19.04.2018
21:55:10
Пхп удобрение
типа пускай в нем много говна зато продукты растут?)

Andrey
19.04.2018
21:56:31
Говно идёт не столько от языка, сколько от говнокодеров)
Ваш кеп

Mykola
19.04.2018
21:56:51
Ну это я зря да.
Пхп язык говна. В нем порог вхождения низкий. Но я не знаю как к этому относиться.

Adel
19.04.2018
21:57:40
я сегодня минут 15 пытался обьяснять пхпшникам чем мне не нравится этот код:
public function index(User $user) {
return (boolean)$user;
}

Mykola
19.04.2018
21:57:55
То ли это хорошо, то ли это плохо.

Sergey
19.04.2018
21:58:02

Mykola
19.04.2018
21:58:34
Я просто думаю, что нам не стоит быть такими политкоррректными

Andrey
19.04.2018
21:58:49
Уй блин. Я как бы пэхапешник, но даже меня такой ретурн смущает
public function index(User $user) {
return (boolean)$user;
}

Mykola
19.04.2018
21:58:53
Может из-за этого и все проблемы

Sergey
19.04.2018
21:59:03

Mykola
19.04.2018
21:59:32
Похапе не отмазка

Sergey
19.04.2018
21:59:35
но язык как был говном так и остается

Mykola
19.04.2018
21:59:44
Днищем быть стыдно
Надо просто признать чесно: пхп говно. Это объективно

Bohdan
19.04.2018
22:01:06
дык никто не спорит

Maksim
19.04.2018
22:01:07
Если тебе сие самооценку поднимает, то так и есть)

Google

Mykola
19.04.2018
22:01:12
Это можно показать на примерах и доказать математически.

Sergey
19.04.2018
22:01:48

Bohdan
19.04.2018
22:02:06
писать на пхп

Mykola
19.04.2018
22:02:50
И если кто вам говорит, что нельзя быть категоричным, все языки имеют право на жизнь, то плюньте ему в морду. Эти люди- стопоры прогресса.

M
19.04.2018
22:02:53

Maksim
19.04.2018
22:03:15
вот всегда поражала эта убогая логика)
столь же беспощадная, как женская)

M
19.04.2018
22:03:40

Mykola
19.04.2018
22:04:12
Это что за задача такая?
"написать на пхп ..."?

Adel
19.04.2018
22:04:30
пхп не говно. просто он посередине. есть проекты написать блог за 30 минут. и для них хорошо подходятвсякие руби и питоны те же. есть проекты которые надогодами поддерживать и желательно чтобы это было дешево. энтерпрайзы всякие. там обычно выбирают явы и сишарпы. а пхп... оно как бы и для первого. но ООП там такое что как бы позволяет второе. и там постоянно прения между любителями быстро написать и любителями дешево поддерживать(коих конечно сильно меньше). это часто прослеживается в дискуссиях при добавление фич и т.д. (первые не хотят генерики, а вторые мечтают о них)

Maksim
19.04.2018
22:04:31

Sergey
19.04.2018
22:04:52
омг

Sergey
19.04.2018
22:05:34
Разве инструменты не под задачу следует выбирать?
для этого ты должен прекрасно ориентироваться в доступных опциях. Среднестатистический похапэшник или рубист не будет рассматривать питон например. Питонщики и похапэшники могут рассматривать например go, а рубисты будут смотреть в сторону элексира. НУ то есть всеравно фокус внимания будет на штуки близкие по духу

Maksim
19.04.2018
22:05:34
абсолютно тупорылый наброс, лишённый всякого смысла, как по мне)

Sergey
19.04.2018
22:06:06

Sergey
19.04.2018
22:06:13

Adel
19.04.2018
22:06:54
ООп.... ух
можно писать дактайпом, а можно нормально... ладно. я поделился потайными мыслями. видимо зря

Sergey
19.04.2018
22:06:57
слишком узко)
ну идея в том что "инструмент под задачу выбирать надо но все обычно варятся в своем узком кругу доступных решений"

Google

M
19.04.2018
22:07:49
Это что за задача такая?
Подожди. Ты выбрасываешь утверждение, не делая ремарки что это имхо. На просьбу доказать это утверждение ты задаёшь абстрактные вопросы.

Sergey
19.04.2018
22:08:00
вот есть какой-то вася с улицы. он захотел стать программистом. что он делает? гуглит, ищет какие-то уроки и первое что ему попадается это как сделать блог на пхп
он по этим видео урокам делает бложик, узнает о существовании Yii/Laravel, смотрит там урочки, уже может написать какой-нибудь интернет магазин
на это все уже ушло года 2 его жизни. и дальше если ему нужно решить какую-то проблему - он берет пхп, не выбирая инструменты

Mykola
19.04.2018
22:08:06
Пхп язык быстрого входа. Там опач поставил и у тебя сайт готов. На то и ориентация. Такое же глвнище можно было бы в любом другом интерпретируемом запилить, но там другая тусовка. Никто не хочет на питоне прямо говно херячить

Adel
19.04.2018
22:08:14

Maksim
19.04.2018
22:08:28
можно подумать что бы сделать хуйню в джаве нужно больше времени

Sergey
19.04.2018
22:09:06
проходит 5-10 лет, он все так же пишет на пхп. он уже знает что такое ООП, ФП, и в состоянии писать вполне интерпрайзный код и фейсбуки. но менять язык это выбросить кучу опыта, риски и тд
в итоге мы имеем толковых... пхпшников)

Maksim
19.04.2018
22:09:16
и на питоне пишут так, что кровь из глаз течёт

Igor
19.04.2018
22:09:18
Омг, ну и срачики пошли. Все говно, кроме Лиспа

Maksim
19.04.2018
22:09:32
и на го пишут так, что хуй разберёшься без ведра егеря

Mykola
19.04.2018
22:09:36
Кроме лиспа))))))

Sergey
19.04.2018
22:09:44

Sergey
19.04.2018
22:09:52

Mykola
19.04.2018
22:09:59
Го от слова го-вно

Sergey
19.04.2018
22:10:05

Maksim
19.04.2018
22:10:14

Mykola
19.04.2018
22:10:36
Го новый старый язык без ничего нового
Токо поддержка гугла
На этом и выехали

Sergey
19.04.2018
22:11:02

Google

Sergey
19.04.2018
22:11:09
и тащить в себе макросы и прочую херь)

Mykola
19.04.2018
22:11:11
А чем?

Sergey
19.04.2018
22:11:14
ли ж бы не было как у всех

Mykola
19.04.2018
22:11:27
Языки без макросов уже есть

Sergey
19.04.2018
22:11:29

Mykola
19.04.2018
22:11:38
Луа

Sergey
19.04.2018
22:11:38

Mykola
19.04.2018
22:11:43
Зачем го?
Есть же луа уже
Новые языки это просто маркетинг

Sergey
19.04.2018
22:12:36
Зачем го?
рантайм и распределение корутин по тредам из коробки. На этом у меня идеи заканчиваются.... хотя стой... уже ж был эрланг

Mykola
19.04.2018
22:12:52
Это не язык же
Рантайм это не язык
Сам язык говно

Sergey
19.04.2018
22:13:17
Зачем го?
язык прагматичен, довольно низкоуровневый, простой как пробка и сделан для скейлинга по цпу

Maksim
19.04.2018
22:13:17
?

Sergey
19.04.2018
22:14:01
можете сказать конечно "но там нет генериков!!!" или "а как же пакетный манагер?!"

Mykola
19.04.2018
22:14:16

Sergey
19.04.2018
22:15:03
я много читаю кода на Го в опенсорсе(не от свободного времени, а потому что приходится в инфраструктуре копаться) и я ой как рад что он написан не на какой-то скале или кложе