Size: a a a

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

2021 September 09

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Постараюсь зайти в тот проект и посмотреть. Навскидку: хранится структура данных с задачами в виде edn в кассандре. Время от времени ее достают из базы, приделывают мету и вызывают zip/next
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
получают очередную задачу, выполняют ее и пишут текущий зиппер в кассандру обратно
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Можно попробовать сделать свой delay, и ленивые вычисления. Один фиг придется заворачивать значения в контейнер с поддержкой IObj.
(with-meta (delay 1) {:a :b}) только проблема в том, что delay не поддерживает IObj, и придется делать свой delay 🙁
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
А задачи как-то композируются в этой edn?
Т.е. как от одной задачи результат подать на вход другой?
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
там есть разные типы задач. Есть последовательные, есть параллельные.
источник

V0

Vlad 0xd728c4a7cd55d... in Clojure — русскоговорящее сообщество
не, я не хочу трогать рантайм вообще (как и с прокси), у меня все правда от тестов пошло по таким стадиям

- обычно тестим конкретное значение
- потом абстрагируемся что let x (rand) и потом чекаем что в ответе есть значение которое derived от x
- test.check генератором делаем не просто х а целый хеш (типа ring request map) и х у него где-то в глубине

не нравится, что generator уже opaque fn, им самим не по-манипулировать, только его результатом
т.е. на стадии проверки надо из сгереренной мапы доставать х
и чекать что в определенном месте ответа есть derived от х значение

ну и еще я смотрю на все эти type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>
и понимаю что я хочу гомоиконности и полиморфизма между инстансами и типами (defn-type [t k] (dissoc t k))
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Видимо надо созваниваться. Я не могу сходу понять что ты хочешь, т.к. работал и подустал.
Посмотри доклады по линейным типам, https://www.tweag.io/blog/tags/linear-types/
Это когда компилятор гарантирует, что значение использовалось 1 и только один раз, если функция вызывалась 1 раз, или что-то такое. Это что-то вроде владения в rust.
А ты я так понимаю хочешь прослеживать цепочку преобразования объекта.
источник

SP

Stas P in Clojure — русскоговорящее сообщество
Объясните плиз прикол когда передают вэлью вида {:keys [a b]} as _sys
источник

SP

Stas P in Clojure — русскоговорящее сообщество
При этом функцию вызывают как some-fun some-param
источник

SP

Stas P in Clojure — русскоговорящее сообщество
Кейс это какое то кодовое слово?
источник

v

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

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
шорткат для деструктуризации по ключам хэшмапы
источник

A

Artem in Clojure — русскоговорящее сообщество
Парни у монги уже 5-ая версия.
А чёт все кложуровские либы работают на старом драйвере и я так понимаю да же 4-ую нет смысла юзать?
Вы до сих пор юзаете 3.6?
источник

А

Андрей in Clojure — русскоговорящее сообщество
Подскажите, кто сталкивался с реализацией multi tenant на datomic? И как правильно разделить данные разных юрлиц в БД в saas приложении?
источник

IG

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

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
например, по коду поставщика подбирается база, из которой его читать или писать. Далее база подставляется в функции pull, query, transact и пр
источник

ИФ

Иван Федоров... in Clojure — русскоговорящее сообщество
ну там даже мопед не мой, я думал что Николаю рекламу дам
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
Хм, скорее всего, каждый entity должен иметь ключ, идентификатор тенанта
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
Либо просто разные инстансы датомика
источник

А

Андрей in Clojure — русскоговорящее сообщество
Если так, то данные разных клиентов буду фактически в одной базе, мне кажется эта модель не безопасной как с точки зрения отказоустойчивости, так и доступа к данным. В постгресс у нас сейчас в одной базе лежать одинаковые копии структуры БД для каждого клиента, и если где-то баг, то лочится только база того клиента где возникла ошибка.
источник