
Friedrich
31.01.2017
15:16:39
Он не праздный. У нас периодически всплывают темы, когда OData бы могла пригодиться. Но я смотрю на доступный инструментарий (как клиентский, так и серверный), плюю в итоге и делаю ad-hoc решение.
Один раз даже прикрутил какую-то серверную штуку, но она оказалась в настройке страшная как вся моя жизнь. Запутавшись в фабриках фабрик и контроллерах репозиториев, выпилил всё к хренам.

Vasily
31.01.2017
15:17:32
У Odata самая большая проблема - это то, что Microsoft туда зачем-то впилила edm
Ну т.е. odata сервер легко натянуть поверх EF

Google

Vasily
31.01.2017
15:19:17
Но поверх чего-то другого - надо очень сильно постараться

Sergey
31.01.2017
15:53:51
Привет братья скаланы !
Есть вопрос по Акка.
Использую Cluster Metric Extension
http://doc.akka.io/docs/akka/2.4/java/cluster-metrics.html
подписал на него актор, метрики приходят всё пучком, НО
по процессору не приходит нагрузка а только вот
Metric(processors,4,None)
Как сделать чтоб и загрузка CPU тоже приходила ?
"Metric(processors,4,None)"
name = "processors"
value = "4"
average = "None"
как сделать чтоб этот average приходил

Andrey
31.01.2017
16:52:15

Vasily
31.01.2017
17:00:55
Нухз.Винда с длиной пути не справляется в этой папке, хотя, может, версия не самая актуальная

Alexandr
31.01.2017
18:22:53
скаланы, возможно я пропустил обсуждения этого топика, но хотелось бы узнать кто что юзает для генерации доков для api, например для akka http. Просто юзал swagger - и это адский ад в виде анотаций над стройным и красивым роутингом (

Serge
31.01.2017
18:46:47
Тоже юзаю сваггер и страдаю. Советуют raml.org, но это не то(

Dmitriy
31.01.2017
18:51:07
Сваггер, еще пробовали apiary. В итоге остановились на первом.

Sergey
31.01.2017
19:34:08
часто вижу вакансии Java/Scala разрабов
вопрос к скалистам, часто ли вы используете оба языка в работе?
и зачем нужна джава, если можно на скале все делать?

Oleksandr
31.01.2017
19:34:35
много вакансий с миграцией из джавы
так-то на чистой скале все шикарно пишется, само собой

Google

Sergey
31.01.2017
19:35:22
а там где spring стек имеющийся, там скала каким боком?

Grigory
31.01.2017
19:36:16
джава нужна тогда когда библиотеки джавы используются; или джава коллекции нужны ¯\_(ツ)_/¯

Oleksandr
31.01.2017
19:36:45

Sergey
31.01.2017
19:37:43

Oleksandr
31.01.2017
19:37:59
"нормальный", ха-ха :)

Grigory
31.01.2017
19:38:23
триггернули ребят

Oleksandr
31.01.2017
19:38:28
ну кому-то разруливать DI в рантайме мб и нормально

Sergey
31.01.2017
19:38:54

Oleksandr
31.01.2017
19:40:11
я лично предпочитаю все в конструкторе фигачить

Sergey
31.01.2017
19:41:44
например?

Oleksandr
31.01.2017
19:41:57
new Foo(bar, baz, boo)

Sergey
31.01.2017
19:42:10
а bar,baz,boo откуда берешь?

Oleksandr
31.01.2017
19:42:39
где-то есть энтрипоинт
у плея, к слову, guice
вообще свой DI пишет каждый третий скалист, сразу после своего велосипеда для джсона

Sergey
31.01.2017
19:43:47
т.е обычный инжект через конструктор и весь контейнер собираешь через guice?

Oleksandr
31.01.2017
19:45:37
нет, зачем смешивать
я к тому, что DI — мелочь, не особо заслуживающая внимания
это даже не выбор молотка, а выбор цвета рукоятки оного

Nikolay
31.01.2017
19:59:07
Судя по спрингу - DI это основа, а не мелочь

Google

Denis
31.01.2017
20:18:34
Ну ооп про иерархии так что да там DI - основа
В скале я не вижу смысла во фреймворках для DI

Nick
31.01.2017
20:28:11
@notxcain как эт не видешь?

Denis
31.01.2017
20:28:39
Никак )

Nick
31.01.2017
20:29:24
ну и зря

