Size: a a a

Scala User Group

2020 September 10

S🐉

Sergey 🐉 Rublev in Scala User Group
с 11, кажется, явы с большей точностью
источник

AS

Alex Sh in Scala User Group
λoλdog
феиковые)))
Почему? Можно строки парсить с точностью до нс.
источник

S🐉

Sergey 🐉 Rublev in Scala User Group
у меня тесты кодеков полетели при переезде на 11 яву, внезапно цифр стало больше
источник

λ

λoλdog in Scala User Group
Alex Sh
Почему? Можно строки парсить с точностью до нс.
точно
источник

AS

Alex Sh in Scala User Group
У нас довольно много грусных приколов было с Instant.
В проекте почти везде для тестирования использутся scalaCheck's Gen[..]
И в одном месте был объявлен instantGen : Gen[Instant] = Gen.posNum[Long].map(Instant.ofEpochMillis)
Который везде переиспользуется. Все было "нормально".

Потом я подумал: "А что-то нечестно генерируется". И поправил на Gen.oneOf(Instant.Min, Gen.choose(Instant.Min, Instant.Max), Instant.Max).
Половина тестов отклеилась 😭
источник

AS

Alex Sh in Scala User Group
А потом еще половина 😢
источник

NP

Nikita Pedorich in Scala User Group
Alex Sh
У нас довольно много грусных приколов было с Instant.
В проекте почти везде для тестирования использутся scalaCheck's Gen[..]
И в одном месте был объявлен instantGen : Gen[Instant] = Gen.posNum[Long].map(Instant.ofEpochMillis)
Который везде переиспользуется. Все было "нормально".

Потом я подумал: "А что-то нечестно генерируется". И поправил на Gen.oneOf(Instant.Min, Gen.choose(Instant.Min, Instant.Max), Instant.Max).
Половина тестов отклеилась 😭
Потому что Instant.MIN - это -1000000000-01-01T00:00Z?
источник

AT

Aλeksei Tereχin in Scala User Group
Alex Sh
У нас довольно много грусных приколов было с Instant.
В проекте почти везде для тестирования использутся scalaCheck's Gen[..]
И в одном месте был объявлен instantGen : Gen[Instant] = Gen.posNum[Long].map(Instant.ofEpochMillis)
Который везде переиспользуется. Все было "нормально".

Потом я подумал: "А что-то нечестно генерируется". И поправил на Gen.oneOf(Instant.Min, Gen.choose(Instant.Min, Instant.Max), Instant.Max).
Половина тестов отклеилась 😭
Это выглядит как оптимизация ради оптимизация методом тычка пальцем куда в район жопы :)
источник

AT

Aλeksei Tereχin in Scala User Group
Но я люблю такое делать
источник

AS

Alex Sh in Scala User Group
Nikita Pedorich
Потому что Instant.MIN - это -1000000000-01-01T00:00Z?
1. Instant#plus, #minus кидаются exception-ми если пытаться что-то прибавить/отнять к макс/мин значению
2. Instant.Max.toEpochMilli  кидает exception на Instant.Max
3. в Postgres макс. значение для времени меньше  Instant.Max
источник

AS

Alex Sh in Scala User Group
После того как привык, что функция A => B это чистая функция, уже даже сложно подумать, что в Java либе это не так.
источник

𝛈µ

𝛈 µ in Scala User Group
Alex Sh
После того как привык, что функция A => B это чистая функция, уже даже сложно подумать, что в Java либе это не так.
И правда чистая

def conv(a: A): B = {
System.exit(1)
a.asInstanceOf[B]
}
источник
2020 September 11

B

Bogdan in Scala User Group
всем привет, можете пожалуйста  подсказать что этот код делает?
источник

𝛈µ

𝛈 µ in Scala User Group
что в этом коде написано, то и делает
источник

𝛈µ

𝛈 µ in Scala User Group
анескейпит символы из \uXXXX формата
источник

B

Bogdan in Scala User Group
𝛈 µ
что в этом коде написано, то и делает
источник

𝛈µ

𝛈 µ in Scala User Group
Шизик писал
источник

B

Bogdan in Scala User Group
𝛈 µ
Шизик писал
пчм?
источник

𝛈µ

𝛈 µ in Scala User Group
Можно в один проход всё сделать, без регексов
источник

𝛈µ

𝛈 µ in Scala User Group
Если уж руками писать
источник