@kotlin_lang

Страница 592 из 982
Like
18.03.2018
15:58:06
в самом деле, благодарю

Andrew
18.03.2018
18:27:02
та функция, что написал ты, возвращает не DateRange, а лямбду, возвращающую DateRange. fun sqr(a: Int) = { a * a } fun sqr(a: Int): () -> Int { return { a * a } }

Roman
18.03.2018
19:17:22
А можно как-то подписать именно на событие “закрытие канала” у Channel<T> Те при закрытие надо сразу закрыть и сторонний “ресурс”, а не ждать очередной попытки записать.
На любом канале пока нет. Если он сделан через produce то ему можно сделать parent job и там ждать. Есть issue на эту тему https://github.com/Kotlin/kotlinx.coroutines/issues/260

Fag
18.03.2018
19:25:47
bit of a noob question:

Google
Fag
18.03.2018
19:26:07
i recently switched to Mint and I'm installing the kotlin compiler and everything

and i just tried to run the very basic Hello World program and im getting : Error: Could not find or load main class

Does anyone know why?

Quantum Harmonizer
18.03.2018
19:27:05
Because your main class is specified incorrectly.

Fag
18.03.2018
19:27:17
what do you mean?

Rikland
18.03.2018
19:28:39
Добрый день, что значит сие изречение: constructor of inner class can be called only with receiver of containing class

если вам не сложно?

Andrew
18.03.2018
19:29:00
A bit more context would be great: * Exact error message * Do you build your project with kotlinc or IDE * What's your directory setup

Добрый день, что значит сие изречение: constructor of inner class can be called only with receiver of containing class
Если твой класс явно помечен как inner, он должен при создании иметь ссылку на инстанс outer класса

Quantum Harmonizer
18.03.2018
19:30:06
Добрый день, что значит сие изречение: constructor of inner class can be called only with receiver of containing class
Экземпляр внутреннего класса можно создать только с экземпляром внешнего, например, class A { inner class B } ... B() // нет A().B() // да

Fag
18.03.2018
19:31:19
A bit more context would be great: * Exact error message * Do you build your project with kotlinc or IDE * What's your directory setup
Kotlinc, I usually do it in Intellij and this is the first time without it, the message just said "Error: Could not find or load main class"

Andrew
18.03.2018
19:32:12
Google
Andrew
18.03.2018
19:38:49
Yes
When you use IDEA, you setup main class file in Run Configurations. If you use pure Gradle, there is application plugin which has property named mainClassName. When you don't have anything mentioned, you have to setup your JAR manifest itself. Create file src/main/res/META-INF/MANIFEST.MF and put following content there: Manifest-Version: 1.0 Main-Class: com.example.mypackage.MyClassWithMainFun (of course, replacing class qualified name)

Note that if you have your fun main(...) as a top-level function in, say, app.kt with package com.example, then your main class FQN is com.example.AppKt

And as a more general thought — invoking compiler by hand is not the common practice; if you want to be able to build and run your project without IDE, you should get yourself familiar with build tool like Gradle or Maven — they help you keeping project configuration more or less centralized and save you a ton of manual work.

Sergey
18.03.2018
20:40:58
тут есть те кто в прод взял kotlin/js?

Kira
18.03.2018
21:39:10
На обсуждение протобафа не успел, жаль. Судя по последней документации которую читал, все поля теперь optional

А айтишники там по желанию как было так и осталось

sne18
19.03.2018
07:46:36
тут есть те кто в прод взял kotlin/js?
Если kotlin транспилируется в js, а js для prod - Обычное дело, с чем связан вопрос?

Жабра
19.03.2018
07:52:36
Какие плюхи в kotlin/js, в сравнении с js? Если кратко

sne18
19.03.2018
07:54:30
статическая типизация; coroutines, которые дают возможность совмещать декларативное и алгоритмическое описание - очень удобно.

Sergey
19.03.2018
08:09:56
Если kotlin транспилируется в js, а js для prod - Обычное дело, с чем связан вопрос?
ну к примеру отсутствие поддержки jsx, необходимость писать биндинги и все такое

sne18
19.03.2018
08:10:28
jsx - это крутая вещь, да. Но вместо неё корутины

всё время this/self не нужно писать :)

Sergey
19.03.2018
08:10:46
но вообще вопрос был связан - есть ли где-то более-менее нормальное сравнение TS и Kt с за и против?

Тимур
19.03.2018
08:13:09
Если kotlin транспилируется в js, а js для prod - Обычное дело, с чем связан вопрос?
кстати, транслированный js читабельный получается? насколько удобно потом его дебажить если что?

sne18
19.03.2018
08:14:11
дебажить удобно, потому что таблица символов ссылается на kotlin-код, в JS вообще не нужно смотреть

ну он не очень читабельный, а если минифицировать - то вообще не

Sergey
19.03.2018
08:14:43
а у вас React?

