본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
온라인 강의 7주년 기념 1+1 이벤트 특별 연장! (3/10~3/12) | 패스트캠퍼스
단 3일! 미션, 리뷰, 인증 NO! 강의 사면 무.조.건 1+1 쿠폰 증정🎉
fastcampus.co.kr
0312 화요일
내용정리
Advanced Option
통계 쿼리 이론
ORM에서 제공하는 find(), save(), update() 등은 비동기로 async 와 await 꼬박꼬박 잘 써주기
비동기 동기 방식
this.movieRepository.find() ---> Promise 객체 반환
---> (아직 DB 조회 진행 중, 결과값은 준비되지 않음)
함수에서 Promise 그대로 return ---> JSON 변환 시 {} 로 표시
(Promise 내부에 최종 데이터가 없어서 비어있게 보임)
DB 조회 완료 ---> Promise가 ‘이행(Resolved)’ 상태로 바뀜
---> 실제 조회된 데이터가 Promise 안에 담김
await 사용 시 ---> Promise가 이행될 때까지 대기
---> 최종 데이터를 받고 나서 반환 가능
Entity Embedding
Entity Inheritance
학습후기
오늘 강의에서는 Advanced Option, 통계 쿼리 이론, Entity Embedding, Entity Inheritance 등 현대 ORM의 다양한 측면을 심도 있게 다루었습니다. Advanced Option을 통해 ORM 기능을 확장하는 방법과 이를 활용한 복잡한 통계 쿼리 이론을 배우며, 대용량 데이터 처리 및 분석의 효율성을 높일 수 있는 전략에 대해 고민할 수 있었습니다. 특히 ORM에서 제공하는 find(), save(), update()와 같은 메서드가 비동기 방식으로 동작하는 특성을 이해하는 데 집중하였습니다.
예를 들어, this.movieRepository.find()가 반환하는 Promise 객체는 데이터베이스 조회 결과가 이행(Resolved)되기 전까지는 완전한 데이터를 포함하지 않으며, 이를 그대로 반환하면 JSON 변환 시 빈 객체({})로 표시되는 문제점을 확인하였습니다. 따라서 async와 await를 꼬박꼬박 활용하여 비동기 작업이 완료된 후 최종 데이터를 받아올 필요성을 재확인할 수 있었습니다.
또한, Entity Embedding과 Entity Inheritance 개념을 통해 객체 간 관계 표현 및 상속 구조 설계에 대해 심도 있게 탐구하였습니다. Entity Embedding은 복잡한 객체 관계를 단순화하여 보다 직관적으로 표현할 수 있게 도와주며, Entity Inheritance는 공통 속성의 재사용을 가능하게 하여 코드의 유지보수성을 높이는 효과적인 설계 방법임을 느꼈습니다.
이와 같은 학습 내용은 단순한 기능 습득을 넘어, 각 기능이 왜 필요하며 어떻게 상호 보완적으로 작용하는지를 이해하는 데 큰 도움이 되었습니다. 강의를 통해 얻은 인사이트는 향후 프로젝트에서 안정적이고 효율적인 데이터 처리 및 객체 모델링 전략을 수립하는 데 중요한 밑거름이 될 것이라 확신합니다.
사진



