Size: a a a

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

2020 December 15

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
тут простая проблемка - нужно много и часто превращать :anykey в :entity/anykey в мапах (и наоборот желательно)
ничего лучше пока чем (keyword (name :entity) (name :anykey))  случаем нет?
источник

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
Выписал вот такую фигню, есть ли смысл ее оптимизировать?
(defn ->datum
 "Preserve `:uuid` (or generate it) and rename keys to `entity` namespace"
 [entity {uuid :uuid :as fields :or {uuid (UUID/randomUUID)}}]
 (-> (into {} (map (fn [[k v]] [(keyword (name entity) (name k)) v]) fields))
     (dissoc :uuid)
     (assoc (keyword (name entity) "uuid") uuid)))
источник

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
Кто как вообще решает проблему с переименованием? у меня есть мапы, которые приходят извне, мне их нужно в базу класть (datomic) и и обратно отдавать... каждый раз переименовывать под каждую сущность мне кажется накладно...
Пробовал делать вот так
(clj-set/rename-keys result {:tag/uuid :uuid :tag/description :description :tag/name :name :tag/type :type})
но на мой взгляд, это жуткая копипаста, особенно, если туда и обратно гонять...
источник

IG

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

IG

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

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
(defn add-namespace [map-data kw-ns]
 (reduce-kv
  (fn [map-result key val]
    (let [key-full (keyword (name kw-ns) (name key))]
      (assoc map-result key-full val)))
  {}
  map-data))
источник

IG

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

D

Doshich in Clojure — русскоговорящее сообщество
А это правда, что все кложур-программисты не раскрывают размер своей ЗП?
источник

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
Doshich
А это правда, что все кложур-программисты не раскрывают размер своей ЗП?
почему же на основной работе ~20круб, я на пол ставки в собственной фирме 😊
источник

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
Ivan Grishaev
добавляет ко всем ключам мапы неймспейс
Да, спасибо! Ваш вариант более красивее.
источник

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
Ivan Grishaev
добавляет ко всем ключам мапы неймспейс
У меня, там не совсем json - graphql, а он, если неймспейс есть, просто игнорирует ключик, так что и обратно приходится
источник

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
Doshich
А это правда, что все кложур-программисты не раскрывают размер своей ЗП?
так что, бедные мы, бедные... можно уже и задонатить на Новый год и 23 февраля...
источник

((

(fun () -> ()) in Clojure — русскоговорящее сообщество
как сделать грязную фукнцию которая бы приняла массив, и вернула функцию которая каждый раз как вызываешь возвращала новый элемент из массива?
источник

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
(fun () -> ())
как сделать грязную фукнцию которая бы приняла массив, и вернула функцию которая каждый раз как вызываешь возвращала новый элемент из массива?
Определить локальный atom?
источник

((

(fun () -> ()) in Clojure — русскоговорящее сообщество
Alexey Cheremisin
Определить локальный atom?
да, вышло, спасибо
источник

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
(fun () -> ())
да, вышло, спасибо
вот здесь по классике с примером - https://clojure.org/reference/atoms
источник

((

(fun () -> ()) in Clojure — русскоговорящее сообщество
да, как раз по примеру и сделал
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Doshich
А это правда, что все кложур-программисты не раскрывают размер своей ЗП?
tl;dr Не правда.
Не правда, что не все кложур- (и не только кложур-) программисты не ракрывают (или слегка раскрывают) размер своей ЗП или ЗП коллеги. К тому же иногда грешат тем, что не уточняют, гросс или после вычета налогов.
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
или говорят рубли, но не уточняют, что не русские.
источник

D

Doshich in Clojure — русскоговорящее сообщество
Damir Farazetdinov
или говорят рубли, но не уточняют, что не русские.
Если рубли не русские, то это даже больше, чем в русских...
источник