전체 글 210

Day 144 -취하여(취업을 위하여) 프로젝트 56%, '고생'을 기록한 덕에 영화 한 편 뚝딱 나왔잖아, 즐거운 그리기 시간을 보내다

1. 프로젝트 진행 상황 및 계획 🥇 여태까지 작성한 문서를 구현 사항 템플릿에 맞추어 다듬고 대본 작성하기 (진행 전, 2025.02.28 점심 전 완료 목표)🥈 내일 저녁 9시 전까지 20분 내외로 구현 사항 설명하는 영상 녹화 및 제출하기 (진행 전, 2025.02.28 완료 목표)🥉 내일 저녁 9시 전까지 중간 발표회 PPT 제작 후 제출하기 (진행 중, 2025.02.28 완료 목표)4️⃣ 이메일 알림 전송 서비스 3차 리팩토링(refactoring)하기 (진행 전, 2025.03.02 완료 목표)5️⃣ 기획서 작성하기 (진행 전, 2025.03.02 완료 목표)6️⃣ 팀원이 작성한 리드미(README) 초안 수정하기 (진행 전, 2025.03.02 완료 목표)7️⃣ 사용자 500명, 일치..

Day 143 - 취하여(취업을 위하여) 프로젝트 52%, 문서 3매경: 피드백 두 편에 중간 발표회 자료까지 하루 만에

1. 프로젝트 진행 상황 및 계획 🥇 내일 예정된 중간 발표회 전 예비 발표회 자료 준비하기 (완료) 🥈 이메일 알림 전송 서비스 3차 리팩토링(refactoring)하기 (진행 전, 2025.03.02 완료 목표)🥉 FCM(Firebase Cloud Messaging)을 활용하여 핸드폰으로 푸시(Push) 알림 받기 (진행 중, 2025.03.02 완료 목표)4️⃣ 사용자 500명, 일치하는 키워드 1개, 채용 공고 1,000건으로 이메일을 보낸 다음 발생하는 문제 파악하기 (진행 전, 2025.03.02 완료 목표) 5️⃣ 기획서 작성하기 (진행 전, 2025.03.02 완료 목표) 2. 문서 3매경: 피드백 두 편에 중간 발표회 자료까지 하루 만에 작성했다.(1) 알림 기능 찾아 삼만리 Day..

Day 142 - 취하여(취업을 위하여) 프로젝트 48%, 이메일을 못 보내는 줄 알고 심장 철렁 내려앉은 날

1. 프로젝트 진행 상황 및 계획 🥇 내일 예정된 중간 발표회 전 예비 발표회 자료 준비하기 (진행 중, 2025.02.26 완료 목표) 🥈 FCM(Firebase Cloud Messaging)을 활용하여 핸드폰으로 푸시(Push) 알림 받기 (진행 중, 2025.03.02 완료 목표)🥉 사용자 500명, 일치하는 키워드 1개, 채용 공고 1,000건으로 이메일을 보낸 다음 발생하는 문제 파악하기 (진행 전, 2025.03.02 완료 목표)  4️⃣ 기획서 작성하기 (진행 전, 2025.03.02 완료 목표)  2. 이메일을 못 보내는 줄 알고 심장이 철렁 내려앉았다.(1) 알림 기능 찾아 삼만리 Day 11 (2) 깃허브(GitHub) 링크: (1) (2) (3) 이렇게 가슴 졸인 순간 또한 개발..

3주 차: 알림 기능 찾아 삼만리 Day 11 - 안녕, 지메일! 'Too many login attempts'에 질려서 SendGrid로 갈아탄다!

[인용 및 참고 출처]1. 구글 검색: Google Help, "Too many login attemps 454 google", Community, (2025.02.25) 2. 구글 검색: Google Help, "Too many login attemps 454 google", Community, (2025.02.25) 3, 구글 검색: Google Help, "Too many login attempts 454 error codes", Gmail SMTP errors and codes, (2025.02.25)4. 구글 검색: 티스토리, "SendGrid Spring", Spring Boot에서 SendGrid로 이메일 전송하기, (2025.02.25)5. 구글 검색: Baeldung, "SendGrid ..

Day 141 - 취하여(취업을 위하여) 프로젝트 44%, 눈물 젖은 알림 기능, 맨땅에 박치기하니 아플 수밖에

