개발 일지 18

4주 차: 알림 기능 찾아 삼만리 Day 21 - 이메일에 넣을 채용 공고 스무 개는 어떤 기준으로 뽑지?

[알림 기능 찾아 삼만리 링크 1주 차: (1) (2)][알림 기능 찾아 삼만리 링크 2주 차: (3) (4) (5) (6) (7) (8) (9) (10)][알림 기능 찾아 삼만리 링크 3주 차: (11) (12) (13) (14) (15) (16) (17) (18) (19) (20)][깃허브 링크]더보기package com.project.cheerha.domain.notification.service;import com.project.cheerha.domain.notification.dto.NotificationRecipientDto;import com.project.cheerha.domain.notification.entity.Notification;import com.project.cheerha.d..

4주 차: 알림 기능 찾아 삼만리 Day 20 - 아니, 이메일 안에 토글을 못 넣는 건 계획에 없었습니다만?

[알림 기능 찾아 삼만리 링크 1주 차: (1) (2)][알림 기능 찾아 삼만리 링크 2주 차: (3) (4) (5) (6) (7) (8) (9) (10)][알림 기능 찾아 삼만리 링크 3주 차: (11) (12) (13) (14) (15) (16) (17) (18) (19)]package com.project.cheerha.common.email.format;import com.project.cheerha.domain.notification.entity.Notification;import java.util.List;public class NotificationFormat { public static String[] createEmailNotification(List notificationList)..

4주 차: 알림 기능 찾아 삼만리 Day 19 - 아마도 마지막 리팩토링(Refactoring), 끝을 향하여 (2)

[알림 기능 찾아 삼만리 링크 1주 차: (1) (2)][알림 기능 찾아 삼만리 링크 2주 차: (3) (4) (5) (6) (7) (8) (9) (10)][알림 기능 찾아 삼만리 링크 3주 차: (11) (12) (13) (14) (15) (16) (17) (18)] '이메일 발송 로직을 분리해야 할까?' 이번에 '구현 사항 설명하기' 2회차 영상을 녹화할 때 '이메일 발송 로직 분리'를 첫 번째 기술적 의사결정으로 얘기하기로 했다. 왜 로직을 나누었으며, 나눌 때와 나누지 않을 때 장단점을 비교하고 어떤 이유로 로직을 나누었는지 설명하기로 했다. 새로운 기술 적용은 아니라서 '과연 이걸 기술적 의사결정이라고 할 수 있을까?' 의문이 들었지만, 오히려 가장 기초가 되는 기술적 의사결정이라는 피드백에 마..

4주 차: 알림 기능 찾아 삼만리 Day 18 - 아마도 마지막 리팩토링(Refactoring), 끝을 향하여 (1)

[알림 기능 찾아 삼만리 링크 1주 차: (1) (2)][알림 기능 찾아 삼만리 링크 2주 차: (3) (4) (5) (6) (7) (8) (9) (10)][알림 기능 찾아 삼만리 링크 3주 차: (11) (12) (13) (14) (15) (16) (17)] [TIL Day 149 - 중간 발표회 피드백 모음] 중간 발표회에 좋은 피드백을 받은 뒤, 팀에서는 남은 일정을 점검하고 계획을 조정하며 하루를 마무리했다. 5주 차는 사실상 문서 작성 및 발표 준비 기간이라서 이번 주에 최대한 개발 일정을 마쳐야 했다. 눈꺼풀 위에 돌덩이를 하나씩 얹은 양 계속 눈이 감겼지만, 더 나은 이메일 알림 기능을 만들기 전에 이름 변경 같은 리팩토링(refactoring)을 진행했다. 1. 이름 수정 [깃허브 링크]일..

4주 차: 알림 기능 찾아 삼만리 Day 17 - 내 사전에 줄 글 범벅 PPT는 없으니까!

[알림 기능 찾아 삼만리 링크 1주 차: (1) (2)][알림 기능 찾아 삼만리 링크 2주 차: (3) (4) (5) (6) (7) (8) (9) (10)][알림 기능 찾아 삼만리 링크 3주 차: (11) (12) (13) (14) (15) (16)] 개발 공부를 하면서 늘 발표하진 않았어도 항상 발표 자료를 제작하고 검토하고 수정했다. 이번 발표 순서는 특히나 맨 끝이라, 최대한 모두의 집중력을 끌어올릴 수 있는 방향으로 PPT를 제작했다. '인상 깊은 발표' 또한 개발에서 중요한 부분이라고 생각하는 만큼, 이번에 공들인 PPT를 정리했다.▶ 유리잔은 Canva의 왼쪽에 있는 'Elements'에 'celebration'을 검색하여 사용했다. 사진처럼 보이지만 사실 움직인다. 목차는 마찬가지로 왼쪽에 ..

3주 차: 알림 기능 찾아 삼만리 Day 16 - 다양한 일을 겪은 덕분에 '구현 사항 설명하기' 대본이 20분가량 나왔습니다

[알림 기능 찾아 삼만리 링크 1주 차: (1) (2)][알림 기능 찾아 삼만리 링크 2주 차: (3) (4) (5) (6) (7) (8) (9) (10)][알림 기능 찾아 삼만리 링크 3주 차: (11) (12) (13) (14) (15)]채우기 쉽지 않은 20분을 최대한 더듬거리지 않고 채우려면 문장 길이가 짧아야 했다. 어떤 글을 쓸 때든 항상 한 줄씩 띄어 쓰면 길이가 한눈에 들어왔다. 혹시 나중에 면접 준비할 때 도움이 될지 모르니, 오늘 20분짜리 영상을 제출한 김에 정리했다. 1. 🌟 소개더보기您好,我是翻译人和计算机语言的开发者申智贤。안녕하십니까.사람뿐만 아니라 컴퓨터 언어를 번역하며 언어 사랑을 키워나가는 개발자, 신지현입니다.지금까지 이메일 알림 기능을 구현하면서 겪은 시행착오를 공유해 ..

3주 차: 알림 기능 찾아 삼만리 Day 12 - 이상하다, 별로 한 일이 없는 줄 알았는데 정리가 왜 안 끝나죠?

[알림 기능 찾아 삼만리 링크 1주 차: (1) (2)][알림 기능 찾아 삼만리 링크 2주 차: (3) (4) (5) (6) (7) (8) (9) (10)][알림 기능 찾아 삼만리 링크 3주 차: (11)] 팀에서 중간 발표회 대비 여태까지 한 일을 서로 발표하는 시간을 갖기로 했다. 원래 목요일에 예정되었으나 하루 앞당겨진 만큼, 여태까지 작성한 개발 일지를 바탕으로 발표회 대비 자료를 정리했다. 코드 작성 못지않게 여태까지 무엇을 했는지 정리하는 일 또한 개발의 중요한 일부분이라고 생각했다. 오늘 하루는 경쟁하듯 튀어 오르는 생각을 가지치기하는 시간으로 보냈다. 1. 🔑 주요 기능(1) 한 줄 소개Spring Scheduler + SendGrid API를 사용하여 하루에 한 번 사용자들에게 맞춤형 ..

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 ..

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

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

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..