@kotlin_lang

Страница 652 из 982
Андрей
27.04.2018
10:08:37
потому что поидее должно

хотя толку тогда немного, конечно

Жабра
27.04.2018
10:09:16
а с noinline вместо crossinline работает?
А noinline в данном случае будет бессмысленным (мне так студия сказала)

Андрей
27.04.2018
10:09:42
просто тут поидее нельзя инлайн в контексте корутин использовать

Google
Андрей
27.04.2018
10:09:50
но студия права - смысла нет

просто для себя проверить будет работать или нет

Жабра
27.04.2018
10:10:11
kotl.in/issue
А норм если же я по-русски напишу?) ?

Андрей
27.04.2018
10:10:22
Жабра
27.04.2018
10:10:32
Quantum Harmonizer
27.04.2018
10:10:39
А норм если же я по-русски напишу?) ?
напиши сюда, переведём)

Жабра
27.04.2018
10:11:20
напиши сюда, переведём)
Да те моменты которые я не знаю как перевести - яндекс переводчик поможет.) Просто по-русски как-то привычнее.

Andrew
27.04.2018
10:11:29
да ладно вам, в репе kotlin/native парнишка упорно пишет ишью и пулл-реквесты на русском, и ничего, никто замечания не сделал до сих пор :) главное — польза для проекта.

Quantum Harmonizer
27.04.2018
10:12:33
Не, ясное дело, что баг не отклонят за русский. А вот если кто из иностранцев столкнётся с тем же, ему будет сложно найти этот баг в трекере.

Andrew
27.04.2018
10:13:08
дык я не спорю, что инглиш — это идеальный вариант, и если есть возможность — надо пользоваться именно им.

Egor
27.04.2018
11:40:15
Help request



Мало того, что баян, так я не помню, что с этим делать

Google
Egor
27.04.2018
11:41:07
Или ничего нельзя сделать? Придется ставить !!?

Александр
27.04.2018
11:42:05
Там что-то с var было связано, вроде

Pavlo
27.04.2018
11:42:25
val result = cachedFaculties if (result != null)...

Egor
27.04.2018
11:43:07
ага, ловко

Лёша
27.04.2018
11:43:15
а если не null?

Лёша
27.04.2018
11:43:39
точнее null

Egor
27.04.2018
11:43:51
точнее null
а это потом

Лёша
27.04.2018
11:45:00
ещё можно return cachedFaculties ?: {то чт о потом}

Pavlo
27.04.2018
11:45:26
а зачем вообще массив делать nullable?

Egor
27.04.2018
11:45:49
Ленивая инициализация

Это же кеш, он может вообще и не понадобиться

Pavlo
27.04.2018
11:45:59
lateinit?

Egor
27.04.2018
11:46:14
Идея помечает как Redundant

Да и Nullable в моем случае больше подходит

Vladimir
27.04.2018
11:47:06
А если нужно использовать какие-то jvm либы, какое решение тогда?
Надо выбирать между native и JVM либами. Native работает там, где JVM может и не пахнуть.

Pavel
27.04.2018
11:47:51
Ну т.е. не получится так "о ща я напишу мост для этой либы и смогу ее в нейтиве заюзать"?

Melodeiro
27.04.2018
11:48:31
Вы не правильно понимаете что такое suspend функция. Это просто функция, которую можно приостановить.
Вроде допер с очередного прочтения что такое suspend:) Вот только код больше не выполняется из корутины параллельно, как вчера.

Google
Pavel
27.04.2018
11:48:40
Я понимаю. Если тебе нужны java либы, зачем тебе нейтив, это понятно. Я хочу разобраться в границах применимости KN.

Melodeiro
27.04.2018
11:49:06


Boris
27.04.2018
11:49:38
Когда будет больше, то наверное будет проще делать решения которые можно собрать подо все котлины

Pavel
27.04.2018
11:51:28
Можно об этом поподробнее. Что значит "кроссплатформенная либа"? Это либа написанная на java но адаптированная под KN, или это вообще что-то более низкое но с подключенными заголовками, или еще что-то?

Можно ли из обычной java либы сделать кроссплатформенную?

Alexander
27.04.2018
11:59:57
Можно ли из обычной java либы сделать кроссплатформенную?
Скорее нет, чем да. Кроссплатформенная либа - либа, написанная с помощью чистого котлина, других мультиплатформенных либ или с использованием expect/actual функций, классов и тд. Стартовое чтиво - https://kotlinlang.org/docs/reference/multiplatform.html Пример либы - kotlinx-html

Pavel
27.04.2018
12:02:43
Я правильно понял, что если либа написана полностью на котлине и использует котлин-либы, то она кроссплатформенная?

Vladimir
27.04.2018
12:03:01
Можно об этом поподробнее. Что значит "кроссплатформенная либа"? Это либа написанная на java но адаптированная под KN, или это вообще что-то более низкое но с подключенными заголовками, или еще что-то?
Это когда у тебя в билдскрипте написано apply plugin: 'kotlin-platform-common', а не apply plugin: 'java'. Т.е. весь код на Java и на kotlin-jvm отлетает. Из обычной либы можно сделать кроссплатформенную переписыванием на котлине без использования всего, что связано с JVM.

Alexander
27.04.2018
12:04:27
Я правильно понял, что если либа написана полностью на котлине и использует котлин-либы, то она кроссплатформенная?
Если использует кроссплатформенные котлин либы. Сейчас большинство либо написаны для kotlin jvm.

Если же так, то да, с помощью небольших усилий, описанных по ссылке, либа будет кроссплатформенной.

