В каком случае использование @Transactional(propagation = REQUIRES_NEW) оправдано?
👍🏼 Когда нужно записать лог или аудит независимо от основной транзакции, даже если она откатится.
🔥 Когда нужно ускорить выполнение вложенной операции, параллельно с основной.
👾 Когда требуется объединить несколько операций в одну большую транзакцию.
⚡️ Когда важно, чтобы откат внешней транзакции автоматически откатывал все вложенные.
🐸 Библиотека задач по Java
👍🏼 Когда нужно записать лог или аудит независимо от основной транзакции, даже если она откатится.
🔥 Когда нужно ускорить выполнение вложенной операции, параллельно с основной.
👾 Когда требуется объединить несколько операций в одну большую транзакцию.
⚡️ Когда важно, чтобы откат внешней транзакции автоматически откатывал все вложенные.
Please open Telegram to view this post
VIEW IN TELEGRAM
Что будет результатом кода?
👍🏼 — Shape
🔥 — Circle
👾 — Ошибка компиляции
⚡️ — null
🐸 Библиотека задач по Java
👍🏼 — Shape
🔥 — Circle
👾 — Ошибка компиляции
⚡️ — null
Please open Telegram to view this post
VIEW IN TELEGRAM
Ежемесячный опрос по грейдам. Проверим, стало ли среди нас больше
Ваш грейд:
🔥 — Senior
👍🏼 — Middle
❤️ — Junior
😁 — Ещё учусь
Please open Telegram to view this post
VIEW IN TELEGRAM
Что будет результатом кода?
👍🏼 — Ошибка компиляции
🔥 — null
👾 — IndexOutOfBoundsException
⚡️ — 3
🐸 Библиотека задач по Java
👍🏼 — Ошибка компиляции
🔥 — null
👾 — IndexOutOfBoundsException
⚡️ — 3
Please open Telegram to view this post
VIEW IN TELEGRAM
Что будет результатом запуска приложения?
👍🏼 — Пользователь будет создан, транзакция успешно откроется и закроется.
🔥 — Пользователь будет создан, но метод выполнится без транзакции.
👾 — TransactionRequiredException
⚡️ — BeanCreationException
🐸 Библиотека задач по Java
👍🏼 — Пользователь будет создан, транзакция успешно откроется и закроется.
🔥 — Пользователь будет создан, но метод выполнится без транзакции.
👾 — TransactionRequiredException
⚡️ — BeanCreationException
Please open Telegram to view this post
VIEW IN TELEGRAM
Чем @Bean отличается от @Component?
👍🏼 — @Bean используется для конфигурации классов, а @Component — для конфигурации методов
🔥 — @Bean автоматически сканируется Spring, @Component — только вручную
👾 — @Bean используется для регистрации бина вручную в @Configuration классе, @Component — для автоматического сканирования классов.
⚡️ — @Bean создаёт singleton, а @Component — prototype по умолчанию
🐸 Библиотека задач по Java
👍🏼 — @Bean используется для конфигурации классов, а @Component — для конфигурации методов
🔥 — @Bean автоматически сканируется Spring, @Component — только вручную
👾 — @Bean используется для регистрации бина вручную в @Configuration классе, @Component — для автоматического сканирования классов.
⚡️ — @Bean создаёт singleton, а @Component — prototype по умолчанию
Please open Telegram to view this post
VIEW IN TELEGRAM
Что будет результатом запуска и обращения на /orders?
👍🏼 — 4хх Ошибка
🔥 — 5хх Ошибка
👾 — Ошибка компиляции
⚡️ — RuntimeException
🐸 Библиотека задач по Java
👍🏼 — 4хх Ошибка
🔥 — 5хх Ошибка
👾 — Ошибка компиляции
⚡️ — RuntimeException
Please open Telegram to view this post
VIEW IN TELEGRAM
Вы разрабатываете публичное REST API. Через год вам нужно выпустить новую версию с изменённой структурой ответа. Какой из следующих подходов к версионированию наиболее подходит для обеспечения обратной совместимости и наименьшего влияния на существующих клиентов?
👍🏼 — Заменить текущие endpoints на новую структуру, чтобы все клиенты автоматически обновились
🔥 — Добавить query-параметр
👾 — Ввести новую версию через URL, например:
⚡️ — Изменить структуру ответа без изменения URL и задокументировать изменения в README
🐸 Библиотека задач по Java
👍🏼 — Заменить текущие endpoints на новую структуру, чтобы все клиенты автоматически обновились
🔥 — Добавить query-параметр
?version=2
ко всем новым вызовам API👾 — Ввести новую версию через URL, например:
/v2/users
параллельно с /v1/users
⚡️ — Изменить структуру ответа без изменения URL и задокументировать изменения в README
Please open Telegram to view this post
VIEW IN TELEGRAM
Что будет результатом кода?
👍🏼 — Hello, world! Hello, world!
🔥 — Hello, world! Hello, world! * С отступом слева
👾 — Ошибка компиляции
⚡️ — RuntimeException
🐸 Библиотека задач по Java
👍🏼 — Hello, world! Hello, world!
🔥 — Hello, world! Hello, world! * С отступом слева
👾 — Ошибка компиляции
⚡️ — RuntimeException
Please open Telegram to view this post
VIEW IN TELEGRAM
Какие из следующих классов являются потокобезопасными?
👍🏼 — HashMap, ArrayList, CopyOnWriteArrayList, ConcurrentHashMap
🔥 — ConcurrentHashMap, CopyOnWriteArrayList
👾 — HashMap, ConcurrentHashMap, CopyOnWriteArrayList
⚡️ — ArrayList, CopyOnWriteArrayList, ConcurrentHashMap
🐸 Библиотека задач по Java
👍🏼 — HashMap, ArrayList, CopyOnWriteArrayList, ConcurrentHashMap
🔥 — ConcurrentHashMap, CopyOnWriteArrayList
👾 — HashMap, ConcurrentHashMap, CopyOnWriteArrayList
⚡️ — ArrayList, CopyOnWriteArrayList, ConcurrentHashMap
Please open Telegram to view this post
VIEW IN TELEGRAM
Ваше мнение по контенту:
🔥 — Всё супер
👍🏼 — Нормально
😁 — Есть предложения по улучшению (в комменты)
Please open Telegram to view this post
VIEW IN TELEGRAM
Что будет результатом кода?
👍🏼 — {apple=10, banana=3, orange=24}
🔥 — {apple=15, banana=3, orange=24, grape=7}
👾 — {apple=15, banana=3, orange=11}
⚡️ — {apple=10, banana=3, orange=24, grape=7}
🐸 Библиотека задач по Java
👍🏼 — {apple=10, banana=3, orange=24}
🔥 — {apple=15, banana=3, orange=24, grape=7}
👾 — {apple=15, banana=3, orange=11}
⚡️ — {apple=10, banana=3, orange=24, grape=7}
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое Java Memory Model (JMM)?
👍🏼 — Модель, описывающая организацию физической памяти компьютера.
🔥 — Набор правил и спецификаций, определяющих, как потоки в Java взаимодействуют через общую память
👾 — Технология автоматической очистки памяти от неиспользуемых объектов
⚡️ — Средство для профилирования потребления памяти Java-приложением
🐸 Библиотека задач по Java
👍🏼 — Модель, описывающая организацию физической памяти компьютера.
🔥 — Набор правил и спецификаций, определяющих, как потоки в Java взаимодействуют через общую память
👾 — Технология автоматической очистки памяти от неиспользуемых объектов
⚡️ — Средство для профилирования потребления памяти Java-приложением
Please open Telegram to view this post
VIEW IN TELEGRAM
Что будет результатом кода?
👍🏼 — Parent
🔥 — Child
👾 — ParentChild
⚡️ — RuntimeException
🐸 Библиотека задач по Java
👍🏼 — Parent
🔥 — Child
👾 — ParentChild
⚡️ — RuntimeException
Please open Telegram to view this post
VIEW IN TELEGRAM
📦 Главные проблемы распределенных систем (и способы их решения)
Распределенные системы являются основой высоконагруженных веб-приложений, обеспечивая их масштабируемость, отказоустойчивость и высокую производительность. Однако их разработка сопряжена с рядом сложностей, включая сетевые сбои, трудности координации, угрозы безопасности и проблемы масштабирования.
➡️ В этой статье мы рассмотрим четыре ключевых вызова в разработке таких систем и эффективные методы их преодоления.
🐸 Библиотека программиста
Распределенные системы являются основой высоконагруженных веб-приложений, обеспечивая их масштабируемость, отказоустойчивость и высокую производительность. Однако их разработка сопряжена с рядом сложностей, включая сетевые сбои, трудности координации, угрозы безопасности и проблемы масштабирования.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека джависта | Java, Spring, Maven, Hibernate
💼⌛️ ТОП-5 причин, почему программист не может долго найти работу
Почему некоторые разработчики остаются "между работами" месяцы?
Не всегда дело в нехватке вакансий или «рынок просел». Часто дело в подходе к поиску проекта. Вроде бы есть опыт, стек, даже pet-проекты, но офферов всё нет.
Часто корень проблемы — неумение продать себя правильно. Отказ выполнять тестовые задания, считая их ненужными или обидными. Кроме того, нежелание рассматривать стажировки как стартовую площадку для получения опыта и расширения профессиональных связей также может замедлить процесс трудоустройства. И это далеко не все возможные причины.
🔗 Подробнее в статье
🐸 Библиотека джависта
Почему некоторые разработчики остаются "между работами" месяцы?
Не всегда дело в нехватке вакансий или «рынок просел». Часто дело в подходе к поиску проекта. Вроде бы есть опыт, стек, даже pet-проекты, но офферов всё нет.
Часто корень проблемы — неумение продать себя правильно. Отказ выполнять тестовые задания, считая их ненужными или обидными. Кроме того, нежелание рассматривать стажировки как стартовую площадку для получения опыта и расширения профессиональных связей также может замедлить процесс трудоустройства. И это далеко не все возможные причины.
Please open Telegram to view this post
VIEW IN TELEGRAM
Как работает @Scope("prototype") в Spring?
👍🏼 — Бин создается один раз на каждый HTTP-запрос
🔥 — Каждый вызов getBean() создает новый объект
👾 — Бин создается один раз на все приложение
⚡️ — Используется только для компонентов с @Service
🐸 Библиотека задач по Java
👍🏼 — Бин создается один раз на каждый HTTP-запрос
🔥 — Каждый вызов getBean() создает новый объект
👾 — Бин создается один раз на все приложение
⚡️ — Используется только для компонентов с @Service
Please open Telegram to view this post
VIEW IN TELEGRAM
Какие темы в этом месяце использовать для постов чаще:
🔥 — Java core
👍🏼 — Spring
👾 — Паттерны
😁 — Напишу в комменты свой вариант
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код для записей, где поле age равно NULL?
Anonymous Quiz
15%
SQLException
36%
NullPointerException
19%
0
21%
null
9%
Такие записи будут исключены из выборки