Кто-нибудь знал про Spring Data REST ?
Штука для того, чтобы объединить 2 слоя в один - JPA и REST контроллер
Анноташка
Штука для того, чтобы объединить 2 слоя в один - JPA и REST контроллер
Анноташка
@RepositoryRestResource👍3
ShedLock - java библиотека, которая гарантирует, что одновременно будет выполняться только одна job, несмотря на количество реплик сервиса, в котором эта джоба реализована.
Под капотом использует БД для хранения локов.
Анноташки:
Под капотом использует БД для хранения локов.
Анноташки:
@EnableSchedulerLock@SchedulerLockGitHub
GitHub - lukas-krecan/ShedLock: Distributed lock for your scheduled tasks
Distributed lock for your scheduled tasks. Contribute to lukas-krecan/ShedLock development by creating an account on GitHub.
👍6
Blockhound - библиотека для поиска блокирующих вызовов в реактивном коде, инициализируем в тестах и готово)
BlockHound.install();GitHub
GitHub - reactor/BlockHound: Java agent to detect blocking calls from non-blocking threads.
Java agent to detect blocking calls from non-blocking threads. - reactor/BlockHound
👍5🔥2
Только что слушала доклад про Spring Cloud Gateway, где показывали код как будто из моего проекта в Сбере)
задумалась что могла бы сделать такой же доклад 🤔
задумалась что могла бы сделать такой же доклад 🤔
👍4
Закончился первый день конференции и это был балдёж 😍
Были доклады классные и не очень, были провокационные (про DDD 😅), сложные, лёгкие, про мой любимый Котлин и нелюбимый Hibernate)
В сердечко Lightning Talks не под запись, весело и душно, как я люблю 💔
Были доклады классные и не очень, были провокационные (про DDD 😅), сложные, лёгкие, про мой любимый Котлин и нелюбимый Hibernate)
В сердечко Lightning Talks не под запись, весело и душно, как я люблю 💔
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🔥3
Девчонка из IT
влетаю в новый день конфы, ух как послушаю про TDD 😅
TDD (Test Driven Development) - это подход к разработке, при котором тесты пишутся перед кодом.
Что хорошего в TDD?
• разработка в режиме fail-fast
• не страшно дорабатывать и вносить правки, т.к. уже есть тесты
• лучше понимаешь как работает фреймворк
• можно учесть требованию к коду заранее, в тестах
• приносит удовольствие :)
Что плохого?
• когда делаем моки, мы пишем тест на то, чего в жизни быть не может, это цена за TDD
• если включаем
• тратим время на написание множества тестов вместо разработки фичи 😅
Вывод 1: просто пишите тесты, не очень важно до или после кода
Вывод 2: используйте тест контейнеры, они приближают к prod like тестированию
Вывод 3: в докладе нет ничего про Spring Boot 3 🤣
Вывод 4: смотреть на лайвкодинг это отдельный вид кайфа 😍
Что хорошего в TDD?
• разработка в режиме fail-fast
• не страшно дорабатывать и вносить правки, т.к. уже есть тесты
• лучше понимаешь как работает фреймворк
• можно учесть требованию к коду заранее, в тестах
• приносит удовольствие :)
Что плохого?
• когда делаем моки, мы пишем тест на то, чего в жизни быть не может, это цена за TDD
• если включаем
spring.main.initialization=lazy то тесты поднимаются быстрее, но это отдаляет нас от prod like тестирования• тратим время на написание множества тестов вместо разработки фичи 😅
Вывод 1: просто пишите тесты, не очень важно до или после кода
Вывод 2: используйте тест контейнеры, они приближают к prod like тестированию
Вывод 3: в докладе нет ничего про Spring Boot 3 🤣
Вывод 4: смотреть на лайвкодинг это отдельный вид кайфа 😍
👍4❤3🔥2⚡1
Плюсы и минусы использования паттерна Value Object
+
• часть ошибок можно выявить на этапе компиляции
• более безопасный и простой код
• правила валидации инкапсулированы в одном месте
• этот объект всегда валиден
-
• правила валидации могут измениться, а данные останутся и тогда могут возникнуть ошибки при чтении из БД
• если мы не владельцы данных, то внешний сервис может начать возвращать невалидные данные и будет парализована работа нашего сервиса из-за ошибок валидации
• не работает like при передаче объекта в репозиторий
В докладе Семён предлагает использовать этот паттерн только на этапе input и только в случае, если мы являемся владельцем данных.
Зачем:
• новые правила валидации не помешают чтению старых (возможно невалидных) данных
• like запрос работает как надо
• сохраняются все перечисленные выше плюсы
P.S. для Котлина неактуально, там из коробки всё :)
P.P.S. думойте сами, решайте сами 😅 я нашла у нас одно место, где можно попробовать применить
+
• часть ошибок можно выявить на этапе компиляции
• более безопасный и простой код
• правила валидации инкапсулированы в одном месте
• этот объект всегда валиден
-
• правила валидации могут измениться, а данные останутся и тогда могут возникнуть ошибки при чтении из БД
• если мы не владельцы данных, то внешний сервис может начать возвращать невалидные данные и будет парализована работа нашего сервиса из-за ошибок валидации
• не работает like при передаче объекта в репозиторий
В докладе Семён предлагает использовать этот паттерн только на этапе input и только в случае, если мы являемся владельцем данных.
Зачем:
• новые правила валидации не помешают чтению старых (возможно невалидных) данных
• like запрос работает как надо
• сохраняются все перечисленные выше плюсы
P.S. для Котлина неактуально, там из коробки всё :)
P.P.S. думойте сами, решайте сами 😅 я нашла у нас одно место, где можно попробовать применить
👍4🔥3
That’s all, folks!
Закончился JPoint 2023 и у меня есть кое-какие мысли)
В последний раз я была оффлайн на Joker 2019 в Питере и это конечно было жутко масштабно, огромное количество стендов и участников 😱
Когда я пришла послушать доклад Тагира про оптимизации в джаве, то я сидела на ступеньках, зал был битком) Кайф невероятный 😍
JPoint сейчас был скромнее, но от этого не менее прекрасный 🥰
Мои итоги:
• все мы решаем одни и те же задачи, допускаем те же ошибки, придумываем похожие пути исправления
• хочу глубоко изучить кафку, процесс ребалансировки и всё такое (чтобы выпендриваться 🤣)
• нужно повнимательнее присмотреться к DDD, подход для меня необычный, хочу разобраться
• Spring Data REST мне не нравится, протекают абстракции
• закомплексовала на докладе про System Design, поняла что такой собес я не пройду 🤪
• выступать походу не страшно, надо попробовать хотя бы на Lightning Talks
• обожаю айтишников и эту атмосферу 😍😍😍
Закончился JPoint 2023 и у меня есть кое-какие мысли)
В последний раз я была оффлайн на Joker 2019 в Питере и это конечно было жутко масштабно, огромное количество стендов и участников 😱
Когда я пришла послушать доклад Тагира про оптимизации в джаве, то я сидела на ступеньках, зал был битком) Кайф невероятный 😍
JPoint сейчас был скромнее, но от этого не менее прекрасный 🥰
Мои итоги:
• все мы решаем одни и те же задачи, допускаем те же ошибки, придумываем похожие пути исправления
• хочу глубоко изучить кафку, процесс ребалансировки и всё такое (чтобы выпендриваться 🤣)
• нужно повнимательнее присмотреться к DDD, подход для меня необычный, хочу разобраться
• Spring Data REST мне не нравится, протекают абстракции
• закомплексовала на докладе про System Design, поняла что такой собес я не пройду 🤪
• выступать походу не страшно, надо попробовать хотя бы на Lightning Talks
• обожаю айтишников и эту атмосферу 😍😍😍
❤3❤🔥3🔥3👏3🤓2
Была на вебинаре у Дорофеева, выиграла книжку с автографом за смешной комментарий))
Прочитаю буду джедайкой, скриньте 🤣
Прочитаю буду джедайкой, скриньте 🤣
🔥9👍6🦄3