Andrew
27.04.2018
12:29:37
Я правильно понял, что если либа написана полностью на котлине и использует котлин-либы, то она кроссплатформенная?
Не обязательно полностью на Kotlin, ещё либа может иметь модуль на kotlin-common с декларациями, помеченными expect, и пачку платформенных модулей (kotlin-jvm, kotlin-android, kotlin-js, konan), которые дореализуют платформозависимые части. Тогда ты из своего проекта подтягиваешь и common-модули, и модули нужной тебе платформы.

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

(Я, собственно, сомневаюсь, что даже уже давно релизные jvm/js в ходу, ибо сообщество фанатов ноды на котлин не смотрит — Андрей Бреслав говорил даже, что для языка это не особо целевая аудитория).

Nobody
27.04.2018
13:27:39
а если я возьму либу на скале и заюзаю её в котлине, это заработает без проблем? если я захочу расширить\переопределить что-то из библиотеки и т.д.

Vadim
27.04.2018
13:31:22
Как в котлине заставить сгенериться класс MainActivityBinding?

Alexander
27.04.2018
13:31:23
а если я возьму либу на скале и заюзаю её в котлине, это заработает без проблем? если я захочу расширить\переопределить что-то из библиотеки и т.д.
Опыта не было, но предполагаю, что это не должно сильно отличаться от опыта использования скала либ на джаве. Иногда можно, реже это выглядит хорошо. Shapeless наверное напрямую не заюзаешь.

Quantum Harmonizer
27.04.2018
13:31:50
Как в котлине заставить сгенериться класс MainActivityBinding?
удивительно оторванный от контекста вопрос

Vadim
27.04.2018
13:32:18
Google
Костя
27.04.2018
13:32:38
Как в котлине заставить сгенериться класс MainActivityBinding?
как я понимаю в xml описать data теги и в них инфу, использовать DataBindingUtils и перебилдить проект, должен появиться

а я писал, старался (

не успел

Vadim
27.04.2018
13:33:48
как я понимаю в xml описать data теги и в них инфу, использовать DataBindingUtils и перебилдить проект, должен появиться
да спасибо, дело в том что я это всё сделал, и надо было явно указать тип для переменной что то типо val binding: ActivityMainBinding = DataBindingUtil.setContentView(this, R.layout.activity_main) а ActivityMainBinding это ничто иное как имя самого layout + Binding

а я писал, старался (
но странный импорт генерится import com.mandarine.vm.databinding.databinding.MainActivityBinding и пишет мол unresolved reference

Admin
ERROR: S client not available

Ivan
28.04.2018
13:12:31
Всем привет! Тут есть спринговики?

Egor
28.04.2018
13:13:10
Да

Ivan
28.04.2018
13:13:50
Я новый в мире бэкенда. Пытаюсь понять spring reactive web.



Как сделать грамотный update? чтобы обновлять тока поля, которые пришли в джсоне?

Подскажите плз куда глянуть?) Такой большой спринг. А я еще сразу на котлин и на реактив)

Egor
28.04.2018
13:16:25
Еще раз, в request сидит джсон, в котором несколько пар ключ-значение и эти изменения нужно внести в репозиторий?

Ivan
28.04.2018
13:16:59
Да! Ну id там есть обязательно, а другие поля нет

если их нет, то и обновлять не надо

Viach
28.04.2018
13:21:52
повесь Post на /users/{id}, в аргументах метода принимай объект UserUpdate(name: String?, password: String?)

идишник из пути получить сможешь, более resfull

Ivan
28.04.2018
13:27:41
https://stackoverflow.com/questions/24420572/update-or-saveorupdate-in-crudrespository-is-there-any-options-available Вот из этого ответа увидел, что это уже всё написано

Viach
28.04.2018
13:28:09
ну и насколько тебе нужен асинхронный веб, если у тебя бд

Google
Ivan
28.04.2018
13:28:36
А в котлине есть возможеность как в тайпскрипте - Partial<User> например?

Евгений
28.04.2018
13:28:42
Есть ли в котлине возможность создать массив рефлекшеном по классу и длинне? что-то не гуглится..

Ivan
28.04.2018
13:30:38
ну и насколько тебе нужен асинхронный веб, если у тебя бд
Ну там асинхронная монга, просто смотрю какие есть возможности) как я понисаю конечно там еще долго будет неудобно, hibernate тащит

Хочется прототипировать апишки просто описав сущности, ищу generic way

Viach
28.04.2018
13:31:19
используй spring data - можешь жить без орм

Bogdan
28.04.2018
13:33:08
или ты про что ?

Viach
28.04.2018
13:33:57
Хочется прототипировать апишки просто описав сущности, ищу generic way
если для прототипа то спринг дата + круд норм, но для чего-то посложнее веб свой писать лучше. выставлять любые круд как апи - соломки везде не подложишь

Valentin
28.04.2018
13:34:06
используй spring data - можешь жить без орм
а оно flux/mono возвращать умеет уже?

Ivan
28.04.2018
13:35:42
а оно flux/mono возвращать умеет уже?
Ну вот там ReactiveCrudRepository. Но работает тока с монгой и кассандрой

Valentin
28.04.2018
13:36:00
мб ещё с редисом?

Viach
28.04.2018
13:36:46
Ну вот там ReactiveCrudRepository. Но работает тока с монгой и кассандрой
так зависит от драйвера - поддерживает если он асинхронные операции или нет

Valentin
28.04.2018
13:36:53
manyToMany в nosql?

Ivan
28.04.2018
13:37:02
мб ещё с редисом?
Редис ведь тока ключ значение и ин мемори? Просто не совсем понял ка юзать редис для data persistance

manyToMany в nosql?
Да, мне конечно пострес ближе, пока просто разбираюсь что можно)

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