This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-06-26
Channels
- # aws (1)
- # beginners (50)
- # boot (32)
- # chestnut (2)
- # cider (14)
- # clara (23)
- # cljs-dev (131)
- # cljsrn (44)
- # clojure (133)
- # clojure-belgium (3)
- # clojure-denmark (4)
- # clojure-dev (6)
- # clojure-italy (4)
- # clojure-nl (2)
- # clojure-russia (95)
- # clojure-spec (59)
- # clojure-uk (14)
- # clojurescript (157)
- # cursive (26)
- # data-science (1)
- # datomic (160)
- # devops (5)
- # dirac (80)
- # emacs (2)
- # graphql (2)
- # jobs (2)
- # lein-figwheel (1)
- # lumo (9)
- # off-topic (151)
- # onyx (2)
- # parinfer (2)
- # pedestal (5)
- # perun (2)
- # re-frame (60)
- # reagent (3)
- # remote-jobs (1)
- # test-check (3)
- # uncomplicate (11)
- # yada (1)
нужно попробовать юай стейт на рулах написать, пока без https://github.com/CoNarrative/precept
и вообще как-то со стейт машинами скрестить (http://blog.cognitect.com/blog/2017/5/22/restate-your-ui-using-state-machines-to-simplify-user-interface-development)
@misha пока не удалось полезного сделать. хотя я с ней экспериментировал. мне нравится в ней 2 вещи: понятный аналитикам DSL и то что, она embeddable, т.е. не надо устанавливать
пока что на аналитиков пофиг, свои бы ласты перестали от ифочек склеиваться. Еще интересно посмотреть, насколько оно шустрое, для тех же мобилочек (в контексте "навалить правил на здоровую вьюху" хотя бы).
спроси у Тимоти Балдриджа
недавно переписывался с ним на эту тему
он усиленно читал про rule engine и Рете алгоритмы
хотел сделать что-то свое и типа крутое
может у него в доступных репах на гите что-то уже появилось
@mike1452 думаю, что навалить - непроблема, проблема начать в терминах правил и стейт машин думать. Вообще покурю еще немного и обязательно спрошу. Интересно, как оно вяжется со спекой и тем же датомиком/датаскриптом
я тоже начитался про Рете и рулы, хочется что-то сделать, но хз как это оформить)
потому что, например, датомик - типа замена ивентсорсингу, судя по презентации Рича: "ваши аналитики просили вас из лога генерить отчеты, потому что ваши бд - говно"
получается, что городить ивентсорсинг рядом с датомиком - глупо, лучше разобраться, как в полную силу датомиком пользоваться
то же самое наверное с правилами - где-то функционал наверняка пересекается со спекой и датомиком, и стоит разобраться прежде чем масло масляное писать
но тут же начинается "как быть, если хочется оффлайн мобильное приложение, где данные в датомик уходят раз в месяц", например
@roman01la А как тебе clara-rules? Показалось недостаточным, чтобы развивать дальше тему?
вообще, про клару есть пара ок докладов: https://www.youtube.com/watch?v=zs5Rueo42TA&t=0s
@rmuslimov clara по ощущениям громоздкая, и как-то странно инициализация сессии через неймспейс
еще не понравилось, что во всех рул движках рулы — дата тайпы, в кларе это рекорды
Я не имел возможности разобраться к сожалению (точнее возможность всегда есть просто не было необходимости). На последнем докладе я был и мне показалась клара хорошей заменой еще более громоздкому решению на джаве
плюс у них кейс достаточно серьезный, и там крупная компания и оно у них как успешно по их словам работает
While Clojure Records or Java Beans are good for many needs, some use cases ask that Clara rules be written against arbitrary Clojure structures. Clara supports that with two features shown below:
Users may provide a function to determine the logical type of an incoming fact.
Users may use Clojure destructuring within a rule to easily access data in the rule’s constraints.
@roman01la в кларе помимо рекордов можно использовать обычные мапы. у них есть примеры на эту тему. также я с авторами связывался, они мне присылали сниппеты как это делать
о, а можно ссылочку?
@roman01la Clara will use the fact-type-fn to determine what type a fact is for matching against conditions. The docs/examples can probably be improved in this regard but it is alluded to in the generated API docs at http://www.clara-rules.org/apidocs/0.13.0-RC4/clojure/clara.rules.html#var-mk-session Defrecord is just convenient for some people’s use-cases because it creates a type to match against out of the box when you use clojure’s type function as the fact-type-fn (which is the default)
это прям то, что автор написал
спасибо
а вот сам пример, который он мне прислал, я где-то потерял
(mk-session 'example.rule :fact-type-fn :request-type)
{:request-type :get :url " "} ; Matches rules of type :get
{:request-type :put :url ""} ; Matches rules of type :put
можно спросить на канале клары. они отзывчивые чуваки
я так понял, что факт будет выглядеть ~так:
[:get (= ?url url)] ;; взять урлы всех гетов
а в репл сие вставляется?
всеж repl driven development в кложуре - вещь!
@misha у тебя emacs или иное?
что в качестве ide?
(ns clara.tmp
(:require
[clara.rules :as clara]))
(clara/defrule foo
[:get [{:keys [url]}] (= ?url url)]
=>
(println ?url))
(clara/defsession sesh
'clara.tmp
:fact-type-fn :request-type)
(-> sesh
(clara/insert
{:request-type :get :url "bar"}
{:request-type :get :url "baz"}
{:request-type :post :url "quux"})
(clara/fire-rules))
;; => bar
;; => baz
с рекордами писанины меньше, потому что url
сработает без вот этой вот деструктуризаци [{:keys [url]}]
разрабы клары говорили, что они на проде ее гоняют с несколькими тысячами правил в оперативе. что мол отклик милисекунды
по-моему java
я про js не спрашивал
в общем если у вас кейсы будут по кларе - поделитесь плиз. я собираю инфу о ней, т.к. возможно втащу в один из проектов.
@misha про датомик и event souring. Уже есть кейсы, что кто-то в РФ купил эту БД (datomic)? Они продают в РФ? какое качество консалтинга?
ну да
блин, они нам влицо сказали, мы не хотим с вами делать бизнес. мы им описали кейс, они головой покивали, что датомик подойдет, только мы вам его не продадим. я думаю это все из-за нашего цвета. мы большие зеленые и в списках...
поэтому мне интересно, что продают ли они для тех, кто не в списках?
не не факт. у меня тогда был с руководством напряг
и поэтому они посмотрели, что архитектор говорит одно а директор - уровнем выше другое
и возможно из-за этого просто влазить не хотели
ну я вообще не знаю чо как на рынке, кто с кем дружит, кто кого банит, кто где покупает
короче после того как мой директор поговорил с их директором по развитию бизнеса в течении 1,5 часов пришел отказ
поэтому 2 варианта. или политика или просто с не захотели терять время на кейс, где боссы делают все чтобы решение архитекторов оспорить
я верю в хорошее, поэтому я за 2 вариант
1 вариант мне конечно дикостью кажется
сами видели
есть и на технологии
@rmuslimov лучше слова тут не писать. говорю же большой и зеленый
есть правила, поэтому так и пишу
у меня есть 2 кейса для датомика, одни внешний: есть компания, которая очень жаждет кложуристов со знанием датомика. поэтому если кто узнает про реальный кейс продажи и поддержки датомика в рф, поделитесь плиз. очень интересно
смотря чем занимается компания, если те направления, по которым санкции, то может и это быть причиной
да, на санкции многие положили, официально говорят одно, а неофициально торгуют.
господа, насколько это идентично рефрейму? https://github.com/samroberton/bureaucracy/blob/master/doc/Tutorial.md
@roman01la вы еще бойцов в атендифай ищете?
@misha да, всегда ищем
Уже поговорили