🚀 Расширенные советы по Spring Boot🚀
Создание собственного FailureAnalyzer
Перехват исключений при запуске и преобразование их в человекочитаемые сообщения эффективно достигается с помощью FailureAnalyzer в Spring Boot 🔥.
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto.application.failure-analyzer
👉
Создание собственного FailureAnalyzer
Перехват исключений при запуске и преобразование их в человекочитаемые сообщения эффективно достигается с помощью FailureAnalyzer в Spring Boot 🔥.
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto.application.failure-analyzer
👉
🔥What’s the Hack? ЭКСПО! Этим летом с 1 по 10 августа прими участие в хакатоне от Экспобанк, реши задачу по созданию системы управления клиентскими базами для компаний-партнеров Экспобанка и получи возможность забрать вознаграждение из призового фонда в 400.000 рублей!
Регистрируйся на хакатон до 29 июля включительно: https://экспохак.рф
🌐Хакатон пройдет в формате Онлайн - 9 дней интенсивной работы над проектом, а 10-го августа участники защищают свои решения перед представителями из компаний-партнеров Экспобанка!
🚀Главная цель – создать единый механизм управления клиентскими базами, позволяющий оптимизировать взаимодействие с клиентами и предлагать различные услуги из разных компаний, входящих в число компаний-партнеров Экспобанка. .
👨💻К участию приглашаются разработчики, Product менеджеры, IT-специалисты и бизнес-архитекторы.
На протяжении всего хакатона Вас ждут регулярные сессии с экспертами, которые помогут скорректировать Ваши идеи в нужно русло!
📌Ключевые события хакатона:
29 июля – Завер...
Регистрируйся на хакатон до 29 июля включительно: https://экспохак.рф
🌐Хакатон пройдет в формате Онлайн - 9 дней интенсивной работы над проектом, а 10-го августа участники защищают свои решения перед представителями из компаний-партнеров Экспобанка!
🚀Главная цель – создать единый механизм управления клиентскими базами, позволяющий оптимизировать взаимодействие с клиентами и предлагать различные услуги из разных компаний, входящих в число компаний-партнеров Экспобанка. .
👨💻К участию приглашаются разработчики, Product менеджеры, IT-специалисты и бизнес-архитекторы.
На протяжении всего хакатона Вас ждут регулярные сессии с экспертами, которые помогут скорректировать Ваши идеи в нужно русло!
📌Ключевые события хакатона:
29 июля – Завер...
Spring Boot с ограничением скорости 🚀
Реализуйте ограничение скорости с помощью Bucket4j! 🚀
https://bucket4j.com/
#SpringBoot #RateLimiting
👉
Реализуйте ограничение скорости с помощью Bucket4j! 🚀
https://bucket4j.com/
#SpringBoot #RateLimiting
👉
⚡️ Узнайте, как манипулировать байт кодом Java-приложений!
На занятии разберем, как просматривать и читать байт код классов и для чего это может быть нужно. Научитесь создавать утилиты для изменения байт кода существующих классов в runtime. Это знание поможет вам улучшить производительность ваших приложений и решать сложные задачи.
Вебинар будет полезен Java-разработчикам, которые сталкиваются с вопросами производительности приложений.
Встречаемся 1 августа в 20:00 мск.
Спикер — Tech Lead в одном из крупнейших российских банков и кандидат технических наук.
👉 Регистрируйтесь прямо сейчас, чтобы посетить бесплатное занятие: https://vk.cc/cyBbZ2
На занятии разберем, как просматривать и читать байт код классов и для чего это может быть нужно. Научитесь создавать утилиты для изменения байт кода существующих классов в runtime. Это знание поможет вам улучшить производительность ваших приложений и решать сложные задачи.
Вебинар будет полезен Java-разработчикам, которые сталкиваются с вопросами производительности приложений.
Встречаемся 1 августа в 20:00 мск.
Спикер — Tech Lead в одном из крупнейших российских банков и кандидат технических наук.
👉 Регистрируйтесь прямо сейчас, чтобы посетить бесплатное занятие: https://vk.cc/cyBbZ2
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🚀 Совет по Spring 🚀
Маршрутизация источников данных с помощью AbstractRoutingDataSource
Реализуйте динамическую маршрутизацию источников данных с помощью
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/jdbc/datasource/lookup/AbstractRoutingDataSource.html
#SpringTip #Java
👉
Маршрутизация источников данных с помощью AbstractRoutingDataSource
Реализуйте динамическую маршрутизацию источников данных с помощью
AbstractRoutingDataSource
для сценариев с несколькими базами данных. 🔥https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/jdbc/datasource/lookup/AbstractRoutingDataSource.html
#SpringTip #Java
👉
docs.spring.io
AbstractRoutingDataSource (Spring Framework 6.2.10 API)
declaration: package: org.springframework.jdbc.datasource.lookup, class: AbstractRoutingDataSource
👍 Тест по Java
Проверь насколько хорошо ты знаешь Java и готов освоить Spring!
Ответишь — пройдешь на продвинутый курс "Разработчик на Spring Framework" от OTUS по специальной цене.
👉 ПРОЙТИ ТЕСТ: https://vk.cc/cyCTwJ
⏰ Время прохождения теста ограничено 30 минут, 21 вопрос.
Проверь насколько хорошо ты знаешь Java и готов освоить Spring!
Ответишь — пройдешь на продвинутый курс "Разработчик на Spring Framework" от OTUS по специальной цене.
👉 ПРОЙТИ ТЕСТ: https://vk.cc/cyCTwJ
⏰ Время прохождения теста ограничено 30 минут, 21 вопрос.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Советы по Spring 💡
Создайте отказоустойчивый микросервис с помощью паттерна
https://resilience4j.readme.io/
👉
Создайте отказоустойчивый микросервис с помощью паттерна
Circuit Breake
r, используя Resilience4j. 🔥https://resilience4j.readme.io/
👉
Совет по Java 💡
Чтобы сделать большие и сложные цепочки компараторов более читаемыми, мне нравится присваивать компараторы переменным, имена которых начинаются с "by". Таким образом, вызов
👉
Чтобы сделать большие и сложные цепочки компараторов более читаемыми, мне нравится присваивать компараторы переменным, имена которых начинаются с "by". Таким образом, вызов
sorted()
становится меньше и читается почти как естественный язык. Кроме того, вы можете использовать статический импорт.👉
В чём разница между jar и war?
jar и war – расширения платформо-независимых файлов-архивов Java-приложения. Кроме них есть еще третий формат, ear. Все эти форматы – на самом деле просто zip-архивы с классами и другими частями приложения. Вы можете переименовать такой файл в .zip, разархивировать, и посмотреть, что внутри.
JAR – Java Archive. Содержит файлы классов, ресурсы, зависимые библиотеки, и другие необходимые для приложения файлы. Может содержать точку входа, и использоваться как цель для исполнения команды java.
WAR – Web Archive. Технически имеет ту же структуру, но другую роль – архив JavaEE web-компонента. Обычно содержит jar-ы с реализацией, JSP, статические файлы фронт-энда, и мета-информацию для сервлет-контейнера (web.xml). В основном используется как деплоймент web-приложения в сервлет-контейнер. С приходом Servlet API 3.0 и embedded-контейнеров, всё больше становится принято запаковывать и web-компоненты в самодостаточные jar (Лозунг Spring Boot: Make jar, not war).
EAR – Enterprise Ar...
jar и war – расширения платформо-независимых файлов-архивов Java-приложения. Кроме них есть еще третий формат, ear. Все эти форматы – на самом деле просто zip-архивы с классами и другими частями приложения. Вы можете переименовать такой файл в .zip, разархивировать, и посмотреть, что внутри.
JAR – Java Archive. Содержит файлы классов, ресурсы, зависимые библиотеки, и другие необходимые для приложения файлы. Может содержать точку входа, и использоваться как цель для исполнения команды java.
WAR – Web Archive. Технически имеет ту же структуру, но другую роль – архив JavaEE web-компонента. Обычно содержит jar-ы с реализацией, JSP, статические файлы фронт-энда, и мета-информацию для сервлет-контейнера (web.xml). В основном используется как деплоймент web-приложения в сервлет-контейнер. С приходом Servlet API 3.0 и embedded-контейнеров, всё больше становится принято запаковывать и web-компоненты в самодостаточные jar (Лозунг Spring Boot: Make jar, not war).
EAR – Enterprise Ar...
Советы по Spring Batch 💡
Оптимизируйте свои шаги в с помощью параметра `
#Java #SpringBatch
👉
Оптимизируйте свои шаги в с помощью параметра `
startLimit
` и определите, сколько раз можно запустить шаг. 🔥#Java #SpringBatch
👉
🚀 Совет по API Java 🚀
java.util.IdentityHashMap
В отличие от
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/IdentityHashMap.html
👉
java.util.IdentityHashMap
В отличие от
HashMap
, этот класс использует равенство ссылок (==), а не равенство объектов (equals()
) для определения уникальности ключей, что делает его подходящим для конкретных случаев использования. 🔥https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/IdentityHashMap.html
👉
Oracle
IdentityHashMap (Java SE 21 & JDK 21)
declaration: module: java.base, package: java.util, class: IdentityHashMap
Как нельзя называть переменные?
Этот вопрос подразумевает ответ из двух частей. Нужно указать, какие есть технические ограничения, и какие стилистические. Стиль – слишком большая тема, не специфичная только для Java, не будем на ней останавливаться.
Технически компилятор налагает одинаковые ограничения на имена как переменных, так и классов, методов, и всего остального. Эти имена обобщенно называются идентификаторы.
Ограничений всего три:
1. Имя целиком не должно совпадать с зарезервированным словом;
2. Первый символ должен проходить проверку методом Character.isJavaIdentifierStart();
3. Остальные символы должны проходить проверку Character.isJavaIdentifierPart().
На практике проверки означают, что имя должно состоять из таких символов Unicode, как:
• Буквы (разных языков)
• Символы валют (такие как $)
• Соединительные символы (такие как _)
• Диакритика (combining mark, non-spacing mark)
• Методы, проходящие Character.isIdentifierIgnorable() (непечатаемые символы, в идентификаторе игнорируются компилят...
Этот вопрос подразумевает ответ из двух частей. Нужно указать, какие есть технические ограничения, и какие стилистические. Стиль – слишком большая тема, не специфичная только для Java, не будем на ней останавливаться.
Технически компилятор налагает одинаковые ограничения на имена как переменных, так и классов, методов, и всего остального. Эти имена обобщенно называются идентификаторы.
Ограничений всего три:
1. Имя целиком не должно совпадать с зарезервированным словом;
2. Первый символ должен проходить проверку методом Character.isJavaIdentifierStart();
3. Остальные символы должны проходить проверку Character.isJavaIdentifierPart().
На практике проверки означают, что имя должно состоять из таких символов Unicode, как:
• Буквы (разных языков)
• Символы валют (такие как $)
• Соединительные символы (такие как _)
• Диакритика (combining mark, non-spacing mark)
• Методы, проходящие Character.isIdentifierIgnorable() (непечатаемые символы, в идентификаторе игнорируются компилят...
Slim Docker Images для Java
Из этой статьи вы узнаете, как создавать слим Docker-образы для ваших Java-приложений с помощью Alpine Linux и Jlink.
https://piotrminkowski.com/2023/11/07/slim-docker-images-for-java/
👉
Из этой статьи вы узнаете, как создавать слим Docker-образы для ваших Java-приложений с помощью Alpine Linux и Jlink.
https://piotrminkowski.com/2023/11/07/slim-docker-images-for-java/
👉
This media is not supported in your browser
VIEW IN TELEGRAM
Что если бы Java-разработчики могли создавать веб-приложения, не прибегая к помощи JavaScript? 🤔
👉
👉
🤫 Хочешь узнать секрет идеального стейка? 🥩
👀 Ищешь ресторан, где подают самый вкусный борщ? 🍲
✨ Тогда тебе точно к @singurman ! ✨
"Грешный Гурман" — это канал для тех, кто любит вкусно поесть! 😋
Мы раскроем тебе секреты самых вкусных блюд:
* 🤤 Научим готовить так, чтобы пальчики оближешь!
* 🕵️♀️ Найдем лучшие рестораны, которые скрыты от посторонних глаз.
* 🍷 Подскажем, с каким вином лучше сочетать определенные блюда.
"Грешный Гурман" - это не просто еда, это гастрономическое приключение! 🗺️
Подписывайся, чтобы получить доступ к эксклюзивным рецептам, рекомендациям и секретам от настоящих гурманов!
✨ Вкусно покушать - это святое! ✨
👀 Ищешь ресторан, где подают самый вкусный борщ? 🍲
✨ Тогда тебе точно к @singurman ! ✨
"Грешный Гурман" — это канал для тех, кто любит вкусно поесть! 😋
Мы раскроем тебе секреты самых вкусных блюд:
* 🤤 Научим готовить так, чтобы пальчики оближешь!
* 🕵️♀️ Найдем лучшие рестораны, которые скрыты от посторонних глаз.
* 🍷 Подскажем, с каким вином лучше сочетать определенные блюда.
"Грешный Гурман" - это не просто еда, это гастрономическое приключение! 🗺️
Подписывайся, чтобы получить доступ к эксклюзивным рецептам, рекомендациям и секретам от настоящих гурманов!
✨ Вкусно покушать - это святое! ✨
@glyanka_ru 👀 — твой карманный гид по миру умопомрачителных интерьеров. Зависть соседей обеспечена! Подписывайся!