
Artur
21.10.2018
08:18:59

Иван
21.10.2018
08:19:29
Note: Depending on the implementation, the generateSeed and nextBytes methods may block as entropy is being gathered, for example, if they need to read from /dev/random on various Unix-like operating systems.
Это видимо сильно залочит многопоточку

Alexander
21.10.2018
08:22:48
Там есть несихронизированные генераторы и синхронизироанные, можно выбрать под задачу

Google

Алексей
21.10.2018
08:25:27
Это котлин?
Я просто открываю для себя всё больше кейсов использования when

Artur
21.10.2018
08:25:56

Алексей
21.10.2018
08:26:36
Я то ли невнимательно читал, то ли слишком давно
Спасибо:)

OlegKrikun
21.10.2018
09:59:19

Mikhail
21.10.2018
10:00:22
ну кому как) я влюбился в Iosevka и теперь всегда, когда речь заходит про лигатуры, активно её евангелирую

OlegKrikun
21.10.2018
10:01:37
Тонкая она очень на мой вкус ?

Sergey
21.10.2018
10:19:26
если я хочу сохранить пачку дата классов в кеш, чем это будет быстрее всего делать и доставать? java serializer, kotlinx.serializer(format?), jackson, kryo?

Паша
21.10.2018
10:22:54
Kryo

Sergey
21.10.2018
10:32:42
@Wizzardo ?

Mikhail
21.10.2018
10:37:30

Sergey
21.10.2018
10:37:43
чуть выше вопрос

Google

Sergey
21.10.2018
10:38:01
а то я у тебя в бенчмарке только json видел

Mikhail
21.10.2018
10:38:08
Лучше всего что-нибудь бинарное
Json - для передачи в браузер

Alexander
21.10.2018
10:39:32
Kotlinx.serialization поддерживает CBOR и Protobuf. Если все объекты однотипные, ProtoBuf - это хорошее решение

Beholder
21.10.2018
10:47:36
ещё Pragmata Pro хорош (если купить или спиратить)

Alexander
21.10.2018
10:55:08
За спиратить тут по ушам дают

Жабра
21.10.2018
10:57:01
Всем привет. Я чёт не понял, с каких пор idea и студия перестали ругаться на излишний инлайн? Раньше они допускали только если лямбда передаётся, а сейчас поставил inline в обычной функции и даже ворнинга нет.???
suspend inline fun transmitRequest(
request: JsonObject,
timeout: Int = standardTimeout
): Response {
val serverResponse = transmitToServer(request.toString(), timeout)
return gson.fromJson(serverResponse)
}

Beholder
21.10.2018
10:57:08
чо так всё строго? а что, телеграм теперь - не обитель вольнодумсвтва? :)
я же ссылок не даю

Alexander
21.10.2018
10:58:24

Beholder
21.10.2018
11:00:45
но сделана на отлично и глифов и лигатур там много

Sergey
21.10.2018
11:02:28

Alexander
21.10.2018
11:03:22
Вообще, есть обычный java serialization, его никто не отменял. Но для котлины конечно логичнее kotlinx.serialization.

Sergey
21.10.2018
11:04:24
он вроде самый медленный из всех, java serialization

Alexander
21.10.2018
11:05:16
Не проверял, но для плоских дата классов особой разницы быть не должно.
java serialization в отлиичие от kotlinx использует рефлексию, но где-то на довольно низком уровне.

Beholder
21.10.2018
11:09:49
автор Pragmata когда-то челленж кидал - если соберёт за пару месяцев определённую сумму с продаж, то сделает шрифт свободным. но не выгорело...
а Iosevka (бесплатную) довольно на неё похожа, особенно если взять medium или semibold модификацию

Google

Beholder
21.10.2018
11:11:58
знаете, что в IDEA можно гамма-коррекцию шрифтов регулировать? для тёмной темы мне больше нравится 200-250, для светлой 100

Иван
21.10.2018
11:15:46

Beholder
21.10.2018
11:18:39
нажимаете Ctrl+Shift+Alt+/ , выбираете "Registry". Далее в таблице ищете "lcd.contrast.value"
в этом реестрее вообще много интересных скрытых настроек

Mikhail
21.10.2018
11:24:12

Kirill
21.10.2018
11:48:22

Anton
21.10.2018
12:39:59

Алексей
22.10.2018
06:28:17
А что можно использовать в котлине для создания html разметки? А то я видел что-то вроде
div {
div(style=...) { ... }
}
но не знаю, где это было и насколько это в итоге эффективно с точки зрения производительности

Di7aK
22.10.2018
06:28:45
строители

Aleksandr
22.10.2018
06:29:08

Алексей
22.10.2018
06:29:12
какие?:)

Алексей
22.10.2018
06:29:42
(я знаю, что такое шаблонизаторы)

Di7aK
22.10.2018
06:31:07
разве это так работает?

Sergey
22.10.2018
06:31:28
kotlinx.html

Алексей
22.10.2018
06:31:38

