Skip to content

Conversation

@seungzzok
Copy link
Member

Close #40

API Docs

✴️ request

  • 1
  • 2

✅ response

  • 1
  • 2

Comment

  • 예시

- 변경 내용: entity -> dto 디렉토리로 위치 이동
- 이유: entity는 DB의 테이블과 매칭되는 JPA 객체를 다루는 디렉토리이기 때문에, 단순히 코드 안에서 사용되는 local 디렉토리는 dto 디렉토리가 더 적합할거라고 생각
- 변경 이유: entity와 Dto를 구별하기 위해서
- entity는 기본 클래스명이고 Dto로 끝나는 클래스들은 전부 dto로 분류
- 문제1: keyword text를 기준으로 처리하다 보니 중복 충돌 상황 발생
- 문제2: question을 text기반으로 DB 데이터와 일일이 비교하다 보니 불필요한 연산이 과도하게 발생
- 해결1-1: keywordId를 specialQuestionDto의 필드로 추가해서 모든 비교 관리를 id를 기준으로 진행
- 해결1-2: keywordId를 null로 받는 경우 새로 생성한 keyword임을 구별
- 해결2-1: request와 DB 데이터값의 질문 리스트들을 순서대로 한번만 비교한 후 생성, 수정을 한번에 진행
- 해결2-2: Map 자료구조와 groupingBy를 이용해서 keywordId를 기반의 QuestionList 조회를 시간복잡도 O(1)로 변경
- 추가 변경사항
- 질문 조회 메서드를 재사용해서 질문 수정 메서드의 중복코드 제거
- 일일이 DB에 접근하는 것이 아니라 deleteAll, saveAll 등을 사용해 일괄적으로 DB에 접근
@seungzzok seungzzok added 🔨 Refactor 코드 리팩토링 📬 API 서버 API 통신 labels Apr 23, 2025
@seungzzok seungzzok self-assigned this Apr 23, 2025
@seungzzok seungzzok linked an issue Apr 23, 2025 that may be closed by this pull request
@seungzzok seungzzok merged commit ee0adc1 into main Apr 23, 2025
1 check passed
@seungzzok seungzzok deleted the 40-질문-관리-에러-수정 branch April 23, 2025 14:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📬 API 서버 API 통신 🔨 Refactor 코드 리팩토링

Projects

None yet

Development

Successfully merging this pull request may close these issues.

질문 관리 에러 수정

2 participants