@kotlin_lang

Страница 311 из 982
Igor
08.09.2017
11:58:30
я не считаю, я так и делаю
А пишешь ты на (kotlin/js/ts/flow)?

Руслан
08.09.2017
11:58:43
kotlin,ts

Google
Lev
08.09.2017
12:00:58
Ну так и... если поменяется только одно свойство за которым компонент следит - пересчет всего компонента.

поменяется название элемента в списке - пересчитывай весь список. Не так?

Руслан
08.09.2017
12:03:13
поменяется название элемента в списке - пересчитывай весь список. Не так?
да, так. но перерисуется только элемент списка, а не весь список

Lev
08.09.2017
12:04:08
а что оно не перерисовалось - применяется еще один инструмент, да? Который считает что там должно перерисоваться а что нет?

John
08.09.2017
12:05:31
https://habrahabr.ru/post/256965/

вот можно почитать

Lev
08.09.2017
12:14:30
Я кстати ошибся, я думал VirtualDOM не юзается в vue

Lev
08.09.2017
12:15:27
Ну в первой версии не юзался, я видимо читал про первую версию, Сорян, ну бывает

Так или иначе, пересчет ведется только по реально изменившимся данным. А не весь компонент.

Руслан
08.09.2017
12:19:19
т.е. нигде сравнения проводится не будет, все произойдет автомагически и вообще никаких вотчеров нету?)

Lev
08.09.2017
12:22:23
Ну.. есть конечно. Я правда не знаю как именно реализовано. Я все к тому пересчитывается только часть компонента а не весь компонент. Разве не так?

Google
Руслан
08.09.2017
12:24:22
судя по тому что там все на get/set реализовано, то я понятия не имею как он поймет какой элемент в массиве нужно перерисовать

скорее всего также как реакт побежит сравнивать поэлементно

Lev
08.09.2017
12:25:25
Они пишут про реактивное хранилище. Значит не побежит.

Руслан
08.09.2017
12:25:27
но в реакте компонентам можно(и нужно) привязывать key, и тогда в дереве можно эффективно обновлять данные

Lev
08.09.2017
12:25:38
Там не все на get set - только то что не реализовано в js.

например, push в массиве не требует применения в коде дополнительных вещей.

Руслан
08.09.2017
12:26:07
https://vuejs.org/v2/guide/reactivity.html#How-Changes-Are-Tracked

Lev
08.09.2017
12:27:42
Я думал ты про Vue.set

Руслан
08.09.2017
12:27:52
в общем не вижу где тут лучше архитектура, напоминает первый ангуляр с прикрученным виртуальным домом. что синтаксис, что то как работает. только дерти чекинг чуть лучше сделан

в итоге есть класс систем таких как jpa(angular, vue), где все на магии типо рефлекшена, и системы как jooq(react+redux), где все прозрачно как DOM = F(STATE)

Igor
08.09.2017
12:30:44
но в реакте компонентам можно(и нужно) привязывать key, и тогда в дереве можно эффективно обновлять данные
Я смотрю ты реакт используешь, а у вас там с редаксом или просто компонентики с состоянием?

John
08.09.2017
12:35:56
@HeapyHop jpa и jooq - это определения из мира жавы, для сравнения приведены?

Руслан
08.09.2017
12:37:12
John
08.09.2017
12:38:21
я уже грешным делом подумал что это какие-то странно похожие аббревиатуры, описывющие классы ui фреймворков жаваскриптовых, и пытался их расшифровать, что бы запомнить)))))

Lev
08.09.2017
13:05:47
lateinit и убрать свойство из констурктора.

Вероятно, магия jpa не суется прямо в getId. А ну да... там же по аннотациям находится

Все выглядит очень лаконично в итоге. (я не к тому что jpa круче jooq, окей? =) ) Я просто рад что получилось

и все non-nullable

Руслан
08.09.2017
13:08:31
Вероятно, магия jpa не суется прямо в getId. А ну да... там же по аннотациям находится
зависит от того как аннотации расставишь, может и геттеры использовать

Google
Lev
08.09.2017
13:08:37
Я что.. с jooq можно сделать прям вот полностью иммутабельную non-null сущность?

Аннотация на свойстве. котлин же.

Kira
08.09.2017
13:08:51
Exposed тоже милый..

Igor
08.09.2017
13:09:42
Exposed тоже милый..
Я бы сказал, что он странный

Lev
08.09.2017
13:10:00
понеслась.. я о другом спросил =)

Igor
08.09.2017
13:10:10
Очень непривычно после какого-нибудь тяжелого монстра а-ля hibernate смотреть на этот почти-js-код

Руслан
08.09.2017
13:10:21
Exposed выглядит хорошо, и неплохо работает. Но не выглядит production ready)

Gregory
08.09.2017
13:11:43
подскажите, возможно использование встроенных в котлин строковых шаблонов в качестве шаблонного движка: загрузить шаблон из файла и вызывать с разными исходными данными?

