Size: a a a

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

2020 January 07

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mike Bohdan
java.time, как по мне, написан инопланетянами для инопланетян. Более неудобной работы со временем ещё поискать надо. Для меня пока идеал – работа со временем в питоне
как любая java библиотека 😊
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Sergey Trofimov
как любая java библиотека 😊
Ну что-то мне было приятно и интересно ковырять для интеропа. А вот время – это боль.
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Те же ServiceExecutor-ы написаны очень приятно, чтоб своё не городить.
источник

A

Andor in Clojure — русскоговорящее сообщество
Mike Bohdan
java.time, как по мне, написан инопланетянами для инопланетян. Более неудобной работы со временем ещё поискать надо. Для меня пока идеал – работа со временем в питоне
В голанге видел?
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Andor
В голанге видел?
Вообще не воспринимаю голанг как язык
источник

A

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

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Jsonista vs Cheshire – у последнего есть несколько неприятных багов, которые висят на гх уже несколько лет. У jsonista есть очень приятная фича с мапперами, но был случай когда она падала с ошибкой на анмаршалинге. Тогда эту ошибку так и не смогли нормально понять – помог возврат на Чешир. Сейчас опять использую jsonista тк в reitit она идёт стандартно, а плодить либы для одной и той же задачи не благодарное дело.
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Мапперы мне нравятся тем, что я могу навесить (comp keyword csk/->kebab-case) на декод и (comp string csk/->snake_case) на энкод ключей и оно будет работать в один проход.
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
В чешире использовал для этого потом walk, что давало больше одного прохода по структуре, но может есть и что-то нативное.
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mike Bohdan
В чешире использовал для этого потом walk, что давало больше одного прохода по структуре, но может есть и что-то нативное.
ну, в parse-string передаётся key-fn
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Mike Bohdan
В чешире использовал для этого потом walk, что давало больше одного прохода по структуре, но может есть и что-то нативное.
в чешире для этого можно опцию {:key-fn (fn [k] (-> k csk/->kebab-case keyword))} передать
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
А для энкода тоже что-то подобное есть?
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Kirill Chernyshov
в чешире для этого можно опцию {:key-fn (fn [k] (-> k csk/->kebab-case keyword))} передать
да, в генератор
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
в обратную сторону та же опция
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Я просто куда-то в мидлвари прячу энкод/декод и никогда про него не вспоминаю
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Звучит хорошо, надо будет глянуть
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Kirill Chernyshov
в обратную сторону та же опция
нет, вижу опции только у генератора
у парсера функция передаётся отдельным параметром
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
`
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
;; parse some json and munge keywords with a custom function
(parse-string "{\"foo\":\"bar\"}" (fn [k] (keyword (.toUpperCase k))))
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Kirill Chernyshov
;; parse some json and munge keywords with a custom function
(parse-string "{\"foo\":\"bar\"}" (fn [k] (keyword (.toUpperCase k))))
ну, это же не мапа с опциями, как в generate
источник