Size: a a a

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

2020 January 29

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
ну то есть, сравни kotlin и go
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
в котлине все функции по стеку, из которого ты хочешь вывалиться наружу, должны быть suspend - это stackless continuations
источник

v

vveare138 in Clojure — русскоговорящее сообщество
а, понятно
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
ну я упрощаю и может быть немножко привираю, но суть вроде верно передал
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Не знаю, помогает ли это как-то ответу на вопрос, в Racket есть call/cc, есть delimeted continuations
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Что это значит в контексте stackless continuations, я не знаю)
источник

v

vveare138 in Clojure — русскоговорящее сообщество
Mikhail Borisov
Не знаю, помогает ли это как-то ответу на вопрос, в Racket есть call/cc, есть delimeted continuations
не, тут про функции которые идут до шифта в стеке
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
Mikhail Borisov
Что это значит в контексте stackless continuations, я не знаю)
call/cc обычно как раз stackful, вроде
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
мне вот их thread интереснее - как они вытесняются?
источник

v

vveare138 in Clojure — русскоговорящее сообщество
там кстати в апи есть shift и reset
источник

v

vveare138 in Clojure — русскоговорящее сообщество
можно по идее свои continuation’s навернуть
источник

v

vveare138 in Clojure — русскоговорящее сообщество
Alex Bubnov
в котлине все функции по стеку, из которого ты хочешь вывалиться наружу, должны быть suspend - это stackless continuations
ну кстати, правильно ли я понимаю, что если continuation stackless - это не позволит сделать multishot continuations?
источник

v

vveare138 in Clojure — русскоговорящее сообщество
как раз из-за того, что функции в continuation уже suspended
источник

v

vveare138 in Clojure — русскоговорящее сообщество
и их уже нельзя юзать еще раз
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Вопрос не про кложу. Вот есть (микро)сервис, он шлет в шину сообщения: создали документ, поменяли документ и т.п. Event sourcing, message bus.
И другие сервисы подписываются на эти события.
Вопрос. Все это работает год и нужно добавить новый сервис, но так, чтобы у него были нужные данные. Т.е. что бы он как бы уже год получал эти сообщения. Накатывать лог событий за год? Вручную делать экспорты/импорты?
Видимо я не так гуглил. Подскажите, пожалуйста, ключевые слова.
источник

v

vveare138 in Clojure — русскоговорящее сообщество
первое что приходит в голову - скормить ему лог
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
В кафке можно выставить офсет топика на earliest
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Ой, консюмера
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Ivan Grishaev
В кафке можно выставить офсет топика на earliest
Это можно. Т.е. предлагается хранить логи за год. А если за два?
Что, если за эти 2 года менялся формат данных. Допустим их версионировали. Получается новый сервис должен уметь работать со всеми версиями? Даже с устаревшими.

Или нужно делать какие-то выгрузки состояния? Состояние это свернутые события.
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Как вариант, сервис источник можно научить слать в шину все имеющиеся сущности. Как раз для того, чтобы наполнить новый сервис данными.
источник