2025/02/22 2

Day 139 - 취하여(취업을 위하여) 프로젝트 41%, 일정을 갈아엎다

[알림 기능 찾아 삼만리 Day 8 링크]  일정을 갈아엎었다. 알림 기능을 어디서부터 어떻게 손대야 할지 막막해서 멍때리다가 구현하고 싶은 대로 냅다 그림을 그렸다. 지금은 이메일 스케줄러(Email Scheduler)에 모든 로직이 담겼는데, 일단 하나씩 분리해 보기로 했다. 알림을 보내는 데 필요한 데이터를 이미 조회하니까, 조회해 온 데이터를 저장해두면 다양한 알림으로 보낼 수 있으니까, 지금 만들어준 로직을 재사용할 수 있지 않을까 싶었다.  이번 주 주말에는 로직을 분리하는 데에만 오롯이 시간을 쏟기로 했다. 원래 일정이 천근만근 돌덩이 같은 압박감으로 느껴져서 아무것도 제대로 해내지 못했다. 새로운 기술을 적용하기 전에 실시간 알림 기능을 우선 구현하고 다시 짜기로 했다. 이렇게 일정을 갈아..

2주 차: 알림 기능 찾아 삼만리 Day 8 - 데이터 조회 따로, 저장 따로, 전송 따로 나누면 어떨까?

[알림 기능 찾아 삼만리 Day 1 링크][알림 기능 찾아 삼만리 Day 2 링크][알림 기능 찾아 삼만리 Day 3 링크][알림 기능 찾아 삼만리 Day 4 링크][알림 기능 찾아 삼만리 Day 5 링크][알림 기능 찾아 삼만리 Day 6 링크][알림 기능 찾아 삼만리 Day 7 링크]현재 구현한 이메일 스케줄러는 다음과 같은 문제가 있었다.  (1) 한 스케줄러가 데이터 조회와 이메일 전송 두 가지를 모두 담당한다.현재 스케줄러는 데이터를 가져오고 그 데이터를 바로 이메일 전송에 활용하는 구조인데, 만약 이메일 전송에 시간이 오래 걸리면 스케줄러가 다시 작동할 때 작업이 서로 겹칠 위험이 있었다. 이 문제는 특히나 이메일을 대량으로 전송해야 할 때 더욱 심각해질 수 있었다. 현재 @Async 어노테이..