Size: a a a

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

2020 January 07

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Maxim Penzin
вот это интересный момент!
А что там в Java лучше/хуже, чем в Питоне?
Тем, что есть куча разных классов, которые несовместимы между собой, у них нет общих интерфейсов или классов. Допустим чтоб добавить таймзону в питоне – я просто ее добавляю к экземпляру. В Джаве – каст в нужный класс, хорошо если без промежуточных и только потом добавление и нельзя просто передать абстрактное время в функцию, а надо точно знать что это date, datetime, zonedatetime или ещё какой из набора. Это я ещё не говорю, что у некоторых либ своя реализация времени, типа как java.sql.datetime
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Denis Muraviev
элегантнее можно как то
(clojure.string/join ","
                    (map #(clojure.string/join "|" %1)
                         [["a" "b"] ["c" "d"]]))
ну если только
(->> [["a" "b"] ["c" "d"]]
 (map (partial clojure.string/join "|"))
 (clojure.string/join ","))


хотя тоже масло масляное 😊
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Mike Bohdan
Тем, что есть куча разных классов, которые несовместимы между собой, у них нет общих интерфейсов или классов. Допустим чтоб добавить таймзону в питоне – я просто ее добавляю к экземпляру. В Джаве – каст в нужный класс, хорошо если без промежуточных и только потом добавление и нельзя просто передать абстрактное время в функцию, а надо точно знать что это date, datetime, zonedatetime или ещё какой из набора. Это я ещё не говорю, что у некоторых либ своя реализация времени, типа как java.sql.datetime
не понял,
А что значит передать "абстрактное время"?
источник

DM

Denis Muraviev in Clojure — русскоговорящее сообщество
Sergey Trofimov
ну если только
(->> [["a" "b"] ["c" "d"]]
 (map (partial clojure.string/join "|"))
 (clojure.string/join ","))


хотя тоже масло масляное 😊
спасибо
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Ну типа я хочу передать просто объект, который содержит данные о времени и умеет их представить в нужном виде.
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
а о каком времени речь? - вот это самый интересный вопрос -
локальное/зональное/ютц/....
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
или просто некое календарное
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Типа как интерфейс IUTCTime (допустим такой есть), который должен реализовывать класс экземпляра параметра который надо передать, а он уже умеет из любого времени кастить в utctime, utcdatetime и тд
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Denis Muraviev
спасибо
на практике понятнее, когда абстрактным операциям выданы конкретные имена:
(->> [["a" "b"] ["c" "d"]]
 (map encode-item)
 encode-sequence)
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
то есть разговор не о календарном времени/дате, а о некоем инстате?
тогда может быть
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Типа я знаю, что моя функция работает с ютц, и я хочу чтоб параметр времени вёл себя как ютц и я не хочу кастить в ютц явно, а чтоб это было автоматом в реализации этого типа/интерфейса
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
инстант и календарное время - это очень разные вещи.
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Mike Bohdan
Типа я знаю, что моя функция работает с ютц, и я хочу чтоб параметр времени вёл себя как ютц и я не хочу кастить в ютц явно, а чтоб это было автоматом в реализации этого типа/интерфейса
если тебе такое надо, то можно просто в миллисекундах считать  и не париться.
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Как вариант
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
тут без вариантов.
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
если есть локальный календарь, то он к UTC  не очень соотносится
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
я сегодня наверно последнюю свою базу перегнал из постгреса, где было timestamp without time zone,
но этой базе 20 лет %)
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
то есть этот факт меня хоть как-то извиняет :)
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
У меня большинство баз nosql, и в них просто большой json по id и типа данных время или дата просто нет
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Mike Bohdan
У меня большинство баз nosql, и в них просто большой json по id и типа данных время или дата просто нет
что делаешь, когда тебя просят "все данные за февраль"?
источник