
Sergey
04.02.2018
10:17:23

Wystan
04.02.2018
10:17:54
Егора прочитал? http://www.yegor256.com/2017/03/28/solid.html
>The point being these principles are nothing but an explanation of "cohesion and coupling" for dummies in a very primitive, ambiguous, and marketable way. Dummies will buy books, seminars, and trainings, but won't really be able to understand the logic behind them.
Егор-сила!

Viacheslav
04.02.2018
10:22:26
кстати да https://github.com/kubernetes/kubernetes/search?l=Go&q=nil&type=&utf8=%E2%9C%93
Дядюшка Боб облез бы если бы это увидел)

Google

Alexander
04.02.2018
10:22:44

Nick
04.02.2018
10:23:54

Igor
04.02.2018
10:27:11

Sergey
04.02.2018
10:36:07

Pavel
04.02.2018
10:36:33

Alexey
04.02.2018
10:39:11

Viacheslav
04.02.2018
10:39:55
англичашки https://www.youtube.com/watch?v=iSmkqocn0oQ
когда nil заколебал и хочется чего-то новенького
{"nil", NewMapStringBool(&nilMap), ""},

Dim
04.02.2018
10:43:12
Народ а есть какой то аналог спринговой удобной @Value аннотации для конфигов в Scala мире, может быть какая-нибудь библиотека?
@Value("${value.from.file}")
private String valueFromFile;

Alexander
04.02.2018
10:47:35
Я тоже общался с Егором, на тему Элегантных объектов. Задал ряд щекотливых вопросов с примерами...
Создалось впечатление что он и сам понимает "несовершенство" "своего подхода", но не сильно переживает по этому поводу, т.к. книги продаются, доклады посещаются, рейтинг известности инкрементится.
Вобщем человек не фанат докопаться до истины. Не сильно она ему нужна.
У меня создалось впечатление что человек сам мало понимает о чем говорит. Стоило какую-то теорию проработать, что ли, прежде чем с ней к людям выходить.
Но забавнее тот факт что это вот всерьёз обсуждается сообществом, и то ли не нашлось ещё умного человека, то ли у Егора есть какие-то харизма, авторитет, что позволяют ему держаться на плаву, так сказать.

Nick
04.02.2018
10:48:23

Google

Иван
04.02.2018
10:49:18
Без Егора будет скучно.

Alexander
04.02.2018
10:49:41

Dim
04.02.2018
10:49:53
Эм, что же все не то советуют)
Мне бы в стиле спринговой аннотации)

Александр
04.02.2018
10:50:11
можно java джедаев подкалывать что у них не правильное ооп

Dim
04.02.2018
10:50:15
так то я и сам могу везде брать руками из конфига.

Nick
04.02.2018
10:50:17
В скале не любят аннотации

Dim
04.02.2018
10:50:39

Nick
04.02.2018
10:50:44
Pureconfig не про взятие руками

Alexey
04.02.2018
10:51:16

Gennady
04.02.2018
10:51:24

Viacheslav
04.02.2018
10:51:36
@Value аннотация приносящая меньше пользы чем гемороя

Dim
04.02.2018
10:51:52
Есть конфиг, там всё, где надо инжектим значение.

Alexey
04.02.2018
10:52:42
Это с чего же?)
это попытка слепить вместе бизнес логику и логику того как у тебя хранятся конфиги. замапь конфиг на кейс класс и инжекти его. как ты соберешь кейскласс это уже забота вызывающего

Nick
04.02.2018
10:52:43
Сайд эффект ж )

Alexey
04.02.2018
10:53:01
ижекти = передай как параметр конструктора

Dim
04.02.2018
10:53:22

Alexey
04.02.2018
10:53:39
читай сообщение выше

Gennady
04.02.2018
10:53:43

Google

Dim
04.02.2018
10:53:51

Viacheslav
04.02.2018
10:54:05

Dim
04.02.2018
10:54:39
Ладно, пойду писать на спринге))))

Viacheslav
04.02.2018
10:54:42
карочи работа с конфигами должна быть ☝
"наверху" так сказать

Gennady
04.02.2018
10:54:55

