Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

♻️ refactor: rss 도메인 repository 함수 재사용성 향상, 테스트 코드 일관성, 최적화 #17

Merged
merged 8 commits into from
Jan 14, 2025

Conversation

Jo-Minseok
Copy link
Collaborator

🔨 테스크

TypeORM insert vs save 차이

save 동작 원리

  1. SELECT 쿼리를 통해 엔티티 객체에 정의된 PK를 사용하여 DB 내 엔티티 존재 여부를 확인한다.
  2. 없을 경우 INSERT를 수행한다.
  3. 있을 경우 UPDATE를 수행한다.
  4. 변경 또는 삽입된 데이터를 SELECT로 조회해서 엔티티로 반환한다.

insert 동작 원리

  1. 냅다 넣는다.
  2. 메타 정보만 반환한다.

결론: insert가 성능이 빠르다. 다만, 반환되어야 하는 엔티티가 필요하다면 save를 사용해야 한다.

from 함수 제거

  • 다른 DTO들은 전부 생성자로 구현되어 있는데, RssRegisterRequestDto만 from 함수가 존재했다.
  • 테스트 코드 때문에 원본 코드에 테스트를 위한 특수 함수가 존재하는 건 오히려 원본 코드에 혼란을 주는 느낌이 들었다. 어디서 사용했는지 사용처를 알아야 하는데, 테스트에 있는 게 이상하다고 판단했다.

📋 작업 내용

  • typeorm save -> insert로 변경하여 성능 개선
  • 테스트 코드 픽스처 라인 정리
  • from 함수 제거
  • 필요없는 return 제거
  • rss 도메인 repository 재사용 가능하도록 개별 변수 인자로 변경

@Jo-Minseok Jo-Minseok added 🔨 Refactor 리팩토링 (구조 변경) ✅ Test 테스트 관련 (storybook, vitest, jest 등) labels Jan 14, 2025
@Jo-Minseok Jo-Minseok requested a review from asn6878 January 14, 2025 07:42
@Jo-Minseok Jo-Minseok self-assigned this Jan 14, 2025
@Jo-Minseok Jo-Minseok requested a review from CodeVac513 January 14, 2025 07:42
@Jo-Minseok Jo-Minseok changed the title Refactor/repository-reuse-rss ♻️ refactor: rss 도메인 repository 함수 재사용성 향상 Jan 14, 2025
@Jo-Minseok Jo-Minseok changed the title ♻️ refactor: rss 도메인 repository 함수 재사용성 향상 ♻️ refactor: rss 도메인 repository 함수 재사용성 향상, 테스트 코드 일관성, 최적화 Jan 14, 2025
Copy link
Collaborator

@CodeVac513 CodeVac513 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! 수고 많으셨습니다!

Copy link
Member

@asn6878 asn6878 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

말씀하신대로 잘 작업 해주셔서 감사합니다.
고생하셨어요!

@Jo-Minseok Jo-Minseok merged commit 353d807 into main Jan 14, 2025
1 check passed
@Jo-Minseok Jo-Minseok deleted the refactor/repository-reuse-rss branch January 14, 2025 10:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🔨 Refactor 리팩토링 (구조 변경) ✅ Test 테스트 관련 (storybook, vitest, jest 등)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants