
F01134H
29.08.2018
11:10:36
Речь вообще про НЕЙМИНГ

Sergey
29.08.2018
11:10:55
половина геттеры половина сеттеры) каша какая-то)
если про нэйминг)

Google

F01134H
29.08.2018
11:11:23
Если приватные\публичные методы как то влияют на состояние приложения, то название эксепшена - нет
это абсолютная вкусовщина
я спросил, как лучше
че начали то
Конкретно на твой плевать
Но тут есть умные люди

Sergey
29.08.2018
11:14:57
и каши нет

F01134H
29.08.2018
11:15:35
Окей. А что делать с абстрактными эксепшенами? Как я выше пример привел - ServiceException

Sergey
29.08.2018
11:15:48

F01134H
29.08.2018
11:16:06
Это исключение видоизмененное под мои бизнес требования

Sergey
29.08.2018
11:16:15
либо объясни что означает ServiceException
в каких ситуациях я хочу обрабатывать эту ошибку и что она значит

Google

Sergey
29.08.2018
11:16:34
этот класс ошибок*
и кто от него наследуется например
кто кидает

F01134H
29.08.2018
11:17:26
Большая часть исключений в приложении наследуется от него, т.к. в языке по умолчанию не предусмотрена возможность какой-то дополнительный payload пихать в эксепшены, чисто код + строка
а payload потом по логам раскидывается

Артур Евгеньевич
29.08.2018
12:08:55
я вообще практически отказался от наследования исключений
юзаю в старом коде естественно, но в новом просто беру и описываю ситуацию, и уже руками если что преобразую в более широкий тип на более высоком уровне
пример, у юзера нет прав на удаление, вот так будет выглядеть всплытие
MysqlUserDoesntHavePermission->UserDoeыntHaveDbPermisson->AccessDenied->ResourceUpdateFailed

Dmitry
29.08.2018
13:57:01
как в репозитории правильно назвать метод, который по полям одного DAO устанавливает часть полей DO?

F01134H
29.08.2018
13:58:32

Dmitry
29.08.2018
13:59:47

F01134H
29.08.2018
14:00:15
ну я имею ввиду на место звезды какое-нибудь описание полей впихнуть
а так да, тип того выходит

Dmitry
29.08.2018
14:00:34
оок, благодарю

F01134H
29.08.2018
14:00:40
mapConcreteFields

Dmitry
29.08.2018
14:17:33
а создание объекта тоже через репозиторий происходит?
т.е. вот прилетел DTO из какого-нибудь канала.
потом вызывается в репозитории create*(DTO)? в котором объект мапится в DAO и уходит в сторадж? или это нужно напрямую в сторадж делать? И уже сторадж как-то оповещает репозиторий, что что-то изменилось
и может ли репозиторий рассылать эвенты? ну всем подписчикам, что какой-то из списков объектов изменился

Sergey
29.08.2018
14:33:20
Или на недельку отправлю медитировать без возможности сюда писать. За тебя никто не хочет решение принимать


Dmitry
29.08.2018
14:59:07
м… я думал, что на это есть устоявшиееся архитектурное решение
как цепочка от репозитория до DS — интуитивно понятно что и откуда
а почему решение-то за меня принимать, когда я про ограничения спрашиваю?
у Фаулера вообще по другому описано — DTO общается с DO через ассемблер. Ассемблер и порождает DTO, и обновляет DO. Он же по приходу DTO создаёт новый DO и скармливает его репозиторию
вот этот подход не является стандартным?
или про какое решение «за меня» ты говорил

Aleh
29.08.2018
21:08:19
Интересный случай

Google

Aleh
29.08.2018
21:08:19
Жуткие страсти творятся в JS-опенсорсе. Джеймс Кайл, один из создателей 6to5 (ныне Babel), Yarn и Lerna, поменял лицензию последнего из упомянутых проектов, запретив тем самым ее использование таким активным в опенсорсе компаниям, как Майкрософт.
https://github.com/lerna/lerna/pull/1616
Бурления говн уже задели, например, TypeScript.
А кто-то очень находчивый видимо вспомнил мем “Парень сфоткал меня пока я сплю. Люблю его” и форкнул любимую пока она MIT.

Sergey
29.08.2018
21:13:57
Ебнутые прост
так и вижу что чел который активно контрибьютит от какого-нибудь микрософта уезжает на уикенд куда нибудь в техас отстреливать мигрантов

