Size: a a a

2021 May 12

GG

Galileo Galilei in Astana JKUG
понятно, спасибо
источник

FD

Fedor Dobrotvorsky in Astana JKUG
Полтора года писали проекты Spring boot на Kotlin, отгребли с отладкой корутин, спецификой Collections API (sequence vs iterable), через 2 месяца научились нормально писать на нём и кайфовать. По итогам ушли с Котлина на Java 15 + Lombok, не хватает лишь 2х вещей - null safety не так красив и extension methods. 😅 По ощущениям - на Scala писать веселее, но опаснее. На Котлине безопаснее, но скучнее. На Java ты идёшь как по маслу, количество внезапных ситуаций типа "Пятничной невнимательности" меньше. Ждём java 17, который берёт на себя ответственность заглушить фичи Котлина/Scala.
источник

IS

Ilgiz Shakirov in Astana JKUG
@fdobrotv А какие такие киллер фичи есть в Java 15 по сравнению с той же 11. Я имею ввиду именно те которые действительно часто используются в боевом коде?
источник

БС

Бакытжан Сейтказин... in Astana JKUG
multi line string

String json =   """
{
   "name":"mkyong",
   "age":38
}
""";
источник

V

Val in Astana JKUG
Adt подвезут?
источник

FD

Fedor Dobrotvorsky in Astana JKUG
Мои фавориты: Text Blocks, instanceof pattern, Switch Expressions, Records. Без этого конечно безусловно можно работать. Ещё завезли GC и их доработки, но пока мечта запускать микросервисы на 18мб RAM без AOT не сбылась.
источник

FD

Fedor Dobrotvorsky in Astana JKUG
Collector teeing ещё не начал использовать
источник

FD

Fedor Dobrotvorsky in Astana JKUG
Ещё я заметил что они завезли немного оптимизаций по времени запуска и GC, конечно не так сладко как 8ка на 11ю https://www.optaplanner.org/blog/2021/01/26/HowMuchFasterIsJava15.html
источник

IS

Ilgiz Shakirov in Astana JKUG
Вот насчёт Records. Насколько они реально нужны, особенно в контексте того что в большинстве проектов используются JPA энтити в качестве бизнес сущностей? То есть records их не заменит. Различные DTO на внешних контрактах? Наверное можно, но как же кастомные аннотации и валидации? Самая большая проблема как по мне это невозможность использовать билдер паттерн.
источник

IS

Ilgiz Shakirov in Astana JKUG
То есть звучит фича прикольно, но куда её засунуть в существующей парадигме не понятно
источник

V

Val in Astana JKUG
для value objects самое оно же, иммутабельны, сравниваются по значению
источник

IS

Ilgiz Shakirov in Astana JKUG
Вот для таких вариантов конечно да. Но как часто в реальности используются value objects? Это же довольно редкий кейс, особенно для java на сервере.
источник

IS

Ilgiz Shakirov in Astana JKUG
То есть мой основной посыл - фича прикольная и не без полезная, но область её применения что-то уж больно маленькая получается
источник

V

Val in Astana JKUG
да частенько же, как раз на серверной стороне в основном ddd применяют, на фронте почти нигде не видел
источник

V

Val in Astana JKUG
видать тенденция есть движения c# и java в строну фп, т е отделять данные от логики. .NEt обкатывает функциональные фичи в F# а потом затягивает в  c#. Рекорды у них канеш гораздо лучше чем в джаве получились
источник

V

Val in Astana JKUG
var growingDegreeDays = coolingDegreeDays with { BaseTemperature = 41 };
вот такой сахар есть для сеттеров
источник

БС

Бакытжан Сейтказин... in Astana JKUG
сейчас пишу GraphQL Server на Java + Spring Boot, и такие value objects пригодились бы
источник

M

Mr.Temirlan in Astana JKUG
А когда project loom и Valhalla завезут в core?
источник
2021 May 13

IS

Ilgiz Shakirov in Astana JKUG
У loom ещё конечно есть шансы, но вот Valhalla наверное только к концу 2025 если вообще хоть когда то.
источник

D

Duman in Astana JKUG
Всем привет, при загрузке ПДФ файл с размером 10 мб выдает ошибку :

com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large (22 473 058 > 16 777 216). You can change this value on the server by setting the 'max_allowed_packet' variable.

мне в mysql 'max_allowed_packet' изменить надо?

или же можно ли в Джваве коде написать?
источник