JVM Brain | Java&Kotlin
263 subscribers
106 photos
34 videos
1 file
130 links
Говорим о Java и пишем на Java (вообще не только).

Видео, статьи, обсуждения интересных тем.
Download Telegram
Цитата сегодняшнего дня

"Я stackoverflow кодер, ответы беру из вопросов"
👍2😁2
Я человек простой, вижу багу - завожу тикет. Фактически проблема известной оказалась (хотя я пытался найти, видимо не очень хорошо).
Для тех кто использует мапперы типа mapsctruct и lombok в паре (в частности билдеры), если у вас есть поле, которое начинается на add будьте готовы, что оно не будет заполняться значением из другой модели.

https://github.com/mapstruct/mapstruct/issues/3625
👍5
Плитка, когда на носу релиз и отпуск одновременно
Чем еще заняться в отпуске как не своим проектом, а то ж все руки не доходят. Осваиваем React, но видимо скоро перееду на Next.js - расскажу как-нибудь почему
🔥2
Пора бы и спойлернуть, работы конечно полно еще, но для ознакомления жаждущих http://jvmbrain.ru/courses/java-web . Видите превью ссылки? Это ответ на вопрос почему я все же подумываю о переезде на Next.js - сейчас страница рендерится на сервере (SSR) и чтобы создать ее нужно выполнить JS - код, а телега так не делает. Второй вытекающий минус - отсутствие страниц в поиске, роботы тоже не дожидаются загрузки JS. На самом деле история интересная и как-нибудь даже расскажу как рендерить JS на JVM.
👍3
Было? 😂
😁2
Формы и модальные окна побеждены пусть и через костыль пока http://jvmbrain.ru/courses/java-web осталось добавить шифрование трафика, но это уже совсем другая история (совсем скорая и думаю вам будет интересно как это прикрутить быстро и просто). Все желающие могут оставить заявку на курс (если не боитесь, что украдут данные из формы)
Из практики. Бывают случаи, когда нужно внести изменения в конфигурацию проекта, причём так уж он устроен, что в нескольких местах одновременно. И как это обычно бывает кто-нибудь да забывает это сделать везде. И тут нам на помощь приходят тесты, которые будут падать, если ты что-то забыл. Это тесты, не покрывающие бизнес-логику, но помогающие избегать частых ошибок при разработке.
Не теряем меня, наконец выбрался в нормальный отпуск за многие годы. Через неделю-две вернусь в привычный режим и обязательно что-нибудь полезное выложу.
🔥1
Подкатила новая стажировка для студентов старших курсов технических вузов для разработки hr платформы.
Из требований
- знание java
- понимание микросервисной архитектуры
- прохождение курса по Java в рамках обучения

Если подходите и есть желание - пишите в комменты, ну или поделитесь с другом, который подходит по критериям.

P. S. Напоминаю, что просто помогаю на безвозмездной основе, зная как тяжело попасть на работу после обучения.
С ростом опыта начинаешь замечать, что все бОльшую роль на собеседованиях играют софт-скиллы, и уже во вторую хард. Все меньше технических вопросов, и все больше по архитектуре и руководству командой. Так что не забывайте развиваться не только по технической части.
👍5
Интересна ли тема вакансий или прикрываем лавочку? Выбор за вами )
Anonymous Poll
80%
Интересна
14%
Интересна, но не стажерские или джуновые позиции
6%
Не интересуют вакансии
NoSuchFieldError - интересная ошибка, с которой меня попросили сегодня помочь разобраться. Возникает, когда наше приложение не может найти какое-либо статическое поля другого класса, несмотря на то, что в исходниках есть ссылка на него.

Обычно возникает при использовании сторонних библиотек, когда они предполагают транзитивные зависимости. Например, в классе MediaType spring-web в одной из версий было добавлено поле APPLICATION_GRAPHQL, логично, что при использовании в нашем проекте версии ниже приложение его просто не найдет.

Варианты решения:
1. Явно указываем в наших зависимостях версию той самой библиотеки.
2. Поднимаем версию библиотеки, которая тянет ту самую проблемную версию (тут надо смотреть а используется ли нужная версия на самом деле) - в контексте спринга, например, надо поднять версию spring-boot
👍4
В Java 21 расширили pattern matching - теперь можно использовать в конструкциях switch-case
static String formatterPatternSwitch(Object obj) {
return switch (obj) {
case Integer i -> String.format("int %d", i);
case Long l -> String.format("long %d", l);
case Double d -> String.format("double %f", d);
case String s -> String.format("String %s", s);
default -> obj.toString();
};
}
JVM Brain | Java&Kotlin
Пора бы и спойлернуть, работы конечно полно еще, но для ознакомления жаждущих http://jvmbrain.ru/courses/java-web . Видите превью ссылки? Это ответ на вопрос почему я все же подумываю о переезде на Next.js - сейчас страница рендерится на сервере (SSR) и чтобы…
Всем ожидающим. Старт перенесён на 15 августа, закрытая группа в телеграм будет сформирована ближе к старту. Для тех, кто мало со мной знаком и сомневается просто посмотрите в канале записи по тегу #отзывы - в комментариях можно будет найти ответы на вопросы.
👍1
Варианты форматирования строк в Java

String text = "example";
String.format("%s formatted text", text);


"%s formatted text".formatted(text);

STR."\{text} formatted text"; // новая фича String Templates появилась в Java 21


Пользуетесь ли форматированием и каким из вариантов?
Немного из жизни разработки. С одной стороны теряешь толкового разработчика, а с другой стороны рад за него, когда уходит в другую компанию с повышением зп в 2,5 раза, особенно, если он вырос под твои руководством и твой вклад в это развитие тоже был. Растить кадры все же приятное дело )
👍7
А еще сегодня я понял один парадокс - компания в состоянии взять дополнительных разработчиков в команду, но, если сказать, что будешь работать за двоих-троих, то они совсем не готовы платить тебе их зарплату дополнительно (повышать на совокупную или хотя бы близко к ней сумму).

Может я таких компаний не встречал, где тебе готовы платить намного выше рынка, если твоя продуктивность на уровне 2-3 человек, а то и целой команды.

Внимание вопрос - где логика?
👍2