Size: a a a

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

2019 June 14

MG

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

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
красиво!
источник

A

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

IG

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

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
eww RET http://habr.com RET
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
Да наплевать на картинки на сайтах, мне картинки из REPL'а
источник

A

Alexander in Clojure — русскоговорящее сообщество
Mikhail Gusarov
Да наплевать на картинки на сайтах, мне картинки из REPL'а
+
источник

VL

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

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
> This method can be called at most once in a given Java Virtual Machine
❤️
источник

DA

Daniil Arsentiev in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
Привет.
Вопрос про то, как организовать события.
Предположим на фронтенде есть форма с полями и кнопками.
Поля можно редактировать, кнопки нажимать.

Когда снимается фокус с поля, создается событие вроде
{:type :set-attr, :attr :foo/bar, :entity-id 1, :value "some value"}.
Когда нажимается кнопка -
{:type :add-order-item, :good-id 1, :count 2}.

При этом нужна проверка прав до отпраления события.
Но данные есть только такие:
{:type :set-attr, :attr :foo/bar}, {:type :add-order-item}.

Обработчик изменений полей в большинстве случаев будет одинаковым,
но некоторые поля должны обрабатываться по особому.

Плюс значения полей имеют разные типы: строки, числа, даты и т.п.

Все это можно сделать через паттерн матчинг, но как-то это сложно.

Может быть есть какая-то схема ораганизации подобных событий?
Или core.match и вперед?
Плюс, хочется иметь clojure.spec описание всех типов событий с генераторами.
А почему просто мультиметоды не использовать для диспатчинга?
плюс можно сделать реализацию по умолчанию
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Daniil Arsentiev
А почему просто мультиметоды не использовать для диспатчинга?
плюс можно сделать реализацию по умолчанию
Там получается мультиметод в мультиметоде
источник

A

Artem in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
Там получается мультиметод в мультиметоде
а нельзя так диспатчить [:a :b :c] , [:a :b], [:a]?
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Artem
а нельзя так диспатчить [:a :b :c] , [:a :b], [:a]?
А как функция диспетчерезации будет выглядеть?
источник

A

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

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
На то он и мультиметод, что мульти.
источник

A

Artem in Clojure — русскоговорящее сообщество
@niquola ты как то говорил, что пытались юзать onyx, но гемор в управлении кластером.
Вас устравило, что для изменния логики нужен ребилд/редеплой?
источник

A

Alexander in Clojure — русскоговорящее сообщество
но ведь в спарке тоже редеплой
источник

A

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

RN

Ryzhikov Nikolay in Clojure — русскоговорящее сообщество
Artem
@niquola ты как то говорил, что пытались юзать onyx, но гемор в управлении кластером.
Вас устравило, что для изменния логики нужен ребилд/редеплой?
Не мы несколько идей позаимствовали из оникса - а сам в итоге не использовали
источник

RN

Ryzhikov Nikolay in Clojure — русскоговорящее сообщество
а тебе для чего?
источник