Google
Тимур
19.03.2018
08:14:47
ну например если хочется дебажить прямо в браузере

Sergey
19.03.2018
08:16:09
Webstorm умеет с котлин плагином работать или нужно в идее?

Andrew
19.03.2018
08:16:10
ну например если хочется дебажить прямо в браузере
Девтулы хрома, если я правильно помню, успешно кушают сорсмапы и локальный проект.

Mikhail
19.03.2018
13:37:03
свежие графики подъехали https://github.com/wizzardo/json-benchmarks

с kotlinx.serialization и klaxon

Наиль
19.03.2018
13:43:40
А klaxon будет работать в kotlin/native?

Mikhail
19.03.2018
13:45:48
Вопрос не ко мне, я его только бенчмаркал

Кстати, в чем смысл kotlin-native?

Наиль
19.03.2018
13:46:56
Ios, code sharing

Sergey
19.03.2018
13:57:12
Кстати, в чем смысл kotlin-native?
работать на llvm вместо jvm

Alexey
19.03.2018
14:00:15
Mikhail
19.03.2018
14:00:50
Alexey
19.03.2018
14:01:36
Обоснуй
Там щепотка рефлексии, тут щепотка рефлекии Если уж брать jackson то надо брать jackson streaming api

Quantum Harmonizer
19.03.2018
14:01:43
Обоснуй
рефлексия, заведомо долго

Alexey
19.03.2018
14:02:27
И вообще можно пихнуть в сравнение тогда уж и скаловые, если сравниваются jvm based языки

Про circe есть упоминание, но нет в сетах

Есть еще https://github.com/tethys-json/tethys построенная на jackson streaming api

https://github.com/plokhotnyuk/jsoniter-scala

Mikhail
19.03.2018
14:04:20
рефлексия, заведомо долго
ну вот kotlinx.serialization без рефлексии

Google
Ivan
19.03.2018
14:11:49
чёт котлин сливает

Mikhail
19.03.2018
14:12:48
и LoganSquare
у них там в бенчмарках gson быстрее jackson'а, как-то подозрительно

Admin
ERROR: S client not available

Quantum Harmonizer
19.03.2018
14:15:24
у них там в бенчмарках gson быстрее jackson'а, как-то подозрительно
так они вроде более-менее одинкково медленно работают

чёт котлин сливает
это превью, до релиза далеко

Mikhail
19.03.2018
14:16:02
ну не, jackson пошустрее будет

whalemare
19.03.2018
14:16:35
бинарные протоколы

Quantum Harmonizer
19.03.2018
14:16:37
ну не, jackson пошустрее будет
ну не в 100% случаев же

бинарные протоколы
сравнивать с парсерами или что?)

whalemare
19.03.2018
14:17:05
ага)

я кстати ни разу не юзал их. надо попробовать, хоть буду знать как работать

Mikhail
19.03.2018
14:17:36
я тут попробовал protobuf прикрутить

на тесте с реквестами разницы мало, у меня в строку json даже быстрее сериализуется

на тесте с данными юзера, где много дат, protobuf всех делает в три раза

даты сохранятся как лонги, так что это не удивительно

Quantum Harmonizer
19.03.2018
14:20:54
Mikhail
19.03.2018
14:22:22
ну такое, нужно строки эскейпить, даты писать в читаемом формате, фисла с плавающей точкой..

Quantum Harmonizer
19.03.2018
14:24:02
...но не нужно напрягаться тем чтобы этот формат был быстрочитаем. Никакого пула строк, например.

Google
Quantum Harmonizer
19.03.2018
14:25:09
Пул строк? Оо
ну, в нормальном формате он обязан быть)

Ivan
19.03.2018
14:25:36
Пул строк? Оо
проходите мимо, тут создаётся убийца Гугла =)

Mikhail
19.03.2018
14:30:40
...но не нужно напрягаться тем чтобы этот формат был быстрочитаем. Никакого пула строк, например.
как не нужно? филды объектов повторяются, каждый раз новую строку создавать не тру

Quantum Harmonizer
19.03.2018
14:31:12
как не нужно? филды объектов повторяются, каждый раз новую строку создавать не тру
так и не приходится, забрал название поля из того же места и записал.

А вот читать это уже больно.

Alexey
19.03.2018
14:32:13
Люююююди, в jvm есть кешь строк, и она всё закеширует за вас, по статистикам

А вот читать это уже больно.
Ты же понимаешь, что читать json можно не хуже чем бинарный формат?

Точно также без лишних аллокаций

Quantum Harmonizer
19.03.2018
14:33:07
Alexey
19.03.2018
14:33:35
Quantum Harmonizer
19.03.2018
14:33:54
Произвольный
И что ты будешь делать с дублирующимися ключами?

Alexey
19.03.2018
14:34:03
Возьму последний

Страница 592 из 982