Lev
08.09.2017
13:12:25
@HeapyHop С jooq можно сделать прям вот полностью иммутабельную non-null сущность? Тогда там в конструкторе должен быть проставлен id, который мы не знаем (в общем случае не мы его задаем).

Ну в принципе.. если... генерить id самому... но норм... так что ли?

Руслан
08.09.2017
13:13:46
он за тебя генерит сущности, на java

но там есть аналог ResultSet, который можно мапить на свои классы

и делать все иммутабельно

Kira
08.09.2017
13:15:21
Кстати, а он может с inmemory работать? На готовой базе норм, а тут я запнулся

Lev
08.09.2017
13:16:54
@HeapyHop ну так.. чтобы все было иммутабельно и ноннулл, мне при создании объекта (который я попрошу орм сохранить) надо самому сгенерить id. В не зависимости от самого orm, он то тут как поможет?

Kira
08.09.2017
13:17:26
кто он? jooq? на h2 у меня работал
Он самый, попробую тогда, а то было не ясно как его использовать если в базе даже таблиц нет

Руслан
08.09.2017
13:18:49
Он самый, попробую тогда, а то было не ясно как его использовать если в базе даже таблиц нет
ну так сначала берешь и перед компиляцией поднимаешь h2, накатываешь схему, используешь сгенеренные классы, пишешь код.

Google
Руслан
08.09.2017
13:19:15
в рантайме так же само, поднимаешь соединение, накатываешь схему/данные, запускаешь свой код

https://github.com/rumatoest/jdblender/tree/master/jooq

вот тут используется h2, с файлом, а не памятью, но принцип примерно тот же

Kira
08.09.2017
13:22:28
вот тут используется h2, с файлом, а не памятью, но принцип примерно тот же
Была такая мысль, но в решил что многословно для того проекта

Руслан
08.09.2017
13:23:10
https://github.com/Heapy/Heap/blob/master/heap-dao/src/main/kotlin/Generator.kt ну вот так можно еще написать, только перед вызовом generate, вызвать тот же flyway чтобы он схему накотил

Kira
08.09.2017
13:23:34
Спасибо

Руслан
08.09.2017
13:25:38
Flyway вообще просто вызывается из java: https://github.com/bootique/bootique-flyway/blob/master/bootique-flyway/src/main/java/io/bootique/flyway/FlywayRunner.java#L40

ну или чуть более сложный объект, например sealed class с несколькими состояниями (что скажешь @angmarr ?)

мне чет нравится идея сделать id - sealed class, тогда будет четко видно состояние объекта - есть id, нету id, есть user id

Igor
08.09.2017
13:52:43
Интересный подход (за юнионы +), но разве в таких случая не юзают просто UUID? Кажется немного это опасным иметь объект без ID.

Николай
08.09.2017
13:57:18
Народ вопрос, можно react-native на kotlin? или тут уже не варик ?

Fedor
08.09.2017
13:58:43
https://github.com/andrewoma/reakt

типа так?

Denis
08.09.2017
13:58:56
Вопрос - зачем?

Мало абстракций?

Николай
08.09.2017
13:59:13
типа как бабл заменить на котлин

да мало))

Denis
08.09.2017
13:59:32
Бред какой-то

Николай
08.09.2017
13:59:51
Просто тут мучают реактом, а я нормального хочу ))

Google
Denis
08.09.2017
13:59:58
Люди юзают реакт чтобы уйти от натива. А тут предлагаешь упороться и еще всунуть котлин

Николай
08.09.2017
14:00:00
жить хочу)

Denis
08.09.2017
14:00:14
Просто тут мучают реактом, а я нормального хочу ))
Ну и юзай котлин без реакта. Проблем-то

Николай
08.09.2017
14:00:29
так нужен ещё ios(

Denis
08.09.2017
14:00:44
так нужен ещё ios(
Свифт к твоим услугам

Николай
08.09.2017
14:00:47
kotlin native еще хз когда

так начальство требет реакт, так как это модно

Igor
08.09.2017
14:01:56
https://github.com/andrewoma/reakt
Репа уже год не обновлялась ? Почему JB так сложно сделать норм. биндинги для RN? (даже у F# есть ?)

Николай
08.09.2017
14:01:58
так то у нас и ios и android разрабы есть)

Denis
08.09.2017
14:02:42
так начальство требет реакт, так как это модно
Идеальный аргумент "потому что модно"

Идеальный по своей тупости

Николай
08.09.2017
14:03:50
ну не я его выдал, и никак не переубедить

против начальства не пойдёшь ))

по крайней мере сейчас (опыта маловато)

и все ушли((

Fedor
08.09.2017
14:09:54
Репа уже год не обновлялась ? Почему JB так сложно сделать норм. биндинги для RN? (даже у F# есть ?)
У меня другой вопрос - зачем RN, если у тебя есть котлин? Вижу один кейс - лениво переписывать что-то уже готовое, но это как-то по типу "хочу красную кнопку - сделать за меня"

Хотя я честно с RN года два не сталкивался абсолютно и, возможно он в данный момент позволяет надиктовывать свои мысли в сири, попивая смузи и сам за тебя работу делает.

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