Рубрика «неизменяемые структуры»

Автор материала с помощью конкретных примеров опровергает одну из наиболее растиражированных характеристик блокчейна — неизменяемость.

Вопрос неизменяемости блокчейнов, вызывающий в криптовалютном мире немало жарких споров, стал чем-то вроде квазирелигиозной доктрины — основополагающего верования, непоколебимого или неоспоримого. И как и в случае с доктринами доминирующих религий, участники противоборствующих лагерей пользуются неизменяемостью в качестве орудия высмеивания и издевок.

image

В прошлом году мы стали свидетелями двух ярких примеров:

  • Сторонники криптовалют, утверждающие, что неизменяемость может быть достигнута только с помощью механизмов децентрализованной экономики, таких, как доказательство выполненной работы (proof-of-work). С этой позиции закрытые блокчейны подлежат осмеянию, поскольку всецело зависят от правильного поведения небольшой группы валидаторов, которым, очевидно, нельзя доверять.
  • Пренебрежительного отношения к редактируемым (или изменяемым блокчейнам), которые предполагают внесение тех или иных ретроспективных изменений при достижении определенных условий. Критики задавали следующий вопрос: есть ли вообще смысл в использовании блокчейна, если его содержимое может быть отредактировано или изменено?

Читать полностью »

Привет.
В данной статье мы познакомимся с линзами, узнаем для чего они нужны, а также реализуем их на JavaScript.

Зачем нужны линзы

Начнем, пожалуй, с ответа на вопрос, зачем же нужны линзы.

В функциональном программировании широко используются неизменяемые структуры данных. Работа с ними значительно отличается по сравнению с изменяемыми данными.

В основе этого лежит тот факт, что при изменении какой-либо части неизменяемой структуры данных создается ее копия, отличающаяся от оригинала этой самой измененной частью. Полное копирование всей исходной структуры не эффективно, поэтому новая структура как правило использует ссылки на неизмененные части из оригинала.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js