This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-06-05
Channels
- # aws (6)
- # beginners (10)
- # boot (33)
- # cider (23)
- # cljs-dev (50)
- # cljsjs (2)
- # cljsrn (10)
- # clojars (1)
- # clojure (215)
- # clojure-czech (1)
- # clojure-dev (5)
- # clojure-italy (23)
- # clojure-russia (18)
- # clojure-spec (11)
- # clojure-uk (53)
- # clojurescript (157)
- # core-async (29)
- # cursive (12)
- # data-science (15)
- # datascript (16)
- # datomic (68)
- # graphql (2)
- # jobs (5)
- # jobs-discuss (1)
- # juxt (17)
- # lein-figwheel (2)
- # luminus (3)
- # off-topic (155)
- # om (3)
- # pedestal (1)
- # portkey (1)
- # re-frame (7)
- # reagent (4)
- # ring (3)
- # ring-swagger (2)
- # rum (11)
- # unrepl (11)
- # vim (1)
- # yada (2)
А датомик платный?
Подскажите, пожалуйста: 1. Существуют ли библиотеки с таким или похожим интерфейсом (без макросов)? 2. Если нет, то как лучше будет такое реализовать? В каких направлениях копать? Я пока к зипперам склоняюсь...
user> (def pattern ["foo"])
#'user/pattern
user> (def data ["foo"])
#'user/data
user> (match pattern data)
{:match true}
user> (def pattern [foo])
#'user/pattern
user> (def data ["bar"])
#'user/data
user> (match pattern data)
{:match true :foo "bar"}
user> (def pattern {:foo bar})
#'user/pattern
user> (def data {:foo "bar"})
#'user/data
user> (match pattern data)
{:match true :bar "bar"}
@misha в общем случае match
вовращает ответ да/нет
на вопрос похожи ли данные на паттерн?
обычный паттерн матчинг
вот такое есть: https://github.com/clojure/core.match для деструктуризации clojure.core.spec еще можно взять. больше не подскажу
core.match
и core.spec
на макросах основаны
нужно матчить структуры против структур, т.е. и паттерны и сущности могут лежать в БД, как обычные данные
макросы не подходят
А кто postgresql с clojure использует? Интересен ли реактивный postgresql (репликация на клиента)?
nicola: Звучит интересно, пока не понятно на сколько сейчас нам это нужно.
а как кстати подписываться на обновления, если я - не инстанс postgresql?
Я тут поиглал с logical replication - новые возможности - https://blog.2ndquadrant.com/logical-replication-postgresql-10/
@nicola Николай, можешь уточнить, что под клиентом имеется ввиду? И еще вопрос: в концепции микросервисов понятие shared persistance layer считается антипаттерном. то есть если нужно получить доступ к данным, то милости просим через API сервиса, а не напрямую из базы. Таким образом внутренний формат базы - личное дело команды сервиса. Может ли новая фича postgres 10 помочь с идеей микросервисов по реализации доступа к данным через API? ( как вариант - логическая реплика базы оборачивается через API и запросы на доступ к данным адресуются ей, а не базе под нагрузкой)
@mike1452 через логическую репликацию можно из pg получить feed изменений (считай push в datomic), что ты будешь с ним делать дальше - раздавать по rest-api, пихать в web-socket, через кафку, реплицировать в другое хранилище - решай сам. Мне показалось интересным - собрать реактивное решение типа @tonsky datamic/datascript для postgresql
надо только sql над стримами научиться делать для реактивных query (aka https://www.pipelinedb.com/) или его и взять (пока внутрь не заглядывал) и сделать простенький posgtres.js на клиенте 🙂
Вобщем если кому интересно подключайтесь - начал набросок концепции - https://github.com/niquola/pglogic-clj