@kotlin_lang

Страница 965 из 982
Иван
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
Я то ли невнимательно читал, то ли слишком давно

Спасибо:)

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 - это хорошее решение

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
чо так всё строго? а что, телеграм теперь - не обитель вольнодумсвтва? :)
Просто в чатике это не любят. Спиратить в основном хотят у JB, а это не кузяво.

Beholder
21.10.2018
11:00:45
Просто в чатике это не любят. Спиратить в основном хотят у JB, а это не кузяво.
не, тут пиратить придёся у другого :) "прагмата", кстати, адски дорогая по сравнению с другими шрифтами

но сделана на отлично и глифов и лигатур там много

Sergey
21.10.2018
11:02:28
Kotlinx.serialization поддерживает CBOR и Protobuf. Если все объекты однотипные, ProtoBuf - это хорошее решение
спасибо, хочется как можно меньше телодвижений для этого делать

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

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

в этом реестрее вообще много интересных скрытых настроек

Mikhail
21.10.2018
11:24:12
он вроде самый медленный из всех, java serialization
Что угодно быстрее, чем дефолтная сериализация

Anton
21.10.2018
12:39:59
TIL :D
LOL :))

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

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

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

а почему не использовать html? чтобы верстальщикам жизнь сломать?
чтобы не писать в десяти местах одно и то же

Алексей
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
kotlinx.html
действительно

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

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

наоборот если ты захардкоришь все то будешь писать в десяти местах, а одним хтмл файлом не придется это делать
Если тебе нужно везде одинаковую шапку - ты скорее сделаешь её в одном месте и будешь переиспользовать везде, чем в каждом html будешь эту шапку каждый раз с нуля писать

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

Google
Di7aK
22.10.2018
06:33:02
я могу соеденить файлы

и вообще так не делается

есть базовая страница с шапкой футером и тд и она уже подгружает контент

Алексей
22.10.2018
06:33:36
я могу соеденить файлы
cat header.html >> current.html?

или как?

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

Admin
ERROR: S client not available

Alexander
22.10.2018
06:35:13
cat header.html >> current.html?
Вот так не надо делать. Задолбётесь потом ошибки выискивать.

Алексей
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, как я предполагаю) умеют гораздо более мощные вещи

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

не писали вы SPA...
И счастлив по этому поводу.

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

Kirill
22.10.2018
07:08:01
всмысле меняю ли я его поля?

нет

я только беру его свойства и заполняю вьюхи

Andrey
22.10.2018
07:09:09
я только беру его свойства и заполняю вьюхи
может у него свойства там где должно быть not null на самом деле null ? это я так предполагаю, могу ошибаться

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

Andrey
22.10.2018
07:10:11
по сути все его свойства nullable
покажите этот класс

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 )

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