본문 바로가기
패스트캠퍼스 환급챌린지

패스트캠퍼스 환급챌린지 10일차 : 코드팩토리의 백엔드 아카데미 : 한 번에 끝내는 NestJS 패키지 - 기초부터 MSA까지 강의 후기

by 논문보관함 2025. 3. 14.

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://bit.ly/4hTSJNB

 

커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스

성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.

fastcampus.co.kr

0314금요일

 

이번 학습에서는 One to One Relationship을 활용하여 객체를 생성(Create), 조회(Read), 수정(Update), 삭제(Delete)하는 작업을 수행해보았습니다. 또한, Cascade 옵션을 적용하여 관계된 객체 간의 동작을 더욱 효율적으로 관리하는 방법을 학습하였습니다.

학습 내용 정리

  1. One to One Relationship 객체 생성: 단일 객체 간 1:1 관계를 설정하고, 이를 데이터베이스에 저장하는 방법을 익혔습니다.
  2. One to One Relationship Read 작업: 생성된 객체를 조회하고, 관련 데이터를 불러오는 과정을 실습하였습니다.
  3. One to One Relationship Update 작업: 기존 객체의 데이터를 수정하고, 변경 사항을 반영하는 방법을 학습하였습니다.
  4. One to One Relationship Delete 작업: 필요 없는 데이터를 삭제하고, 관계가 설정된 객체의 영향도를 고려하는 작업을 수행하였습니다.
  5. Cascade 옵션 사용: 객체 간 연관 관계를 유지하면서 삭제나 업데이트 시 자동으로 반영되도록 설정하는 방법을 실습하였습니다.
  6. Director 엔드포인트 생성 : Movie를 찍는 감독의 OneToMany 관계를 연결하기위해 생성.

학습후기

이번 강의를 통해 One to One Relationship을 실무에서 어떻게 활용할 수 있는지 깊이 이해할 수 있었습니다. 단순히 관계형 데이터베이스에서 1:1 관계를 설정하는 방법을 배우는 것에 그치지 않고, 객체 생성(Create), 조회(Read), 수정(Update), 삭제(Delete) 과정에서 발생할 수 있는 다양한 이슈를 직접 해결해보는 경험을 했습니다. 특히, Cascade 옵션을 적절히 활용하여 연관된 데이터를 효율적으로 관리하는 방법이 인상적이었습니다.

처음에는 One to One Relationship이 단순한 개념처럼 보였지만, 실무에서 적용하려다 보니 여러 가지 고려해야 할 사항들이 많았습니다. 예를 들어, 특정 데이터를 삭제할 때 관계된 객체를 어떻게 처리할 것인지, 데이터 조회 시 성능 최적화를 위해 어떤 전략을 사용할 것인지 등이 실제 서비스에서는 중요한 요소로 작용한다는 점을 체감할 수 있었습니다.

또한, 강의를 들으면서 프론트엔드와 백엔드 간의 데이터 구조 정의가 얼마나 중요한지를 다시 한번 깨닫게 되었습니다. API를 설계할 때 데이터 모델이 프론트엔드에서 효율적으로 활용될 수 있도록 고려해야 하며, 초기 설계 단계에서부터 양측의 요구사항을 명확히 조율하는 것이 필수적이라는 점을 배웠습니다. 데이터 관계 설정이 단순한 설계 요소가 아니라, 시스템 전반의 성능과 유지보수성에 직결된다는 점이 가장 인상 깊었습니다.

강의에서 실습한 MovieService 코드 분석도 매우 유익했습니다. 실제 NestJS 환경에서 One to One Relationship을 적용하면서, 단순한 개념 이해를 넘어 실무적인 활용법까지 익힐 수 있었습니다. 특히, 다음과 같은 부분이 기억에 남습니다.

  1. 객체 생성 시 Cascade 옵션 활용
    • Movie와 MovieDetail을 연결하면서, 한 번의 저장으로 두 개의 객체를 함께 관리할 수 있도록 설정한 부분이 인상적이었습니다.
  2. 조회 시 관계 데이터를 함께 불러오는 방법
    • relations: ['detail'] 옵션을 활용하여 한 번의 쿼리로 필요한 데이터를 효율적으로 가져오는 방식이 실무에서도 매우 유용할 것이라 생각되었습니다.
  3. 수정 시 객체를 분리하여 업데이트하는 전략
    • One to One Relationship에서도 필요한 부분만 업데이트하는 것이 중요하며, 무조건 전체 데이터를 갱신하는 것이 최선이 아닐 수 있다는 점을 배웠습니다.
  4. 삭제 시 관계된 데이터 처리 방법
    • 데이터 삭제 시 외래 키(Foreign Key) 제약 조건을 고려하여 Cascade 옵션을 적절히 설정하는 것이 중요하다는 점을 깨달았습니다.

이번 학습을 통해 단순한 관계형 데이터 설계를 넘어, 실제 서비스에서 관계형 모델을 어떻게 활용할 것인지에 대한 실질적인 감각을 익힐 수 있었습니다. 앞으로는 더 복잡한 데이터 모델을 설계할 때도 성능 최적화와 데이터 일관성을 유지하는 방향으로 접근하려 합니다. 또한, 다양한 실무 환경에서 One to One Relationship이 언제 적절하게 사용될 수 있는지 고민하고, 다른 관계형 모델(One to Many, Many to Many)과의 비교를 통해 최적의 데이터 구조를 설계하는 역량을 키워나가고 싶습니다.

이번 강의를 통해 단순한 개념을 넘어 실무에서 고려해야 할 사항들을 깊이 이해할 수 있었으며, 앞으로 프로젝트에 적극적으로 적용해볼 계획입니다.

사진

시작시간
종료시간
수강클립
결과물