Size: a a a

Programming Offtop

2020 March 25

AN

Alexander Nozik in Programming Offtop
Dmitry
Спасибо, посмотрю
У меня есть очень большие сомнения, что это за счет коллекций. Скорее другой механизм кэшировния в самом реакте
источник

I

Igor in Programming Offtop
Dmitry
Для каких прикладных задач требуются персистент коллекции?
Кстати еще вспомнил DiffUtils
Оно в принципе требует, что бы коллекции были immutable

И в теори можно удешивить сравнение, если элементы польностью имутабельно-персистентные
источник

AN

Alexander Nozik in Programming Offtop
Igor
Кстати еще вспомнил DiffUtils
Оно в принципе требует, что бы коллекции были immutable

И в теори можно удешивить сравнение, если элементы польностью имутабельно-персистентные
Тут речь о гарантиях неизменяемости на уровне API, а не о реализации. Это все-таки разные вещи. Для простых гаратний не обязательно городить персистентную коллекцию
источник

I

Igor in Programming Offtop
Если у тебя нет гарантий, то api требуще имутабельности в худшем случае летит в пизду, в лучше будет проигрывать персистентным коллекциям (изучите пожалуста вопрос)
источник

(

( in Programming Offtop
Alexander Nozik
Тут речь о гарантиях неизменяемости на уровне API, а не о реализации. Это все-таки разные вещи. Для простых гаратний не обязательно городить персистентную коллекцию
хых, сча бы в диффутилс пихать мутабельную коллекцию, когда диффутилс не знает на каком треде будет исполняться
источник

AN

Alexander Nozik in Programming Offtop
(
хых, сча бы в диффутилс пихать мутабельную коллекцию, когда диффутилс не знает на каком треде будет исполняться
Кто тебе что-то говорил про мутабельные коллекции?
источник

(

( in Programming Offtop
Alexander Nozik
Кто тебе что-то говорил про мутабельные коллекции?
а какие? ридонли?
источник

AN

Alexander Nozik in Programming Offtop
(
а какие? ридонли?
да
источник

(

( in Programming Offtop
удачи на каждый вызов диффутилс копировать коллекцию целиком
источник

AN

Alexander Nozik in Programming Offtop
А где там копия? И дифы - это все-таки мапы, а не листы
источник

VP

Vladimir Petrakovich in Programming Offtop
(
хых, сча бы в диффутилс пихать мутабельную коллекцию, когда диффутилс не знает на каком треде будет исполняться
А какой API там? Я думал, что-то вроде fun diff(a: List, b: List): List<Patch>.
источник

AN

Alexander Nozik in Programming Offtop
Igor
Если у тебя нет гарантий, то api требуще имутабельности в худшем случае летит в пизду, в лучше будет проигрывать персистентным коллекциям (изучите пожалуста вопрос)
Ну, предположим, вопрос знаю не хуже вас. Я эти структуры пишу периодически.
источник

AM

Andrew Mikhaylov in Programming Offtop
Alexander Nozik
А где там копия? И дифы - это все-таки мапы, а не листы
Так defensive же.
источник

(

( in Programming Offtop
Vladimir Petrakovich
А какой API там? Я думал, что-то вроде fun diff(a: List, b: List): List<Patch>.
оч хуёвый
источник

(

( in Programming Offtop
interface DiffCallback {
 fun hasChanged(id0: Long, id1: Long): Boolean
 fun hasContentChanged(c0: Any, c1: Any): Boolean
 // что-то ещё, я не помню
}
источник

(

( in Programming Offtop
Alexander Nozik
А где там копия? И дифы - это все-таки мапы, а не листы
смысл не в том, чтобы коллекцию нельзя было изменить, а в том, чтобы она не могла измениться
источник

VP

Vladimir Petrakovich in Programming Offtop
(
interface DiffCallback {
 fun hasChanged(id0: Long, id1: Long): Boolean
 fun hasContentChanged(c0: Any, c1: Any): Boolean
 // что-то ещё, я не помню
}
И что, это вот может вызываться ещё и не во время вызова diff?
источник

(

( in Programming Offtop
Vladimir Petrakovich
И что, это вот может вызываться ещё и не во время вызова diff?
это и есть дифф
источник

(

( in Programming Offtop
и лист нужно руками контролить
источник

VP

Vladimir Petrakovich in Programming Offtop
(
это и есть дифф
Ну в смысле, надо же дёрнуть какой-то метод, передав туда исходный список и новый, так?
источник