목록2025/09 (3)
KeepHunDev
안녕하세요 모수 백엔드 개발자 유지훈입니다. 최근에 발생했던 장애를 대응하면서 그동안 준비해왔던 소프트 스킬 능력이 향상됐다고 느낀 순간이 있어서 회고하려고 해요. 예상하지 못한 에러2025년 8월 27일 갑작스럽게 처음 보는 에러가 발생했습니다. DB JoinColum에서 중복되는 Id 입력의 시도가 발생했고, 트러블 슈팅을 진행하였습니다. 모니터링 CPU와 메모리, RPS가 평상시와 큰 차이가 없어서 DB 커넥션 풀에 대한 문제는 없다고 판단하였습니다. 코드를 보며 했던 생각@Transactionalpublic void registerProfile(Long userId, SignUpProfileRequest request) { UserJpaEntity user = userRepository.f..
데이터베이스 과제를 수행하며 간단한 파일 조인 로직을 구현할 기회가 있었습니다제공된 JOIN 코드는 데이터가 증가함에 따라 심각한 성능 저하를 유발합니다. 이 과정에서 문제의 원인을 분석하고 조인 최적화, JOIN 방법을 정리하려고 합니다 문제의 코드...BufferedReader br1 = new BufferedReader(new FileReader(rentedFileName));String line1 = null;// rented datawhile ( (line1 = br1.readLine()) != null) { String [] toks1 = line1.split(","); String personName1 = toks1[0]; // customer data BufferedR..
마감기한이 얼마 남지 않아 급급하게 팀원들의 코드 리뷰를 자세하게 하지 않다가, 멘토링 삭제 기능(소프트 딜리트)을 확장함에 있어 문제점을 발견하게 되었고, JPA 연관관계에 대한 생각 정리를 하게 되었습니다.- https://github.com/Ring-Us/ring-us-server/blob/main/src/main/java/es/princip/ringus/domain/mentor/Mentor.java 요구사항사용자는 여러 멘토에게 멘토링을 신청할 수 있다.유연한 비즈니스를 대처할 수 있을까?멘토링의 정보는 비즈니스적 로그가 될 가능성이 높습니다. 하지만 마감된 신청, 거절된 신청 어떤 정보를 로깅할지는 pm과 경영의 결정에 따라 변경 가능성이 매우 높습니다. 만약 CasecadeType.ALL, 고..