
Vladislav
21.08.2018
11:18:58
Версия 0.x намекает на то что скорее всего нет

Axrorxo'ja
21.08.2018
11:19:23

Vladislav
21.08.2018
11:19:35
Но мы хотим его в прод тянуть, пока допишем будет стабильным

Quantum Harmonizer
21.08.2018
11:19:58

Google

Vladislav
21.08.2018
11:20:21
Нууу. Может завтра апи поменяют.. Кто знает

Андрей
21.08.2018
11:23:52
Апну свой вопрос ?
val env = applicationEngineEnvironment {
module {
main()
}
// Private API
connector {
host = "127.0.0.1"
port = 9090
}
// Public API
connector {
host = "0.0.0.0"
port = 8080
}
}
embeddedServer(Netty, env).start(true)Внутри applicationEngineEnvironment есть доступ к кофигу вроде, но сам не проверял

Mikhail
21.08.2018
11:24:34

Axrorxo'ja
21.08.2018
11:26:07

Mikhail
21.08.2018
11:26:32
вертикс тоже же на нетти
пофиг, надо туда свой сервер запихать =)

Axrorxo'ja
21.08.2018
11:28:27

Mikhail
21.08.2018
11:29:59
я недавно ковырял их новый асинхронный драйвер, там под капотом нетти, логично предположить что вертикс целиком на нем
да, там нетти, долго гуглить не пришлось

Mikhail
21.08.2018
11:51:56
А чо там, 1.2.61 вышел? где ченжлог глянуть?

Виктор
21.08.2018
11:55:40

Dibro
21.08.2018
12:08:23

Google

Alexander
21.08.2018
12:34:11
Ничего особо интересного. Ждем 1.3

Sergey
21.08.2018
12:36:22
уже немного осталось)

Quantum Harmonizer
21.08.2018
12:36:35
RecentlyNullable — это что?

Alexander
21.08.2018
12:36:44
Барсик, еще капельку?

Quantum Harmonizer
21.08.2018
12:38:43
так есть же 1.3-M1, чего ждать?

Alexander
21.08.2018
12:40:10
Лень репозитории в конфиги добавлять

Mikhail
21.08.2018
12:44:18

Quantum Harmonizer
21.08.2018
12:45:43

Vladislav
21.08.2018
13:23:00
А у нас тут есть авторы Ktor?

Mikhail
21.08.2018
13:24:01
я думаю, быстрее их найти в slack

Alexander
21.08.2018
13:40:01
У них там ~~гнездо~~ канал
И мардаун работает

Vladislav
21.08.2018
14:28:41
в общем насколько я понял, embeddedServer вообще конфиг не читает, надо его руками грузить и значения из конфига поставлять в инициализацию embeddedServer

Andrew
21.08.2018
16:08:37
Вот кстати тут недавно поднимался вопрос о гарантии того, что лямбда ничего не захватывает. В Kotlin/Native такая гарантия требуется для staticCFunction, но это интринсик и он может себе позволить дополнительные проверки :)

Stanislav
21.08.2018
17:54:19
Для работы с датами нужно использовать java класс Date из java.util?

Alexander
21.08.2018
17:55:14
Смотря где. Если нет приязки к фрэймворку, лучше LocalDate из java.time

Stanislav
21.08.2018
17:55:43
Спасибо

Alexander
21.08.2018
17:56:48
Вот есть у меня такая фтука: fun List<Double>.cumulativeSum() и еще две таких же для Int и Long. Получаю platform declaration clash. Как победить?

Dibro
21.08.2018
17:59:33

Bogdan
21.08.2018
17:59:38

Google

Alexander
21.08.2018
18:00:05
Щас попробую

Bogdan
21.08.2018
18:00:42

Alexander
21.08.2018
18:01:03
Заинлайнить не работает, инлайн игнроируется почемуто
Вроде компилится

Bogdan
21.08.2018
18:03:47
?

Alexander
21.08.2018
18:11:35
Ну не очень нужен. Я кстати не до конца понимаю, почему clash вообще происходит. Вроде в аналогичных случаях из stdlib все работает
Вот тут например: https://github.com/JetBrains/kotlin/blob/feb5a3040fcc988c15f23f05b0f389668deefbaa/libraries/stdlib/common/src/generated/_Collections.kt#L1510

