본문 바로가기

DevLog4

[Programmers] 혼자 놀기의 달인 Lv2 (Java) 1. 문제 요약 및 풀이 구조 파악: 임의의 상자에서 시작하여 카드에 적힌 번호를 따라가며, 이미 열린 상자를 만날 때까지 반복하면하나의 그룹(사이클)이 형성된다. 모든 상자는 여러 개의 고정된 그룹으로 나뉜다.점수 계산: 1번 그룹의 크기 * 2번 그룹의 크기목표: 이 게임에서 얻을 수 있는 최고 점수를 구해야 한다. (모든 그룹 중 가장 큰 두 그룹의 크기를 곱한 값) 정답 코드import java.util.ArrayList;import java.util.Collections;class Solution { public int solution(int[] cards) { int N = cards.length; boolean[] opened = new boolean[N]; .. 2025. 10. 29.
🐱 github repository 로컬 프로젝트에 연결하기~ 새로운 프로젝트를 생성하고 깃허브 레포지토리에 연결하는게 한두번도 아닌데 매번 새롭다그러니 기록해야지 1단계: Git 초기화로컬 프로젝트 폴더가 Git으로 관리되게끔 Git 로컬 저장소로 초기화 한다.git init 2단계: 깃허브 원격 연결깃허브에서 생성한 레포지토리의 주소를 복사하여 로컬 저장소에 연결한다.git remote add origin [깃허브 레포지토리 URL]※ `origin`은 이 URL을 가리키는 별명(Alias)이다.원격 저장소 주소를 매번 입력하는 대신 `origin`이라고 부르기 위해 이름을 지정하는 것이다. 3단계: 파일 추가 및 커밋프로젝트 파일을 Git 스테이지 영역에 추가하고 로컬에 커밋한다.git add .git commit -m "init: 최초 commit"※ 프.. 2025. 10. 8.
🚨[JPA] LazyInitializationException: failed to lazily initialize a collection of role 1. 문제 상황Spring Boot + JPA 환경에서 온도 조회 API를 개발하던 중 아래와 같은 예외가 발생했다.failed to lazily initialize a collection of role: goorm.ddok.member.domain.User.positions: could not initialize proxy - no Session 즉, `User` 엔티티에서 연관된 컬렉션(positions)을 접근하려고 했는데 Hibernate 세션이 이미 닫혀 있어서 Lazy 로딩을 수행하지 못한 상황이다. --- 2. 원인 분석내 서비스 코드는 대략 이런 구조였다.public TemperatureMeResponse getMyTemperature(CustomUserDetails currentUser).. 2025. 9. 12.
🚨 Lombok @Builder 사용 시 JPA 컬렉션(List) NPE 문제와 해결 문제 상황Spring Boot + JPA 환경에서 엔티티를 작성하던 중, 연관관계 컬렉션(List)에 데이터를 추가하려고 할 때 NullPointerException이 발생했다. 에러 메시지:Cannot invoke "java.util.List.add(Object)" because the return value of "goorm.ddok.study.domain.StudyRecruitment.getTraits()" is null 엔티티에서는 이미 컬렉션을 new ArrayList()로 초기화해둔 상태였는데도, 서비스 로직에서 .add() 호출 시 NPE가 발생했다.원인문제의 핵심은 Lombok의 @Builder 동작 방식이다.@Builder는 필드 초기화식이 아닌, 생성자를 통해 객체를 생성한다.따라서 다.. 2025. 8. 24.