@oop_ru

Страница 98 из 785
Sergey
12.02.2017
17:06:35
есть. пиши только так и не иначе: if (...) { } else { }
если доводить до крайности, почему бы просто не запретить фигурные скобки? ну мол... если тебе надо больше одного выражения записать по условию - выносим в приватный метод

Sergey
12.02.2017
17:07:23
мне тоже нравится эта идея)

не помню у кого это подсмотрел

Google
Invirtus
12.02.2017
17:07:45
там оч хороший ответ на твой вопрос
ок, посмотрю. Спасибо. Хотя мне так больше нравится: { if (isAlcoholic()) {return "Напиток алкогольный";} else {return "Напиток безалкогольный";} } аккуратнее как-то

Sergey
12.02.2017
17:08:28
в целом же... хз есть ли в java что-то для удобного pattern matching

Viktor
12.02.2017
17:09:32
Sergey
12.02.2017
17:09:46
да, так тож норм

Scala. (:
return when (isAlcoholic()) { True -> 'Алкоголь' False -> 'Не алкоголь' }

если я правильно помню как оно там в котлинах

Aliaksandr
12.02.2017
17:12:41
В котлинах так.

Только ещё else могут потребовать.

Invirtus
12.02.2017
17:38:59
без фигурных скобок только если
в целом у меня даже больше вопрос про такой стиль : if (you.hasAnswer()) { you.postAnswer(); } else { you.doSomething(); } для меня он очень сложно читаем, в отличие от скажем if (you.hasAnswer()) { you.postAnswer(); } else { you.doSomething(); } в общем то в этом и был вопрос - насколько чаще пишут как в варианте 1 чем как в варианте 2

Sergey
12.02.2017
17:40:28
лучше подумай как избавиться от ифов

например doSomething - что это?

Google
Invirtus
12.02.2017
17:40:55
это учебная задача, я только учусь. но я понял

Sergey
12.02.2017
17:41:10
меньше веток условий - меньше логики - меньше возможностей допустить ошибку

полностью от них ты не избавишься (в java во всяком случае) но в целом код будет проще.

Юра В
12.02.2017
19:19:59
котаны, а кто SWEBOK осиливал? что думаете о предмете?

Agaponiz
12.02.2017
21:10:45
это конфа об аниме?

Sergei
12.02.2017
21:11:43
это конфа об аниме?
Патчим KDE2 под FreeBSD

Agaponiz
12.02.2017
21:12:32
Патчим KDE2 под FreeBSD
посоветуете что-нибудь из новинок?

Sergey
12.02.2017
21:12:52
меня недавно заставили посмотреть школу-тюрьму - норм

da horsie
12.02.2017
21:29:37
не помню у кого это подсмотрел
дядя Боб за это тоже топит

Sergey
12.02.2017
21:30:17
вот чисто теоритический вопрос

положим у нас микросервисная архитектура (что бы больше ограничений)

и есть например микросервис каталога товаров, есть микросервис с заказами, есть микросервис с чатами (что-то типа консультации с продавцами или споры по каким-то проблемам с оными)

во всех трех надо дать возможность искать по имени продукта в каталоге

в заказах и чатах по имени покупателя

вот... есть два варианта: 1. вынести поиск в отдельный микросервис 2. поиск есть у каждого микросервиса, и для денормализации мы пишем что-то типа pub/sub который ивнты о том что например пользователь себе имя поменял прокидывает всюду

у первого варианта есть плюс - можно заюзать какую-нибудь эластику для поиска. Ну и в целом можно много прикольных вещей потом делать.

минус тоже есть - он начинает многова-то знать о вещах которые у нас есть... хотя может это мне как-то кажется.

Google
da horsie
12.02.2017
21:34:33
зачем чату искать заказы?

Sergey
12.02.2017
21:35:07
зачем чату искать заказы?
ну тип бизнес идея в том что ты можешь попробовать оспорить заказ с продавцом посредствам чата (там еще можно voip будет потом)

есть прикольная фича - наорать)

а потому что бы найти нужный тебе "диспут" проще тебе надо имя продукта ввести

da horsie
12.02.2017
21:36:06
ну замечаельно, а зачем чату искать заказы? чат должен получать и передавать текстовые сообщения участникам чата

Sergey
12.02.2017
21:36:17
нет, ты ищешь чаты по названию продукта

da horsie
12.02.2017
21:36:18
ну или картинки на крайняк