Aleh
29.08.2018
21:22:15
Да сама идея о том, что мой код могут использовать только те, чьи политические убеждения совпадают с моими. Определенно точка зрения имеет право существовать, но стоит ли к ней прибегать
Особенно в такой тулзе

Дмитрий
29.08.2018
21:48:02
Если бы Кайла не существовало, то его следовало бы выдумать)

Aleh
29.08.2018
21:49:53
хорошо, что он код не пишет

Дмитрий
29.08.2018
21:50:21
Нескончаемый источник позитива, с нетерпением жду новых перфомансов ещё с "Dear javascript", тот самый случай, когда чем хуже — тем лучше

Sergey
29.08.2018
21:51:47
капиталистические свиньи не должны туда савать свои ручки

Дмитрий
30.08.2018
00:03:08
потому что опенсурс для коммунистов
Ну это как и обычный коммунизм, анархичная утопия) Без финансовой поддержки малореально сделать реально крупные проекты, плюс среди решений тоже должна быть конкуренция, иначе все быстро стагнируют

Andrey
30.08.2018
04:14:29

Sergey
30.08.2018
08:55:17
у них есть штуки которые они не могут запилить потому что и так сойдет если что)

Andrey
30.08.2018
08:55:48

Aleh
30.08.2018
08:55:58
мб микрософт просто кикнет их с гитхаба?

Sergey
30.08.2018
08:57:38
Какие?
больше про fail tolerant парсеры. Но их спасает то что они потребляют свой же продукт и потому им выгодно делать его лучше. Ну и всякие vscode есть

Aleh
30.08.2018
08:57:53

Andrey
30.08.2018
09:00:59

Google

ivan
30.08.2018
09:08:39
Вопрос. Все говорят DTO это плохая штука. Насколько я понимаю проблема в том, что мы не контролируем данные. Они порождаются в одном месте - а во втором просто вытягиваются из этого объекта. Я правильно понимаю проблему?

Артур Евгеньевич
30.08.2018
09:10:13
Что значит DTO плохая штука? Я не слышал такого
Я юзаю DTO как типизированную структуру тупо ну и + сериализация десериализация опционально

Admin
ERROR: S client not available

Артур Евгеньевич
30.08.2018
09:11:11
Для общения между слоями и контекстами или микросервисами соотвтественно

Sergey
30.08.2018
09:11:30

F01134H
30.08.2018
09:11:39

Артур Евгеньевич
30.08.2018
09:11:58

Sergey
30.08.2018
09:11:58

Igor
30.08.2018
09:12:32

F01134H
30.08.2018
09:12:40

Sergey
30.08.2018
09:12:54

Артур Евгеньевич
30.08.2018
09:13:20
вообще валидация необязательна на мой взгялд там
ибо какая разница вот ты сформирешь дтоху и пошлешь отдашь ее в соседний контекст
он все равно ее парсить будет и валидировать значения полученные
ну т.е здорово если мы будем часть мусора обрубать еще на своей стороне

Sergey
30.08.2018
09:14:03
ну тип того, тот кто родил dto отвечает за консистентность данных, dto тупо структурка которая их в себе вмещает для того что бы передавать между компонентами, что бы связанность уменьшить

Артур Евгеньевич
30.08.2018
09:14:07
но не смертельно если не будем

Sergey
30.08.2018
09:14:28

Артур Евгеньевич
30.08.2018
09:14:37

Google

F01134H
30.08.2018
09:16:49

Артур Евгеньевич
30.08.2018
09:17:32

F01134H
30.08.2018
09:18:12
DbC не говорит об этом

Sergey
30.08.2018
09:18:19

Артур Евгеньевич
30.08.2018
09:18:20
а между двумя разными, я всегда ориентируюсь на правило что во входных данных может лежать любое гавно, кроме данных в нужном мне формате)

F01134H
30.08.2018
09:18:22
он говорит о ПО в целом

Sergey
30.08.2018
09:18:47
ну мол... тут как раз таки идея в том что если компоненту А нужны данные из компонента Б (опустим зачем) - то ассампшен А что Б всегда выполняет контракт

ivan
30.08.2018
09:18:47

F01134H
30.08.2018
09:18:51

Sergey
30.08.2018
09:19:22
альтернативы у DTO особо нет

Артур Евгеньевич
30.08.2018
09:19:33
да и вообще я заметил что между сервисами при распределенной системе опасно увлекать передачей дтошек, так как может получиться супер год инфо обджект который летает между всеми клиентами и серверами

F01134H
30.08.2018
09:19:43
я не особо понимаю, в чем тут анти паттерн)