
Dmitry
29.05.2018
06:39:23

Valentin
29.05.2018
07:58:39
@b101010 postfix. Две разные имплементации mta
http://shearer.org/MTA_Comparison

Evgenij
29.05.2018
08:28:12

Google

Mykola
29.05.2018
08:49:11
интересно другое: как это разрешается извне

Dmitry
29.05.2018
10:02:19

Daniel
29.05.2018
10:30:39
Ааа.. Maybe это был не "мб"

Bohdan
29.05.2018
10:34:16

Daniel
29.05.2018
10:34:31
Блин, выглядит прикольно

Bohdan
29.05.2018
10:37:40
нет, тут когда - то обсуждали монады
а go - это я на нем пописывал вчера, перед глазами было

Sergey
29.05.2018
10:38:26
и от них не избавиться

Dmitry
29.05.2018
12:44:01

Sergey
29.05.2018
12:46:56

Google

Andrew
30.05.2018
05:40:50
У меня доменная модель юзера в DDD уже на 2 к строк, это нормально?)

Dmitriy
30.05.2018
05:52:18
нет
закинь на гист, заценим

Sheldhur
30.05.2018
06:16:07

Bohdan
30.05.2018
06:19:18
ты хочешь поговорить о том, почему рич модели - это плохо?)

Артур Евгеньевич
30.05.2018
07:07:18
Есть обычная нормальная модель, а есть уебанская анемичная
А типо рич просто как противопоставление появилось в разговорной речи


Sergey
30.05.2018
07:12:12
У меня доменная модель юзера в DDD уже на 2 к строк, это нормально?)
есть высокая доля вероятности что нет. Как понять что не так и почему она жирная:
- берешь все свойства сущности (кроме айдишки), и смотришь как они юзаются. Тебя тут интересует только запись.
- какие-то поля возможно стоит вынести в VO а какие-то в отдельную сущность (поскольку на запись только в контексте группы полей работаешь а не в контексте всей сущности юзера).
- очень часто большое количество полей (и как следствие логики по работе с этими полями) оказываются в одном классе просто так, потому что и то и другое про юзера. Пример - пароль и весь стэйт связанный с авторизацией. Тебе он нужен только в момент авторизации, далее ты просто его таскаешь как мертвый груз. Причем в момент авторизации тебе нужен только кусок стэйта. Вывод - можно разбить это дело на 2 сущности независимые (у которых может быть связь через айдишку)

Igor
30.05.2018
07:13:12

Sergey
30.05.2018
07:13:13
главная ошибка как по мне - когда стэйт группируется исходя из выборок из базы на чтение. Для того что бы шаблончики отрендрить или json сварганить. Тут интуитивно можно склеить две разные вещи и считать что так и надо. Как по мне это главный источник жирных сущностей
там где низкая связанность, высокое зацепление, разделение на ограниченные контексты и прочая лабуда

Bohdan
30.05.2018
07:14:07

Sergey
30.05.2018
07:14:43
а причем тут ООП?

Igor
30.05.2018
07:14:55

Sergey
30.05.2018
07:15:12

Igor
30.05.2018
07:15:46
а причем тут ООП?
Возможно и нет, но мне так и не объяснили что такое "нормальная модель".
Или почему "низкая связанность, высокое зацепление, разделение" не может быть в анемичных моделях.

Google

Igor
30.05.2018
07:15:53

Sergey
30.05.2018
07:16:32
"модель" ты можешь трактовать как модуль. Там у тебя будут объявлены типы и функции которые работают с этими типами. И все нюансы которые приводят к "моделям" на килостроки кода это в основном криво проведенные границы между модулями
p.s. я никогда не видел больших проектов с доменной логикой на каком-нибудь нормальном языке с ADT и страсть как хотел бы посмотреть....


Andrew
30.05.2018
07:52:02
всем спасибо, вынесу некоторые методы, и параметры в доп сущности и сгрупирую в VO.
@fes0r ваши ответы иногда надо записываю себе в save msgs ;)