1. 프로젝트 진행 상황 및 계획 🥇 FCM(Firebase Cloud Messaging)을 활용하여 핸드폰으로 푸시(Push) 알림 받기 (진행 중, 2025.02.26 완료 목표)🥈 사용자 500명, 일치하는 키워드 1개, 채용 공고 1,000건으로 이메일을 보낸 다음 발생하는 문제 파악하기 (진행 중, 2025.02.25 완료 목표)🥉 기획서 작성하기 (진행 전, 2025.02.25 완료 목표)  2. 눈물 젖은 알림 기능이었다, 맨땅에 박치기하며 공들인(1) 알림 기능 찾아 삼만리 Day 10(2) 깃허브(GitHub) 링크 '밑바닥부터 하나씩 해 가는 지금 방향이 과연 옳은가?' '이렇게 헤맬 시간에 새로운 기술을 써봐야 하지 않나?' 스스로 이렇게 눈물샘이 메마르지 않은 사람일 줄은 꿈에..

3주 차: 알림 기능 찾아 삼만리 Day 10 - 로직 나누기는 마치 원심분리기 같아요. 영혼까지 분리될 뻔했거든요 (2)

[알림 기능 찾아 삼만리 Day 1 링크][알림 기능 찾아 삼만리 Day 2 링크][알림 기능 찾아 삼만리 Day 3 링크][알림 기능 찾아 삼만리 Day 4 링크][알림 기능 찾아 삼만리 Day 5 링크][알림 기능 찾아 삼만리 Day 6 링크][알림 기능 찾아 삼만리 Day 7 링크][알림 기능 찾아 삼만리 Day 8 링크][알림 기능 찾아 삼만리 Day 9 링크] 천만다행으로 준실시간 알림 기능을 구현할 틀을 마련했다. 로직 나누기에 가까스로 성공했다. 알림이란 객체를 만들어서 이메일 전송이나 푸시(Push) 알림 등등 다양한 알림 기능을 구현할 때 활용하고 싶었고, 알림을 읽었는지 또는 언제 읽었는지를 확인할 수 있다면, 나중에 또 의미 있는 정보를 얻을 수 있을 듯했다. 물론 이 알림 객체는 전..

Day 140 - 취하여(취업을 위하여) 프로젝트 42%, 이 상태로 알림 기능 구현 못 하면 어떡하지?

[알림 기능 찾아 삼만리 Day 9][깃허브(GitHub) 링크] '이 상태로 알림 기능 구현 못 하면 어떡하지?' 주말 내내 불안감에 시달려서 아예 마음 놓고 푹 쉬지도, 그렇다고 알림 기능 구현에 별다른 진척을 보이지도 못했다. 사다리 타기를 할 때 왜 알림 기능이 걸리면 좋겠다고 빌었을까. 맨 처음 프로젝트 할 때 기능마다 얼마나 힘든지 빨리 알아볼걸.  이메일 한 개 보내는 데도 일주일이나 걸렸는데 못 하면 어떡해.  다른 팀원이 알림을 맡았으면 실시간 알림까지 진작 구현했겠다. '내일 데일리 스크럼 때 팀한테는 여태껏 뭐 했다고 말해야 하지?'일단 내일은 어떻게든 실시간이든 준실시간이든 알림 기능을 추가로 구현하기를 목표로 잡아야겠다. 이번 주에 중간 발표회 전 팀 안에서 미리 발표회를 진행할 ..

2주 차: 알림 기능 찾아 삼만리 Day 9 - 로직 나누기는 마치 원심분리기 같아요. 영혼까지 분리될 뻔했거든요 (1)

[알림 기능 찾아 삼만리 Day 1 링크][알림 기능 찾아 삼만리 Day 2 링크][알림 기능 찾아 삼만리 Day 3 링크][알림 기능 찾아 삼만리 Day 4 링크][알림 기능 찾아 삼만리 Day 5 링크][알림 기능 찾아 삼만리 Day 6 링크][알림 기능 찾아 삼만리 Day 7 링크][알림 기능 찾아 삼만리 Day 8 링크][깃허브(GitHub) 링크]더보기package com.project.cheerha.domain.notice.entity;import jakarta.persistence.Column;import jakarta.persistence.Entity;import jakarta.persistence.GeneratedValue;import jakarta.persistence.Generatio..

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 어노테이..