Size: a a a

Programming Offtop

2020 October 14

(

( in Programming Offtop
саша сок #KotlinGang
fun shoditbVSetbCached() = scope.launch {
 val result = iduVSetb()
 withContext(dbWriteContext) {
   writeToDb(result)
 }
 // будет вызвано после завершения контекста выше
 withContext(Dispatchers.Main) {
   updateUI(result)
 }
}
ладно, убедил. Что, если я хочу записать result в две базы и обрушить задачу целиком, если запись в одну из них вернулась с ошибкой?
val result = shoditbVSetb()
withContext(writeDbContext) {
 coroutineScope {
   writeToDb(result)
   writeToCache(result)
 }
}
источник

(

( in Programming Offtop
Хоп, я пишу уже два таба. И даже на это можно сказать ок, но главная боль начинается при рефакторинге, когда я начинаю суспенд функции туда-сюда переносить и приходится править эти ссаные табы
источник

с#

саша сок #KotlinGang... in Programming Offtop
(
ладно, убедил. Что, если я хочу записать result в две базы и обрушить задачу целиком, если запись в одну из них вернулась с ошибкой?
val result = shoditbVSetb()
withContext(writeDbContext) {
 coroutineScope {
   writeToDb(result)
   writeToCache(result)
 }
}
наследуй класс, который работает с базой от CoroutineScope и переопределяй контекст
источник

BP

Bogdan Panchenko in Programming Offtop
Andrew Mikhaylov
С этим, кстати, наверняка декораторы свежепоказанные бороться будут.
Ты хотел сказать "завозят спринговую логику"
источник

BP

Bogdan Panchenko in Programming Offtop
Вот эту фигню я бы не хотел видеть
источник

АT

Андрей Tama in Programming Offtop
Bogdan Panchenko
Ты хотел сказать "завозят спринговую логику"
В отличии от спринга - это хотя бы будет возможно дебажить и быстро находить как оно работает.
источник

с#

саша сок #KotlinGang... in Programming Offtop
Bogdan Panchenko
Ты хотел сказать "завозят спринговую логику"
декораторы не для этого нужны. это ж просто обёртка над лямбдой
источник

AM

Andrew Mikhaylov in Programming Offtop
Bogdan Panchenko
Ты хотел сказать "завозят спринговую логику"
То, что это выглядит как аннотации, не значит, что это сразу как спринг.
источник

с#

саша сок #KotlinGang... in Programming Offtop
fun main() = launch {
   // block
}

@launch
fun main() {
   // block
}
источник

AM

Andrew Mikhaylov in Programming Offtop
Спринг вывозится либо за счёт знания, как что работает, либо за счёт подсказок в гаттере в иде, которые по части аннотаций могут помочь с навигацией. Тут, простите уж, обычный контрол-клик работает, плюс умеет оно сильно меньше.
источник

BP

Bogdan Panchenko in Programming Offtop
Андрей Tama
В отличии от спринга - это хотя бы будет возможно дебажить и быстро находить как оно работает.
Пока не вижу лёгкость дебага. А ещё будет это рефакторить весело, а ревьить на Гите ммм
источник

(

( in Programming Offtop
саша сок #KotlinGang
наследуй класс, который работает с базой от CoroutineScope и переопределяй контекст
нихера себе, класс
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
То, что это выглядит как аннотации, не значит, что это сразу как спринг.
Ну собственно да. Ключевая разница в том, что  декораторы обрабатываются в компайл-тайме
источник

BP

Bogdan Panchenko in Programming Offtop
Andrew Mikhaylov
То, что это выглядит как аннотации, не значит, что это сразу как спринг.
Это значит что это аннотация, а логика спринга в аннотациях.
источник

с#

саша сок #KotlinGang... in Programming Offtop
(
нихера себе, класс
а как ты собирался разделять логику ui / db ?
источник

AM

Andrew Mikhaylov in Programming Offtop
Alexander Nozik
Ну собственно да. Ключевая разница в том, что  декораторы обрабатываются в компайл-тайме
Аннотации тоже возможно в компайл-тайме обрабатывать, не только в этом же плюс.
источник

AM

Andrew Mikhaylov in Programming Offtop
Bogdan Panchenko
Это значит что это аннотация, а логика спринга в аннотациях.
Я не буду с тобой спорить, если ты две трети написанного тебе игнорируешь :)
источник

BP

Bogdan Panchenko in Programming Offtop
Andrew Mikhaylov
Спринг вывозится либо за счёт знания, как что работает, либо за счёт подсказок в гаттере в иде, которые по части аннотаций могут помочь с навигацией. Тут, простите уж, обычный контрол-клик работает, плюс умеет оно сильно меньше.
Будет работать ? Я в докладе не слышал на я на слух Анг плохо воспринимаю
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Аннотации тоже возможно в компайл-тайме обрабатывать, не только в этом же плюс.
Это другой компайл-тайм. Но суть вроде не сильно меняется.
источник

с#

саша сок #KotlinGang... in Programming Offtop
Alexander Nozik
Ну собственно да. Ключевая разница в том, что  декораторы обрабатываются в компайл-тайме
блин мне так никто и не ответил. есть хотя бы какие-нибудь предложения, чтобы туда передавалось что-то типо KProperty в делегатах ?
источник