Size: a a a

Clojure — русскоговорящее сообщество

2020 August 18

ИЩ

Игорь Щербаков... in Clojure — русскоговорящее сообщество
Да судя по всему ошибся сори, сейчас получил с (print (-> (:values @(:state user))  keys first type)) #object[String]
источник

ИЩ

Игорь Щербаков... in Clojure — русскоговорящее сообщество
Если убрать type получаю ключ full_name, но как взять от него значение
источник

PP

Pavel Peganov in Clojure — русскоговорящее сообщество
Такое впечатление, что это JSовая строка. (get мапка "full_name") не работает?
источник

ИЩ

Игорь Щербаков... in Clojure — русскоговорящее сообщество
Pavel Peganov
Такое впечатление, что это JSовая строка. (get мапка "full_name") не работает?
Работает) Спасибо огромное)
источник

PP

Pavel Peganov in Clojure — русскоговорящее сообщество
Хелл йеах.
источник

ИЩ

Игорь Щербаков... in Clojure — русскоговорящее сообщество
Потратил > 8 часов сегодня, в доке как то не находится таких кейсов)
источник

PP

Pavel Peganov in Clojure — русскоговорящее сообщество
Я, честно говоря, даже не знаю, где бы их там разместить даже теоретически 🤔
Но то, что cljs печатает строки без кавычек... Хотя может и правильно, это ж не pretty-printing.
источник

PP

Pavel Peganov in Clojure — русскоговорящее сообщество
Но как в cljs обычно делается pretty-printing, я не в курсе. Но такой способ вывода как правило сохраняет "копируемость в код".
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
clj тоже самое печатает
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
для дебага лучше использовать prn
источник

ИЩ

Игорь Щербаков... in Clojure — русскоговорящее сообщество
Точно, через (prn) видно что оба значения строка)
источник

А(

Артур (MIIIG) in Clojure — русскоговорящее сообщество
Alex Bubnov
где ты это достал и что с ним хочешь сделать?
по-моему, с этим даже эрлангисты уже новых проектов не начинают
на нее ругаются) вот и хотят выплиить из проекта
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Используй prn и pr для дебаг вывода вместо  println и print

Это поведение должно быть общее для clj и cljs.


edit: а, уже сказали, ага
источник

KR

Kostyantin Randomnam... in Clojure — русскоговорящее сообщество
там либу кидали сюда https://github.com/weavejester/hashp
источник

a

artalar in Clojure — русскоговорящее сообщество
Привет. У меня вопрос по js 😅
Задам расширенно.

Цель: трекать изменения в иммутабельном стейте не через сравнение ссылок, а как-то иначе, ибо через сравнение неоптимально с коллекциями работать выходит.
Контекст: для реактивных подписок.
Возможные решения: cursor / path. Я с кложей и ее экосистемой совсем не знаком, но так понимаю что cursor / path - это, можно сказать, примитивные линзы, которые описываются названиями пропертей структуры данных.
И вот идея в том что если реализовать возможность подписки на курсор и определить что структуру можно менять только через них, то это даст возможность сильно оптимизировать описание вычисляемых данных из зависимых списков, а так же частично отказаться от нормализации (часто удобнее без нее).

Так вот вопрос, на ЖС имплементаций чего-то подобного не видели?)

P.S. давненько я уже делал что-то такое, но уже забыл что там да как, да и сейчас есть новые знания, которые нужно будет учитывать в новой разработке.
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Хай, фолкс. Вопрос такой - на чём сейчас модно веб уи делать? Нужно отображать кучу табличных данных с рил тайм уведомлениями. Будут вебсокеты.
источник
2020 August 19

TP

Tim Plotnikov in Clojure — русскоговорящее сообщество
artalar
Привет. У меня вопрос по js 😅
Задам расширенно.

Цель: трекать изменения в иммутабельном стейте не через сравнение ссылок, а как-то иначе, ибо через сравнение неоптимально с коллекциями работать выходит.
Контекст: для реактивных подписок.
Возможные решения: cursor / path. Я с кложей и ее экосистемой совсем не знаком, но так понимаю что cursor / path - это, можно сказать, примитивные линзы, которые описываются названиями пропертей структуры данных.
И вот идея в том что если реализовать возможность подписки на курсор и определить что структуру можно менять только через них, то это даст возможность сильно оптимизировать описание вычисляемых данных из зависимых списков, а так же частично отказаться от нормализации (часто удобнее без нее).

Так вот вопрос, на ЖС имплементаций чего-то подобного не видели?)

P.S. давненько я уже делал что-то такое, но уже забыл что там да как, да и сейчас есть новые знания, которые нужно будет учитывать в новой разработке.
Привет!
Совсем не шарю в этой теме, но тоже сильно интересно как такое эффективно сделать. Если придём к какому-нибудь интересному решению, то я сразу попробую у себя в мобилках сделать что-нибудь такое для эффективного глобального стейта)


Не уверен, что это имеет отношение к вопросу, но вот довольно интересный материал по cursor/path.
Ребята описывают классный метод представления сложных данных (JSON) в виде дерева, которое в свою учередь можно представить в виде НЕ key-value, а path-value.
Примерно это вот так выглядит:
;; key-value

{ name: «John»,
 children: [
   { name: «anne», age: 12 },
   { name: «bob», age: 18 },
   { name: «chris», age: 24 }
 ]
}

;; path-value

name : john
children.1.name : anne
children.1.age : 12
children.2.name : bob
children.2.age : 18
children.3.name : chris
children.3.age : 24


По идее, таким способом можно сколь угодно сложную структуру представить в виде плоской мапы или вообще массива и следить уже за каждым значением или как-то так)

https://www.researchgate.net/publication/316848145_J-Logic_Logical_Foundations_for_JSON_Querying
источник

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
Артур (MIIIG)
никто веб интерфейс для коммутаторо или маршрутизаотров не писал?
Я писал, если еще актуально.
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
artalar
Привет. У меня вопрос по js 😅
Задам расширенно.

Цель: трекать изменения в иммутабельном стейте не через сравнение ссылок, а как-то иначе, ибо через сравнение неоптимально с коллекциями работать выходит.
Контекст: для реактивных подписок.
Возможные решения: cursor / path. Я с кложей и ее экосистемой совсем не знаком, но так понимаю что cursor / path - это, можно сказать, примитивные линзы, которые описываются названиями пропертей структуры данных.
И вот идея в том что если реализовать возможность подписки на курсор и определить что структуру можно менять только через них, то это даст возможность сильно оптимизировать описание вычисляемых данных из зависимых списков, а так же частично отказаться от нормализации (часто удобнее без нее).

Так вот вопрос, на ЖС имплементаций чего-то подобного не видели?)

P.S. давненько я уже делал что-то такое, но уже забыл что там да как, да и сейчас есть новые знания, которые нужно будет учитывать в новой разработке.
А vue js эту задачу не решает ли?
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
А, наверное, важное замечание, что в вашей задаче стейт иммутабелен
источник