본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스
성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.
fastcampus.co.kr
0322 토
학습 내용 정리
nestjs
Mapped Types 적용
parital : 클래스의 프로퍼티 정의를 모두 optional로 만든다.
Pick : 특정 프로퍼티만 골라 사용 할 수 있다.
Omit : 특정 프로퍼티만 생략 할 수 있다.
Intersection : 두 타입의 프로퍼티를 모두 모아서 사용 할 수 있다.
Composition : Mapped Types를 다양하게 조합해서 중첩 적용 가능하다.
extends PartialType(~~) 으로 똑같은 코드를 사용하지 않고, optional 지정가능.
Serialization 적용
보여줄 필요없는게 계속 나와서 @Exclude 설정
학습후기
오늘은 NestJS에서 Mapped Types와 Serialization을 중심으로 학습하였다. 특히 Mapped Types는 코드의 재사용성과 유지보수성을 높이기 위한 매우 유용한 기능임을 다시 한번 느꼈다. PartialType, PickType, OmitType, IntersectionType 등 각 기능의 역할을 직접 코드에 적용해보며, 상황에 따라 적절한 Mapped Type을 선택하여 사용할 수 있다는 점이 인상 깊었다. 예를 들어 PartialType을 활용하면 클래스의 모든 프로퍼티를 optional로 만들어 코드 중복 없이 유연한 DTO 작성이 가능하고, PickType이나 OmitType은 필요한 필드만 선별적으로 사용할 수 있어 실제 프로젝트에서도 매우 실용적일 것으로 보인다. 또한 여러 Mapped Type을 중첩하여 사용할 수 있다는 점에서, 복잡한 요구사항이 있는 상황에서도 깔끔하게 타입을 정의할 수 있다는 장점이 있다.
이와 함께 Serialization을 적용하는 과정에서는 @Exclude 데코레이터를 통해 클라이언트에 노출할 필요가 없는 필드를 숨길 수 있다는 점을 실습하며 확인했다. 실제 API 응답에서 민감하거나 불필요한 정보가 포함될 수 있는데, 이를 효과적으로 제어할 수 있다는 점에서 Serialization의 중요성을 다시금 느꼈다.
전반적으로 오늘 학습한 내용은 NestJS를 활용한 백엔드 개발에서 실무적으로도 매우 유용한 부분들이었으며, 단순히 기능을 이해하는 데 그치지 않고 실제 상황에 맞게 응용할 수 있도록 연습하는 과정이 의미 있었다. 향후 프로젝트에서도 이 개념들을 적극 활용하여 더 깔끔하고 견고한 코드를 작성할 수 있도록 할 것이다.
사진