Alexey
04.02.2018
10:55:07

Dim
04.02.2018
10:55:28

Gennady
04.02.2018
10:56:27
это у тебя сейчас конфиг один и только через него все идет. А завтра их будет 15 и половина будет нужна только чтобы перемапить предыдущие конфиги

Dim
04.02.2018
10:56:30

Nick
04.02.2018
10:57:03

Gennady
04.02.2018
10:57:15
либо мелкая приложунька без будущего, в такой можно любой говнокод держать - в силу размеров он будет безвреден

Dim
04.02.2018
10:57:28

Gennady
04.02.2018
10:58:01
либо ошибаешься, либо троллишь)

Alexey
04.02.2018
10:58:12

Nick
04.02.2018
10:58:12

Dim
04.02.2018
10:59:03

Google

Nick
04.02.2018
11:00:03
Так, где там пример от Алекса

Alexey
04.02.2018
11:00:25
только обмазать сверху эффектами, которые красиво сообщат об ошибках в конфиге

Dim
04.02.2018
11:01:10
Но все равно, много телодвижений.

Nick
04.02.2018
11:01:23
Я уже устал его кидать)

Viacheslav
04.02.2018
11:02:07
object Applica4ka extends App {
val conf = Configura4ka()
Servicok().justDoIt(conf.param1, conf.param2)
}
class Servisok {
def justDoIt(param1: Int, param2: Int) {...}
}
object Configura4ka {
def apply() = {
//load conf file and map to ConfDto
//return confDto
}
}
case class ConfDto(...)

Alexey
04.02.2018
11:02:31

Nick
04.02.2018
11:02:38
Крытой неиминг

Alexey
04.02.2018
11:02:48
я вот однажды увидел в спринге чтото типа @Value("#{asdf.blah:-1}") и боюсь представить как это отлаживать учитывая что у меня есть пачка place holder resolverов
вообщем в этом чатике любят на типах программировать а не на строчках в значениях аннотаций

Dim
04.02.2018
11:05:08
Я тоже люблю на типах. Но мне надо просто конфииииг, а не программировать в данном случае)))

Viacheslav
04.02.2018
11:05:23
ещё отдельная классная тема когда у тебя тесты и conf.properties в исходниках лежит и в тестах, и ты такой мужественный дебажишь пол дня чтобы понять что там откуда вгрузилось
потому что с последнего раза когда ты писал этот код прошло пол года

Alexey
04.02.2018
11:05:50

Daniel
04.02.2018
11:05:51
Но все равно, много телодвижений.
аннотация тебе удобна только в момент написания
потом это что-то магическое, что меняет твой контекст и окружение с падением только в последний момент в рантайме, а не в самом начале (что может помочь продолбать проблемы)
это как свой Predef импортнуть и получить от других кучу багрепортов с вопросом, а у меня не пашет

Nick
04.02.2018
11:06:02

Dim
04.02.2018
11:07:31

Google

Alexey
04.02.2018
11:07:38

Dim
04.02.2018
11:08:38

Daniel
04.02.2018
11:08:40

Nick
04.02.2018
11:08:42

Viacheslav
04.02.2018
11:09:09

Daniel
04.02.2018
11:09:41

Nick
04.02.2018
11:09:51
Проблема value в том, что ты можешь сделать это либой
И вместо того, чтобы инжектить нормально, будет боль

Alexey
04.02.2018
11:10:10
*тут я делаю предположение, что мы не используем null * :)

Daniel
04.02.2018
11:11:02

Viacheslav
04.02.2018
11:11:05
nil !

Daniel
04.02.2018
11:11:36

Alexey
04.02.2018
11:11:50
@dimstream мы справились? )))

Viacheslav
04.02.2018
11:12:42
кстати у нетфликса была либка для конфига

Dim
04.02.2018
11:13:08

Alexey
04.02.2018
11:13:52
обращайся. есть еще grafter, но немного замороченный, но идея там такая же

Viacheslav
04.02.2018
11:15:59
кажется вот эта фигня https://github.com/Netflix/archaius
ггг https://github.com/Netflix/archaius/wiki/Scala