Ревью и рефактор логики для production-кода 👇
📦 Задание
Команда написала логику для отправки письма после регистрации пользователя. На проде иногда возникает ситуация, что письма приходят, а юзера в БД нет. Найдите проблему и исправьте:
@Service
@RequiredArgsConstructor
public class UserService {
private final UserRepository userRepository;
private final ApplicationEventPublisher eventPublisher;
@Transactional
public void register(UserDto dto) {
User user = new User(dto.email());
userRepository.save(user);
eventPublisher.publishEvent(new UserRegisteredEvent(user));
}
}
@Component
@RequiredArgsConstructor
public class EmailListener {
private final EmailSender emailSender;
private final SomeOtherService someOtherService;
@EventListener
public void onUserRegistered(UserRegisteredEvent event) {
emailSender.sendWelcome(event.user().getEmail());
someOtherService.doSomething();
}
}
🔹 Задачи
— Объяснить, при каком сценарии письмо уйдёт, а пользователь не сохранится
— Исправить код, чтобы событие обрабатывалось только после сохранения юзера
Ставьте → 🔥, если нравится формат. Если нет → 🌚
#practise
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍4❤3🤔1🌚1
Последний шанс: 3 курса по цене 1 и запуск AI-агентов в продакшн
На собеседованиях в энтерпрайз всё чаще всплывают вопросы про интеграцию
Обновлённая программа делает упор на жёсткий инжиниринг и вывод в прод. Вы научитесь строить ReAct-циклы, работать с
Почему нельзя откладывать:
— масштабная акция «3 курса по цене 1» сгорает уже сегодня;
— промокод
— сразу после оформления открываются материалы для подготовки — начать учиться можно прямо сейчас.
Забронировать место на курсе и забрать бонусы до конца дня
На собеседованиях в энтерпрайз всё чаще всплывают вопросы про интеграцию
Java-приложений с ИИ. Как маршрутизировать мультиагентные системы, контролировать затраты и строго соблюдать 152-ФЗ?Обновлённая программа делает упор на жёсткий инжиниринг и вывод в прод. Вы научитесь строить ReAct-циклы, работать с
LangGraph и AutoGen, внедрять продвинутый RAG, протоколы MCP и AgentOps. Все ключевые навыки в одном месте: измеримость систем, time-travel дебаггинг, управление браузером, human-in-the-loop и развёртывание в закрытых контурах.Почему нельзя откладывать:
— масштабная акция «3 курса по цене 1» сгорает уже сегодня;
— промокод
Agent на скидку 10 000 рублей действует последние часы;— сразу после оформления открываются материалы для подготовки — начать учиться можно прямо сейчас.
Забронировать место на курсе и забрать бонусы до конца дня
Проверяем динамику роста комьюнити :)
Ваш текущий грейд:
🔥 — Senior
👍🏼 — Middle
❤️ — Junior
😁 — Ещё учусь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30😁17🔥13❤10🌚2
Сервлет — это Java-класс, который о
Основная задача сервлета —
#CoreJava
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥1👏1
Это паттерн
Проблема: при сохранении данных в БД и отправке события в Kafka/RabbitMQ — эти две операции не атомарны. Возможны ситуации, когда данные сохранятся, но событие не уйдёт, либо наоборот.
Решение:
🔹 Ключевые свойства
—
—
—
#patterns
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🔥1
▪️ @Component вешается над
▪️ @Bean ставится над
@Bean полезен, когда:
—
—
Оба способа регистрируют бин в
#spring
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1👏1