Size: a a a

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

2019 July 25

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
ну или выбор шарда
источник

IG

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

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
потому что гонять хакнутый re-frame на бекенде это далеко от реальности
источник

A

Aleksey @cheatex in Clojure — русскоговорящее сообщество
@IIvana В смысле зачем максимизировать именно интеграционность?
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
Ну есть же грани разумного ) Селениумы и прочее это конечно хорошо, но вьюхи слонны меняться, а юайная модель не так часто
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
Ваня, я не гоняю замкнутый рефрейм на бэкенде - иначе мне был бы не нужен лейн доо
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
а можешь кусочек кода обезличенный показать?
ну конкретно сейчас у нас не особо проект про "создатть юзера" и поэтому каких-либо автоматизаций вокруг подобных кейсов нет, а так типа

(defmethod ig/init-key ::unpark [_ {:keys [topic producer]}]
 (fn [{:keys [body]}]
   (let [msg (-> body
                 (assoc "type" "unpark"))]
     (producer topic (get body "agent") msg)
     {:status 200
      :body {}})))

(defmethod ig/init-key ::store-get [_ {:keys [getters]}]
 (fn [{[_ store key] :ataraxy/result}]
   (if-let [getter (get getters store)]
     {:status 200
      :body (getter key)}
     {:status 404
      :body "Unknown store"})))


вот эти producer и getters это некие стейтфул компоненты
источник

IG

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

AI

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

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Andrew Rudenko
ну конкретно сейчас у нас не особо проект про "создатть юзера" и поэтому каких-либо автоматизаций вокруг подобных кейсов нет, а так типа

(defmethod ig/init-key ::unpark [_ {:keys [topic producer]}]
 (fn [{:keys [body]}]
   (let [msg (-> body
                 (assoc "type" "unpark"))]
     (producer topic (get body "agent") msg)
     {:status 200
      :body {}})))

(defmethod ig/init-key ::store-get [_ {:keys [getters]}]
 (fn [{[_ store key] :ataraxy/result}]
   (if-let [getter (get getters store)]
     {:status 200
      :body (getter key)}
     {:status 404
      :body "Unknown store"})))


вот эти producer и getters это некие стейтфул компоненты
спасибо, а можешь объяснить чем integrant лучше component?
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
но если кому надо стандартизировать вьюхи вплоть до контролов - то это норм имхо
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
спасибо, а можешь объяснить чем integrant лучше component?
ну мы тут уже не раз это обсуждали ) ну оно есть в https://github.com/weavejester/integrant#rationale тоже в целом
источник

ИФ

Иван Федоров in Clojure — русскоговорящее сообщество
JUXT любит интегрант, у них всё на нём, если это что-то значит
источник

IG

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

IG

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

ИФ

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

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Ivan Grishaev
ну, на компонентах делают в Cognitect и у нас в фирме, это тоже что-то значит. На самом деле главное чтобы на какой-то промышленной библиотеке, а не своем велике.
А у вас есть компоненты кроме сервера и бд? Как вы систему вниз пробрасываете?
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
есть кафка, кассандра и всякие воркеры вокруг них
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Воркер - это компонент?
источник

IG

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