개발 일지 6

2주 차: 알림 기능 찾아 삼만리 Day 5 - 이메일 하나 보내는 데 7초씩이나 걸리면, 2,000명일 때는 얼마나 걸린단 소리지?

[인용 및 참고 자료]1. 구글 검색: 티스토리, "java.lang.Object org.hibernate.ScrollableResults.get(int)", 오류 해결하기, (2025.02.19)2. 구글 검색: 티스토리, "java.lang.Object org.hibernate.ScrollableResults.get(int)", 오류 해결하기, (2025.02.19)3. 구글 검색: QueryDSL GitHub, "java.lang.Object org.hibernate.ScrollableResults.get(int)", 오류 해결하기, (2025.02.19)4. 구글 검색: 정책 브리핑, "한국 실업자 수", 2024년 12월 및 연간 고용동향, (2025.02.19) [알림 기능 찾아 삼만리 Day..

2주 차: 알림 기능 찾아 삼만리 Day 4 - 팀장님, 우리 그냥 ZonedDateTime 말고 LocalDateTime 쓰면 안 돼요?

[인용 및 참고 출처]1. 구글 검색: MySQL 8.4 Reference Manua, "MySQL timestamp with time zone", 13.2.2 The DATE, DATETIME, and TIMESTAMP Types, (2025.02.18) [알림 기능 찾아 삼만리 Day 1 링크][알림 기능 찾아 삼만리 Day 2 링크][알림 기능 찾아 삼만리 Day 3 링크][깃허브(GitHub) 링크] '취하여(취업을 위하여)' 프로젝트는 현재 국내 채용 공고만 조회할 수 있지만, 언젠가 다른 나라의 채용 공고도 조회할 수 있도록 서비스를 개선할 생각을 염두에 두고 ZonedDateTime을 사용 중이었다. 어제에 이어 오늘은 한 번 조회한 채용 공고를 다시 조회하지 않도록 스프링 스케줄러(Spri..

2주 차: 알림 기능 찾아 삼만리 Day 3 - Spring Scheduler와 Spring Email로 이메일 보내기에 성공은 했는데

[인용 및 참고 출처]1. 구글 검색: Baeldung, "Spring Email", Guide to Spring Email, (2025.02.17)2. 구글 검색: 티스토리, "구글 SMTP 설정", Gmail SMTP로 메일 발송 설정하기, (2025.02.17)3. 구글 검색: velog, "구글 SMTP 설정", Gmail SMTP 설정으로 이메일 보내기, (2025.02.17) [알림 기능 찾아 삼만리 Day 1 링크][알림 기능 찾아 삼만리 Day 2 링크]더보기package com.project.cheerha.domain.notice.dto;import com.querydsl.core.annotations.QueryProjection;public record UserKeywordDto( ..

1주 차: 알림 기능 찾아 삼만리 Day 2 - Spring Scheduler를 어떻게 고칠지 다시 정리하다

[알림 기능 찾아 삼만리 Day 1 링크]더보기package com.project.cheerha.domain.notice;import com.project.cheerha.domain.notice.dto.JobOpeningDto;import com.project.cheerha.domain.notice.dto.JobOpeningKeywordDto;import com.project.cheerha.domain.notice.dto.UserDto;import com.project.cheerha.domain.notice.dto.UserKeywordDto;import com.project.cheerha.domain.notice.service.NoticeCreationService;import java.util.Arra..

1주 차: 알림 기능 찾아 삼만리 Day 1 - Spring Scheduler를 사용하다

'어떻게 채용 공고 목록을 가져오지?' 이메일 전송 기능을 구현하기 전에 우선 사용자가 등록한 기술 키워드가 포함된 채용 공고 목록부터 조회하기로 했다. ERD(Entity Relationship Diagram)을 바탕으로 조회 순서를 고려한 뒤, 저번 프로젝트에서 사용한 스프링 스케줄러(Spring Scheduler)를 활용하기로 했다. 이 기술에 익숙했에 빠르게 기능을 구현하고 성능 개선에 집중할 수 있을 듯했다. (1) UserKeyword 테이블에서 사용자가 등록한 키워드 식별자 목록 조회하기(2) JobOpeningKeyword 테이블에서 해당 키워드를 포함한 채용 공고 식별자 목록 조회하기(3) JobOpening 테이블에서 조회된 채용 공고 정보 조회하기 전체 흐름을 머릿속으로 정리한 뒤에는..

1주 차: SQL Error 1062: Duplicate entry '1-3' for key 'user_keyword

[문제]채용 공고에 있는 기술 스택(Tech Stack)을 키워드(Keyword)로 몇 개 넣은 다음, 사용자가 알림 받고자 하는 채용 키워드를 등록하는 API를 구현해서 Postman을 실행했더니 오류가 발생했다. 'Duplicate entry '1-3' for key 'user_keyword'// (a) 'user_keyword'라는 고유 키에 '1-3' 값이 중복되어 삽입됨// (b) 1: user_id 값 // (c) 3: keyword_id 값 [원인 및 해결 과정]더보기package com.project.cheerha.domain.keyword.entity;import com.project.cheerha.domain.user.entity.User;import jakarta.persistence..