Sergey
30.05.2018
07:53:36

Andrew
30.05.2018
07:53:44
поетому иногда)
у мну логика наверн тяжелая в етом все дел, апдейт емейл выходит 2 метода, 1-й записывает ивент изменения стейта vo userEmail, и второй метод применяет ивент к стету модели, что то в духе Flux, я думаю, с фронта
любое изменение стейта, через ивент.
16 полей + 14 связей :3

Sergey
30.05.2018
07:57:19

Andrew
30.05.2018
07:57:25
Угу)
Flux он же на ивентах и про ивенты тоже
и там тоже стейт есть

Sergey
30.05.2018
07:58:01
ну вот у меня есть такой на 600 строк

Andrew
30.05.2018
07:58:03
https://www.fullstackreact.com/p/intro-to-flux-and-redux/

Sergey
30.05.2018
07:58:29

Andrew
30.05.2018
07:59:00
Упрощено?)

Sergey
30.05.2018
07:59:09
а че там сложного?

Google

Sergey
30.05.2018
07:59:14
непривычно - возможно, но не сложно

Andrew
30.05.2018
07:59:38
Для изменения стейта, диспатч ивента, которой тригерет екшен, который тригерет мутатор, который изменяет стейт

Sergey
30.05.2018
07:59:47
там все сложности не технические а организационные. Типа "а че будет если я проипался и у меня

Admin
ERROR: S client not available

Sergey
30.05.2018
07:59:53
этот ивент это на самом деле 2 ивента"

Andrew
30.05.2018
07:59:55
Это не Ларавел в общем ?
Я кстати хз как бы делал такое в ларавел

Sergey
30.05.2018
08:00:36

Andrew
30.05.2018
08:01:16
читаю
@fes0r мне кажеться, тут все то чт оя делаю сейчас с нуля

Sergey
30.05.2018
08:08:42
да ладно, не может быть такого что под довольно популярную практику кто-то что-то уже написал

Andrew
30.05.2018
08:11:07
ну я же разработчик, я должен писать свои костыли что бы понимать как работаю костыли других
Что бы понять других разработчиков нужно думать как они
Нужно быть ими

Sergey
30.05.2018
08:12:24
ничего, года через 3-4 пройдет
и ты просто не захочешь понимать почему они сделали так а не по другому
потому что ответ тебя расстроит

Bohdan
30.05.2018
08:13:09
угу.... сделали так либо потому, что им подходило, либо потому, что не придумали, как лучше =\

Maksim
30.05.2018
08:15:22
если ответ расстроит, то это будет хорошим знаком) а вот если нет, и всё принимать за чистую монету - довольно скверным)

Google

Tony
31.05.2018
09:08:54
Всем доброго дня! Следующий вопрос: есть yii2, есть SqlDataProvider. Имеет ли право Repository работать с такими провайдерами внутри себя или это не clean способ?

Антон
31.05.2018
09:09:29
тут наверное у всех фильтр на сообщения по слову yii

Mykola
31.05.2018
09:09:53
тут не чатик по yii, это точно

Tony
31.05.2018
09:16:45
Хорошо. Но вопрос был не по Yii2) Вопрос был по архитектуре. Конкретизировал для лучшего понимания)

Bohdan
31.05.2018
09:17:59

Артур Евгеньевич
31.05.2018
09:19:14
мне кажется в репозиторию можно любую хуйню инджектить, будь то просто обертка над sql или маппер. Лишь бы наружу торчали номральные методы с человеческими именами

Tony
31.05.2018
09:19:52

Mykola
31.05.2018
09:21:57
array oriented programming

Maksim
31.05.2018
10:03:50
@fes0r привет, ходят слухи по интернетам, что ты пробовал php-pm, расскажи, как оно, стоит ли потратить время, чтобы пощупать? Какие очевидные подводные попадаются? Как в целом?

Sergey
31.05.2018
10:05:29