Hell
31.01.2017
20:52:32
https://github.com/mohiva/play-silhouette/blob/master/silhouette/test/com/mohiva/play/silhouette/impl/providers/SocialProviderRegistrySpec.scala
это какой шаблон проектирования?

Sergey
31.01.2017
20:53:35
BDD спецификация?

Hell
31.01.2017
20:53:58
https://github.com/mohiva/play-silhouette/blob/0b32a4816f56dadf43c53a356a0601a96fe76c36/silhouette/app/com/mohiva/play/silhouette/impl/providers/SocialProvider.scala#L124
это и коню ясно, BDD спецификация чего? SocialProviderRegistry - это что?

Sergey
31.01.2017
20:54:45
хм, а че он как case сделан?

Grigory
31.01.2017
20:54:45
так и называется провайдер модел паттерн вроде

Sergey
31.01.2017
20:54:55
ему нужен equals/hash?

Hell
31.01.2017
20:55:21

Grigory
31.01.2017
20:55:42
provider model pattern
или просто provider pattern java гуглани
service provider pattern
там много вариаций похожих вещей которые имеют почти одно и тоже название

Hell
31.01.2017
20:57:43
The service locator pattern & service provider pattern - это разные вещи?

Denis
31.01.2017
21:02:16

Google

Hell
31.01.2017
21:02:57
Ну и код
а здесь поподробнее... В чем проблемы?

Denis
31.01.2017
21:03:42
Реализация метода get странная, почему не collectFirst?
Просто если я вижу asinstanceof в скале обычно это значит что кто то недостаточно думал над дизайном

Grigory
31.01.2017
21:04:59
не люблю я этот паттерн; но он имеет место быть в легаси коде;
иногда он удобен т.к. позволяет легко пользовательские надстройки реализовывать

Sergey
31.01.2017
21:06:02
def authenticate[B]()(implicit request: ExtractableRequest[B]) что тут значит имплисит?

Grigory
31.01.2017
21:06:48
а чо такого в этом имплисите?)
значит что он тут нужен хз

Admin
ERROR: S client not available

Sergey
31.01.2017
21:07:30
уже нашел в доке)

Mikhail
31.01.2017
21:13:58
Только реализация там немного подкачала конечно общая
В репу экземпляры могут положиться в разное время из разных подключенных жарников
Там просто физически не может быть онли компайл тайм
Либо придется кучу говнокода и бойлерплейта писать

Denis
31.01.2017
21:15:05
seq.collectFirst { case x: T => x }

Mikhail
31.01.2017
21:15:13
я не про коллект

Denis
31.01.2017
21:15:22
Вот тебе и опшн[т]

Mikhail
31.01.2017
21:15:35
вобще про общую идею
кастование у тебя тоже по сути происходит, просто по скаловски)

Google

Denis
31.01.2017
21:16:03
Ну да

Mikhail
31.01.2017
21:16:07
поэтому и говорю, что общая реализация не по феншую)

Denis
31.01.2017
21:16:38
Так я и говорю что странно горродить заново то что делается одним методом

Mikhail
31.01.2017
21:17:02
Видно прочитал тебя не правильно)
Когда уходишь от всяких hocon в scala code, репу как раз делаешь по похожим паттернам. Правда приходится еще немного поизголяться, чтобы знать что откуда взялось и не давать случайно что не нужно зарегать и похекать.
Правда есть одно, что я пока никак не специфицировал - "рантайм оверрайд конкретного вложенного значения". Наверное придется макросы с линзами подключить чтобы не выглядело монструозно при использовании, но пока лень и некогда в эту степь лезть(

Andrey
01.02.2017
03:36:51
Хотя почему-то джависты не стесняются instanceof, и даже jetbrains в релиз ноутс показывают код с instanceof

Aleksei
01.02.2017
04:30:34

Oleg
01.02.2017
04:45:53

Denis
01.02.2017
05:24:45
;)
Не лень было )

Dmitry
01.02.2017
06:24:35

Aleksei
01.02.2017
06:25:12

Dmitry
01.02.2017
06:25:22
ну разве что isAssignable

Andrey
01.02.2017
06:35:12

Vasily
01.02.2017
06:36:34
Всегда есть выбор между чсв и требованиями бизнеса

Andrey
01.02.2017
06:36:51
ну при чем тут чсв?

Vasily
01.02.2017
06:37:10
Хммм...зашло

Andrey
01.02.2017
06:37:22
нет
нужно искать компромиссы между достаточно хорошим дизайном и достаточно быстрой разработкой