Sergey
12.02.2017
21:36:29
чаты ищешь

а не заказы. В модуле заказа ты идешь заказы по названию продукта

ну то есть это разные модули и ищешь ты то за что отвечают модули

da horsie
12.02.2017
21:37:44
значит это должен быть поиск внутри сервиса чатов

Sergey
12.02.2017
21:38:13
окей. Это микросервисы. У каждого - своя база данных

da horsie
12.02.2017
21:38:17
да

Sergey
12.02.2017
21:38:24
ну и потом, я хочу юзать эластику для нормального поиска

например

каждому по эластике?

da horsie
12.02.2017
21:38:45
ну и юзай

да

если надо

Sergey
12.02.2017
21:39:01
ок, понял тебя

Google
da horsie
12.02.2017
21:39:12
правда я не представляю, сколько чатов там должно наплодиться, чтобы эластика была оправдана

Sergey
12.02.2017
21:39:14
а чем объективно плоха идея одного микросервиса который занимается поиском?

da horsie
12.02.2017
21:39:37
тем, что от него начинают все зависеть

сложнее деплоить раздельно

Sergey
12.02.2017
21:40:05
правда я не представляю, сколько чатов там должно наплодиться, чтобы эластика была оправдана
эластика не только по объему данных нужна. А например для учета морфологии и более релевантной выдачи.

da horsie
12.02.2017
21:40:07
сложнее отдать его отдельной команде разрабов

Admin
ERROR: S client not available

Sergey
12.02.2017
21:40:29
тем, что от него начинают все зависеть
они не зависят от поиска. Поиск может зависеть от кучи сервисов

деплойся себе отдельно, проблемы нет пока микросервисы между собой контракты соблюдают

da horsie
12.02.2017
21:41:13
т.е. поисковый сервис будет дергать сервис чата и вытаскивать из него материал для индексации?

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

Sergey
12.02.2017
21:41:47
ну... почти. Он будет подписываться на изменения (аля вэбхуки) и таким образом получать инфу о том что надо что-то у себя добавить/обновить

Sergey
12.02.2017
21:43:10
предвижу сильный рост сетевого трафика
тоже не большая проблема. Трафик будет внутренний.

и скорее всего это будут очереди сообщений

или zeromq

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

da horsie
12.02.2017
21:44:03
очереди это просто способ организации, трафик все равно будет

Sergey
12.02.2017
21:44:27
очереди это просто способ организации, трафик все равно будет
пофигу пока. Меня больше интересует с точки зрения SRP, coupling и coheasion

Google
Sergey
12.02.2017
21:44:40
ну и в целом возможностей для улучшений/изменений

da horsie
12.02.2017
21:45:23
ну тогда надо исходить из того, что у тебя меняется вместе, а что независимо

с точки зрения бизнеса, поиск в чатах у тебя будет зависеть от требований к самим чатам?

Sergey
12.02.2017
21:46:09
чем лично мне нравится идея одного микросервиса ответственного за поиск: - легко масштабировать логику. Кохисив. - Проблемы с денормализацией данных так и так будут. Тебе ж надо как-то получать доступ к имени продукта из сервиса заказов например. А так хоть в одном месте обновлять, меньше операций и трафика. - Можно сделать общий поиск. Ты вбиваешь поисковой запрос а он тебе выдает разные штуки.

da horsie
12.02.2017
21:46:55
ну как часто бизнес просит поменять что-то в чатах, и как часто это влияет на поиск?

Sergey
12.02.2017
21:47:25
изменения логики чатов крайне редко аффектит поиск

da horsie
12.02.2017
21:47:33
тогда норм

пусть живет отдельно

Sergey
12.02.2017
21:47:52
ну а почему говорил что не стоит париться о траффике

так это потому что по сути никаких микросервисов у меня пока нет

и не планируется

но есть желание разделить и изолировать систему

что бы с компонентами могли работать разные люди независимо друг от друга

до отдельных команд и полноценных микросервисов мы не доросли еще, но монолит нормально сделать хочется

Влад
12.02.2017
21:49:15
Просто делаешь микросервис поиска

Sergey
12.02.2017
21:49:31
ну то есть микросервисы это такая штука... которую лучше не делать пока не прижмет. Но никто не мешает делать изоляцию по тем же принципам и получать тот же профит.

Влад
12.02.2017
21:49:33
Остальные микроскрвисы сливают туда данные при изменениях

Страница 98 из 785