Di7aK
22.10.2018
06:31:40
наоборот если ты захардкоришь все то будешь писать в десяти местах, а одним хтмл файлом не придется это делать

Алексей
22.10.2018
06:31:41
спасибо:)

Di7aK
22.10.2018
06:32:51
да нет

Google

Di7aK
22.10.2018
06:33:02
я могу соеденить файлы
и вообще так не делается
есть базовая страница с шапкой футером и тд и она уже подгружает контент

Алексей
22.10.2018
06:33:36
или как?

Alexander
22.10.2018
06:33:47
Если нужна статическая разметка, которая известна во время компиляции, то kotlinx.html даст сто очков вперед любому шаблонизатору и всему прочему. Единственный случай, где это не работает, это если шаблоны надо откуда-то подтягивать в рантайме.

Admin
ERROR: S client not available

Алексей
22.10.2018
06:33:49

Alexander
22.10.2018
06:35:13

Алексей
22.10.2018
06:35:25
я просто не понял, как они там файлы соединяют:)

Alexander
22.10.2018
06:35:52
Шаблонизаторы?

Alexandr
22.10.2018
06:36:22
это любой шаблонизатор на бэке умеет

Алексей
22.10.2018
06:36:40
но шаблонизаторы же не просто файлы соединяют

Alexander
22.10.2018
06:37:01
Нет

Alexandr
22.10.2018
06:37:07
фронтовые фреймворки тоже умеют, все просто и изящно

Alexander
22.10.2018
06:37:39
То есть есть наверное и такие, но все мощные шаблонизаторы сейчас по сути являются компиляторами, и умеют делать более слонжые вещи
На котлине, как я уже сказал, kotlinx.html - это очень мощный инструмент. С поправкой на то, что его надо в компайл-тайме собирать.

Google

Алексей
22.10.2018
06:38:44
я ж о том и говорю, что один файл с другим соединить - это cat, а шаблонизаторы (даже тот же kotlinx.html, как я предполагаю) умеют гораздо более мощные вещи

Alexandr
22.10.2018
06:39:10

Alexander
22.10.2018
06:39:51
kotlinx-html - это не шаблонизатор, это DSL для написания DOM напрямую, там нет (x)html, только структуры самой котлины

Алексей
22.10.2018
06:40:33
спасибо

Alexandr
22.10.2018
06:46:21
И счастлив по этому поводу.
ну вам на сколько знаю и не надо. вот если нужно написать что то крупное, да еще работающее за пределами интранет - сразу забудите про серверный рендеринг

Alexander
22.10.2018
06:53:05
Ну у меня всего несолкьо проектов под web было и небольших, но там в основном клиентский рендеринг. Для этого как раз kotlinx.html хорошо годится, поскольку он на всех платформах одинаковый. То, что ренедрится на бэке - на FreeMarker. Я сейчас не помню почему, но там без этого нельзя было обойтись.


Kirill
22.10.2018
07:05:41
Подскажите, что за трабл:
e: java.lang.IllegalStateException: Backend Internal error: Exception during code generation
Cause: Back-end (JVM) Internal error: wrong code generated
org.jetbrains.kotlin.codegen.CompilationException Back-end (JVM) Internal error: Couldn't transform method node:
fillData (Lcom/yamagoo/android/yamagoo/domain/dao/user/ProfPeriod;IZ)V:
@Lorg/jetbrains/annotations/NotNull;() // invisible, parameter 0
вылетает при компиляции
и дальшк какая-то куча подобного кода:
L0
ALOAD 1
LDC "data"
INVOKESTATIC kotlin/jvm/internal/Intrinsics.checkParameterIsNotNull (Ljava/lang/Object;Ljava/lang/String;)V
L1
LINENUMBER 32 L1
ALOAD 0
ALOAD 1
ILOAD 2
ILOAD 3
INVOKESPECIAL com/yamagoo/android/yamagoo/ui/adapters/rv/period/BasePeriodAdapter$VH.fillData (Ljava/lang/Object;IZ)V
L2
LINENUMBER 33 L2
ALOAD 0
ALOAD 1
INVOKEVIRTUAL com/yamagoo/android/yamagoo/domain/dao/user/ProfPeriod.getStart ()Ljava/util/Date;
DUP
IFNULL L3
ALOAD 0
SWAP
INVOKEVIRTUAL com/yamagoo/android/yamagoo/ui/adapters/rv/period/JobPeriodAdapter$VH.toMonthYear (Ljava/util/Date;)Lcom/yamagoo/android/yamagoo/domain/dao/user/MonthYear;
GOTO L4
L3


Andrey
22.10.2018
07:07:18

Kirill
22.10.2018
07:08:01
всмысле меняю ли я его поля?
нет
я только беру его свойства и заполняю вьюхи

Andrey
22.10.2018
07:09:09

Kirill
22.10.2018
07:09:44
по сути все его свойства nullable

Andrey
22.10.2018
07:10:11

Kirill
22.10.2018
07:10:29
data class ProfPeriod(
val start: Date? = null,
val end: Date? = null,
val company: String? = null,
val job: String? = null
)