Size: a a a

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

2020 September 02

ИВ

Илья Волков... in Clojure — русскоговорящее сообщество
Так async io уже есть. Нужно только стопать код научиться в произвольный момент. Loom как раз позволит сделать это дешево
источник

ИВ

Илья Волков... in Clojure — русскоговорящее сообщество
Переслано от alex
это понятно, лум в своем скоупе обычные локи превращает в неблокирующие и "паркует" этот поток. Но разве это спасет ио?
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
конкретно manifold это потоки и чейны на базе netty
источник

ИВ

Илья Волков... in Clojure — русскоговорящее сообщество
Сейчас можно CPSнуть код и использовать async io. И будет вполне себе Go. Только это очень медленно.
источник

ИВ

Илья Волков... in Clojure — русскоговорящее сообщество
Есть более хитрые трансформации. Но они тоже 2-3x замедление
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Замедление в сравнении с чем?
источник

ИВ

Илья Волков... in Clojure — русскоговорящее сообщество
С обычным исполнением без преобразований
источник

k

k0rs4r in Clojure — русскоговорящее сообщество
https://github.com/aleph-io/manifold/blob/master/project.clj#L6

Сам manifold как я вижу не имеет никаких зависимостей от netty. При этом я его часто использовал и без aleph - как по мне это удобная абстракция для ассинхронности + обработки ошибок, когда в случае фейла можно пропустить часть операций и сразу перейти к обработке ошибки.
Примерно для тех целей что используется failjure, по-моему Михаил про неё рассказывал в стриме про библиотеку для стейт менеджмента context.
А вот с core.async такое делать показалось куда менее удобным, возможно не так готовил
источник

a

alex in Clojure — русскоговорящее сообщество
manifold вроде прост адаптер между различной асинхронщиной
источник

k

k0rs4r in Clojure — русскоговорящее сообщество
Ну он может использоваться для связи и с другими видами асинхрощины, это да. Но сам он построен вокруг java.util.concurrent.*
источник

ИФ

Иван Федоров... in Clojure — русскоговорящее сообщество
Есть знакомые из PandaDoc? Комментарий для РБК просят
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Ryzhikov Nikolay
опиши кейс для них?!
У тебя есть один эвент, который что-то пишет в базу и второй эвент, который собирает данные из базы и шлет запрос. И тебе нужно запустить их последовательно. Эвенты друг от друга независимы.
источник

PP

Pavel Peganov in Clojure — русскоговорящее сообщество
> И тебе нужно запустить их последовательно.
> Эвенты друг от друга независимы.
Полагаю, противники этого нововведения считают вот эти две фразы взаимоисключающими.
источник

Г

Григорий in Clojure — русскоговорящее сообщество
Подскажите как с clojars "насильно" взять инфу о VSC? Вот интересующий пакет: https://clojars.org/pandoc

GH не указан, системы нет, из cljdoc не могу "прыгнуть" на сурс
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
если нет в pom.xml то никак
источник

Г

Григорий in Clojure — русскоговорящее сообщество
pom — это из джавки?
источник

KC

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

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
cat ~/.m2/repository/pandoc/pandoc/0.1.6/pandoc-0.1.6.pom
вот так )
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Pavel Peganov
> И тебе нужно запустить их последовательно.
> Эвенты друг от друга независимы.
Полагаю, противники этого нововведения считают вот эти две фразы взаимоисключающими.
Они могли быть независимыми на момент написания, но потом подъехали новые требования и хорошо бы их оставить независимыми но иметь возможность запустить последовательно.
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Pavel Peganov
> И тебе нужно запустить их последовательно.
> Эвенты друг от друга независимы.
Полагаю, противники этого нововведения считают вот эти две фразы взаимоисключающими.
Как раз fx дает тебе возможность в явном виде объявить эту зависимость ровно там где она возникает.
источник