Size: a a a

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

2021 August 19

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
уникальность ключей заложена, а их допустимое наименование — нет, опять же нужны проверки
а преобразование массива [a a a b c] в set происходит без неоднозначностей, так что уникальность там и не критична
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
заодно енумы на уровне схемы базы можно валидировать
источник

PP

Pavel Peganov in Clojure — русскоговорящее сообщество
Ну, кстати, да. Если на уровне приложения это будет сет, контроль уникальности не особо беспокоит.
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
резюмируем — делай array of enums 😊
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
А что хранится в этих флагах? Если они полностью независимы друг от друга, то норм. Если это радиокнопка, то конечно надо переделать
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
альтернативные варианты требуют дополнительных приседаний при создании индексов.
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
проблема белой темы - в ней тяжело нормально подобрать цвета для расцветки сущностей кода, ну т.е. штук 5 разных ещё можно выбрать, но дальше становится тяжелее
источник

SM

Stas Makarov in Clojure — русскоговорящее сообщество
Да, похоже я не совсем понял их суть изначально. Это будут
CREATE TABLE user_something_settings (
id primary key
user_id references user,
a, b, c, d bool,
updated_at timestamp
);

Все вполне могут быть true. Разницы между false и null вроде нет.
Т.е. в коде они будут лежать в переменной (мапе) юзера. Похоже, удобнее будет использовать если просто сделать полем таблицы users, да и эффективнее если рядом на диске будут лежать. jsonb или массив енумов не принципиально. С точки зрения херак-херак-дривен-девелопмент jsonb мне больше нравится :)
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
больше 3-х цветов — уже много 😉
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
кому и монохромная невеста
источник

IG

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

id serial primary key,
user_id integer not null refereces users(id),
setting_name text not null,
setting_value jsonb
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
а у меня расцвечены даже локальные биндинги
источник

IG

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

IG

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

IG

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

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
туплю уже, помощь зала... как nth  в partial  затащить?  (sort-by (comp :poses (partial nth p)) (for [a (:gyms g)] a))?
Есть вектор мапов [... {... :poses [2 1 5 4 3]}] мне нужно сортирнуть по значению определенного элемента, пусть будет третьего (который 5 в примере)...
источник

KR

Kostyantin Randomnam... in Clojure — русскоговорящее сообщество
(get-in [index key index] должен сработать
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Все потому, что nth, как тут говорят «заточен под ->» и первым аргументом ожидает список, а partial делает функцию, которая вторым элементом принимать список. На сколько я понял из описания
источник

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
в общем, извратился :) если кому вдруг...
(def ttt [{:name "3" :poses [1 2 3]}
         {:name "2" :poses [2 3 1]}
         {:name "1" :poses [3 1 2]}])

(sort-by #(nth (:poses %) 1) ttt)
источник

E

ETL in Clojure — русскоговорящее сообщество
(sort-by (fn [{:keys [poses]}]
           (second poses)) ttt)
источник