Size: a a a

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

2021 September 23

E

ETL in Clojure — русскоговорящее сообщество
Но ведь в истории человечества находились люди, которые узнали, почему не стоит (или стоит) есть поганки и как правильно готовить мухомор )
В любом случае, концептуально - задумка выглядит интересной.
источник

PP

Pavel Peganov in Clojure — русскоговорящее сообщество
Вопрос, как я его понял, был о том, как cljc в принципе работает, есть ли в нём какая-то магия помимо просто компиляции одного и того же кода в clj и cljs. И на этот вопрос ответ — нет, встроенной никакой нет.
В вопрос "а можно ли сделать" я погрузился уже скорее развлечения ради 🙃
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
использовать можно, но сам канал и сериализацию/десериализацию даннныз надо как-то делать самостоятельно,
так как обект из jvm магическим образом не перенесется в клиентский браузер
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
и погугли насчет transit и reitit - там есть подобные примеры реализаций
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
обмен между клиентом и сервером можно сделать обычным http+json, он же как раз асинхронный на js
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
или по вебсокету
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
вообще, непонятно зачем везде суют core.async. Если речь о фронте, то у re-frame своя событийная модель. Если это бек, то подойдут обычные агенты, футуры, тредпул-экзекьюторы
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
С core.async сложность кода сразу на порядок возрастает.
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
от задачи же зависит. на фронте можно и без рефрейма, на бэке как раз из-за целого зоопарка возможностей иногда проще взять core.async
источник

VP

Vladimir Potapev in Clojure — русскоговорящее сообщество
Я как раз с core.async работаю для фронта (плюс рефрейм). Вообще читал, что core.async якобы позволяет избавиться от спагетти-кода в стиле JS, с кучей коллбэков, которые дёргают по цепочке друг друга. И да, это так. Но, уменьшив сложность тут, увеличиваем её в другом месте, там где идёт работа внутри go-блоков.
В общем такое себе решение, не скажу, что панацея от лапши с коллбэками. Буду пробовать работать дальше, может что-то для себя открою, что переменит моё мнение.
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
В этом плане рефрейм хорош: событие может дергать другое событие, причем не надо прописывать код, а только ключ события и параметры. И дальше оно все само.
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
без возможности дождаться результата, код и в этой моделе усложняется порядочно, только подругому
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
В плане удобства API очень удобен manifold, там клевые макросы d/chain и другие, чтобы описать аснхронную логику линейно
источник

VP

Vladimir Potapev in Clojure — русскоговорящее сообщество
В моём случае я с IndexedDB API работаю. Там коллбэки свои собственные, и если на JS писать код, то там будет цепочка коллбэков. Такое себе на вид. :)
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
а промис нельзя к IndexedDB прикрутить?
источник

VP

Vladimir Potapev in Clojure — русскоговорящее сообщество
Может и можно. Я в js не очень копенгаген, на ходу разбираюсь потихоньку) Пока решил попробовать с core.async, и поглядеть насколько оно в целом будет удобно. Потом погляжу на другие варианты, в т.ч. и на обычные коллбэки, сравню трудоёмкость.
источник

Г

Григорий in Clojure — русскоговорящее сообщество
Не очень Копенгаген. Классное выражение 👍
источник

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
Коли вопросы про потоки, асинк и манифлод... Вот есть поток, из него для клиентов нужно выхватывать данные по подписке. Как лучше реализовать?
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
в манифолде есть встроенный message bus, pubsub, с подпиской на топик
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
и в кор-асинке тоже есть pub и sub, которые делают подписку на канал по предикату
источник