
Andrey
28.09.2017
06:44:40
Никто не любит Cake Pattern ))

Dim
28.09.2017
06:45:56

Daniel
28.09.2017
06:46:32
Аргументы конструктора

Dim
28.09.2017
06:46:59

Google

Alexey
28.09.2017
06:47:28

Oleg
28.09.2017
06:47:46

Dim
28.09.2017
06:47:46

Юрий
28.09.2017
06:47:48

Daniel
28.09.2017
06:47:51
В чем гибкости не хватает?

Alexey
28.09.2017
06:48:01

Dim
28.09.2017
06:48:25

Alexey
28.09.2017
06:49:10

Aleksei
28.09.2017
06:50:22

Oleg
28.09.2017
06:51:06

Юрий
28.09.2017
06:51:30

Alexey
28.09.2017
06:51:40
https://scastie.scala-lang.org/nKcqBwnJTcyUP4pMOYeo5g

Dim
28.09.2017
06:55:42

Google

Dim
28.09.2017
06:58:04
ScalDI
Спасибо, похоже то, что нужно.

Daniel
28.09.2017
06:59:50

Dim
28.09.2017
07:00:04
https://github.com/dickwall/activator-akka-scala-parfait

Aleksei
28.09.2017
07:01:19

Alexandr
28.09.2017
07:01:22

Dim
28.09.2017
07:01:49

Daniel
28.09.2017
07:01:51
Почему?
сложность приносит, профита я не нашел относительно тех же аргументов конструктора
часть ошибок переползает в рантайм
связывать вещи по строковым литералам это меня убивает совсем

Dim
28.09.2017
07:02:47

Aleksei
28.09.2017
07:03:05
ну там просто по всякому можно

Dim
28.09.2017
07:03:15
А, ну вот символы вижу, вот это мне не нравиться, вообще этот тип данных.

Daniel
28.09.2017
07:03:21
на главной
val officialGreeting =
inject [String] (identified by "greeting.official")

Dim
28.09.2017
07:03:23
'param

Daniel
28.09.2017
07:05:51
ну вот еще из заметок для себя в будущем:
* Особенность апи для тестирования - надо тащить тестовый код в основное приложение.
* Если делать "классически" (не затаскивая моки в основной код), то отличий по сути от обычных аргументов конструктора нет совсем. При этом использование аргументов может быть лаконичнее.

Dmitry
28.09.2017
07:21:00

Dmitry
28.09.2017
07:21:36
А что в ней особенного?

folex
28.09.2017
08:23:53
Если у меня в build.sbt определения модулей, и я хочу сделать tasks.sbt или Tasks.scala, то как мне в них заимпортить модули, описанные в build.sbt? Хочу их заиспользовать в ScopeFilter

Nikolay
28.09.2017
08:34:18
Не очень понял проблему

folex
28.09.2017
08:42:35
Есть два .sbt файла. В одном описаны сабмодули, в другом я хочу эти сабмодули зареференсить. Но какой импорт написать чтобы идея красным не подсвечивала названия сабмодулей — непонятно.

Alexander
28.09.2017
08:43:20
вряд ли таски должны знать что-то о модулях существующих

Google

folex
28.09.2017
08:43:39
ну всмысле, мне нужно в таске дергать таски 5 из 10 сабмодулей например
Я сделаю ScopeFilter, указываю их там, и дергаю. В одном файле всё работает, а вот как в отдельный файл вынести — не оч понятно.

Oleg
28.09.2017
08:44:28

folex
28.09.2017
08:44:41
понял, значит не разделить никак?

Nikolay
28.09.2017
08:44:51
А есть вариант передать эти модули как параметры в ту таску?

folex
28.09.2017
08:45:25
@rockjam ну для конечного пользователя этой таски — нет, это должен быть просто вызов команды

Oleg
28.09.2017
08:46:07
ты можешь объявить SettingKey где-то в project/ .scala в одном sbt читать его значение, а в другом записывать
типа "список модулей, для которых запускать таску"

folex
28.09.2017
08:47:03
о, это подойдет, думаю :)
Спасибо!

Митко Соловец?
28.09.2017
08:51:31
вот сделают Spring для Scala, тогда наконец адекватный DI появится

Andrew
28.09.2017
08:53:09
https://spring.io/blog/2012/12/10/introducing-spring-scala
чот долго уже делают

Oleg
28.09.2017
08:54:15
Enterprise Scala Beans?
предлагаю переименовать королёв в scala server faces

Nikolay
28.09.2017
08:56:00
Scala EE 2.12

Alexsey
28.09.2017
08:56:32
Scalaadin

Nick
28.09.2017
08:56:41

Oleksandr
28.09.2017
08:57:21

Google

Oleg
28.09.2017
08:57:38

Nick
28.09.2017
08:58:54
И кастомный ScalaBeanPostProcessor

Митко Соловец?
28.09.2017
09:00:19
дошутились скалисты, спринг выбрал теперь Котлин!
хотя Скала ничем не хуже

Oleg
28.09.2017
09:00:28

Denis
28.09.2017
09:00:44
на этом расходимся, господа

Митко Соловец?
28.09.2017
09:00:50
но уж больно сообщество токсичное

Oleg
28.09.2017
09:01:05
а есть пруф линк?

Denis
28.09.2017
09:01:09
это было честью сидеть с вами в этом токсичном болоте

Митко Соловец?
28.09.2017
09:01:35
а есть пруф линк?
https://spring.io/blog/2017/01/04/introducing-kotlin-support-in-spring-framework-5-0
router {
("/blog" and accept(TEXT_HTML)).nest {
GET("/", fooHandler::findAllView)
GET("/{slug}", fooHandler::findOneView)
}
("/api/blog" and accept(APPLICATION_JSON)).nest {
GET("/", barHandler::findAll)
GET("/{id}", barHandler::findOne)
}
}

Alexey
28.09.2017
09:02:11
выглядит даже неплохо

Митко Соловец?
28.09.2017
09:02:56
вот таким должен был быть Spring Scala

Alexey
28.09.2017
09:03:30
чтобы сначало компилять 10 минут, потом ждать пока запустится 10 минут

Митко Соловец?
28.09.2017
09:03:56
я не спешу

Denis
28.09.2017
09:03:57

Митко Соловец?
28.09.2017
09:04:16

Oleg
28.09.2017
09:04:36

Митко Соловец?
28.09.2017
09:04:52

Google

Oleg
28.09.2017
09:05:30
kats прекрасный проект, есть биндинги к корутинам для каждой из встроенных монадок
ну как монадок

Aleksei
28.09.2017
09:06:20
зато к корутинам!

Митко Соловец?
28.09.2017
09:06:33
https://github.com/kategory/kategory
это?

Oleg
28.09.2017
09:07:16
хм, возможно

Митко Соловец?
28.09.2017
09:07:17
не знаю, открыл репозиторий и сразу мощь почувствовал

Oleg
28.09.2017
09:09:03
но да, я теперь знаю, как справляться с отсутствие higher kinded polymorphism
@Suppress("UNCHECKED_CAST")
вот и всё

Igor
28.09.2017
09:09:28

Alexey
28.09.2017
09:11:51
Божественные тесты
@RunWith(KTestJUnitRunner::class)
class StringInstancesTest : UnitSpec() {
init {
"instances can be resolved implicitly" {
semigroup<String>() shouldNotBe null
monoid<String>() shouldNotBe null
}
}
}

Daniel
28.09.2017
09:12:07

Oleksandr
28.09.2017
09:15:25