Dibro
21.08.2018
18:14:48

Alexander
21.08.2018
18:15:12
Это я понимаю. Не понимаю, почему в stdlib работает

Dibro
21.08.2018
18:15:13

Alexander
21.08.2018
18:15:41
public fun Iterable<Double>.max(): Double? {

Alexander
21.08.2018
18:15:54
ну и так далее

Andrew
21.08.2018
18:16:10
можно скрин, с телефона неудобно
@SinceKotlin("1.1")
public fun Iterable<Double>.max(): Double? {
...
}
@SinceKotlin("1.1")
public fun Iterable<Float>.max(): Float? {
...
}
Тоже интересно стало, как так.

Bogdan
21.08.2018
18:19:03

Alexander
21.08.2018
18:19:33
В одном. То что они разработчики, не значит, что у них магия

Bogdan
21.08.2018
18:20:16

Alexander
21.08.2018
18:20:23
У них там есть аннотация @file:kotlin.jvm.JvmMultifileClass, может в ней дело?

Andrew
21.08.2018
18:20:53

Bogdan
21.08.2018
18:21:01

Google

Bogdan
21.08.2018
18:21:06

Alexander
21.08.2018
18:21:20
то, что в байткод идет без исходников
В том же файле сумма сделана через JvmName

Dibro
21.08.2018
18:22:52
а напомните, генерики у аргументов стираются же?

Bogdan
21.08.2018
18:22:59

Alexander
21.08.2018
18:23:50
да

Andrew
21.08.2018
18:25:31
В одном. То что они разработчики, не значит, что у них магия
Точно несколько раз уже приводили примеры, что в stdlib действительно есть магия, которая обычным смертным недоступна.
Припоминается что-то на тему мухлежа с variance в методах стандартных коллекций, хитрая аннотация, влияющая на выбор перегруженного метода, ну и контракты, которые долгое время вообще были чисто внутренней фишкой.

Admin
ERROR: S client not available

Bogdan
21.08.2018
18:27:04

Alexander
21.08.2018
18:27:27
А что реифицировать, дженерика-то нет

Andrew
21.08.2018
18:28:46
Здесь нечего, конечно, я просто стандартное дополнение к вопросу об erasure оставил.

Bogdan
21.08.2018
18:30:43

Alexander
21.08.2018
18:31:38
Ну JvmName - это неплохой вариант. Библиотека только для котлины и ориентирована на мультиплатформу

Andrew
21.08.2018
18:33:29
И байт-код, как назло, не показывает IDEA.

Bogdan
21.08.2018
18:33:50
или в том месте ?

Andrew
21.08.2018
18:36:14
Я понял, тело этих .max() определено в common-модуле, там JVM-байткода и не будет.

Bogdan
21.08.2018
18:36:14

Google

Andrew
21.08.2018
18:36:32
Эт я уже сегодня не успею.

Bogdan
21.08.2018
18:37:07
это на будущие, самому интересно, но уже ближе к выходным смогу проверить

Dmitry
21.08.2018
18:59:12

Vladimir
21.08.2018
19:03:57
Не знал, что в котлине можно делать методы с одинаковыми именем и типами аргументов после стирания дженериков, но разным возвращаемым типом

Dibro
21.08.2018
19:06:14

Bogdan
21.08.2018
19:07:19

Dmitry
21.08.2018
19:07:52
Если различаются, то надо больше кода посмотреть :)

Vladimir
21.08.2018
19:08:04

Alexander
21.08.2018
19:08:45
Не отличаются. Там итерабли с разными дженериками

Dibro
21.08.2018
19:10:47

Vladimir
21.08.2018
19:11:00

Bogdan
21.08.2018
19:11:13

Vladimir
21.08.2018
19:11:23

Dibro
21.08.2018
19:11:37

Bogdan
21.08.2018
19:11:50
JVm нет
@kotlin.jvm.JvmName("sumOfDouble")
public fun Iterable<Double>.sum(): Double { ну вот тут типы различаются

Dibro
21.08.2018
19:12:14

Vladimir
21.08.2018
19:12:15
какая разница, jvm ведь
Разница в том, что сигнатуры методов в JVM разные, но Java такое запрещает во всех проявлениях

Bogdan
21.08.2018
19:12:27