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

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

by 논문보관함 2025. 4. 15.

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

https://bit.ly/4hTSJNB

 

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

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

fastcampus.co.kr

0415 화

학습 내용 정리

 

[Class 01]Part 22. 좋아요 시스템

Ch 1. 좋아요 시스템

02. 좋아요 시스템 로직 완성하기

 

 

수강후기

어제 학습한 중간 테이블 기반 좋아요 구조 위에 실제 서비스에서 동작 가능한 토글 기능의 로직을 완성하는 실습이었다. 단순히 데이터를 저장하는 수준을 넘어서, 사용자의 인터랙션에 따라 좋아요/싫어요 버튼이 어떻게 반응해야 하는지를 상세히 구현해보는 과정이 매우 유익했다.

이번 강의에서는 사용자 경험을 고려한 다양한 시나리오를 기반으로 좋아요와 싫어요가 어떻게 동작해야 하는지를 먼저 정의하였다. 예를 들어 사용자가 아무것도 누르지 않은 상태에서는 두 버튼 모두 비활성화되며, 좋아요를 누르면 해당 버튼만 활성화되고 다시 누르면 비활성화되는 토글 방식이 적용된다. 또한 싫어요를 누르면 기존의 좋아요가 해제되며 싫어요만 유지되는 상호 배타적인 구조까지 상세하게 설계되었다.

이러한 UX 흐름을 코드로 완성하기 위해 @Post(':id/like') 및 @Post(':id/dislike')와 같은 라우트를 분리하여 각각의 요청이 isLike 플래그를 통해 처리되도록 구성한 점이 깔끔하고 직관적이었다. 실제 로직 구현에서는 toggleMovieLike 함수 하나로 통합 처리하면서도, 내부에서 상황에 따라 적절히 삽입, 갱신, 삭제 로직을 수행하도록 설계되어 중복 없이 효율적인 구조가 인상 깊었다.

특히 기존에 존재하는 좋아요/싫어요 기록이 있는지 먼저 조회하고, 동일한 타입의 요청이면 해당 기록을 제거하고, 반대 타입이라면 업데이트하는 방식은 실제 운영 환경에서도 매우 자연스럽고 안정적인 동작을 보장할 수 있도록 한다. 이러한 로직은 중간 테이블(MovieUserLike)을 적극 활용하면서도 단일 API 설계로 충분히 다양한 동작을 커버할 수 있는 구조라 실무 적용에도 무리가 없을 것으로 느껴졌다.

또한 마지막에는 사용자별로 현재 어떤 상태인지 다시 조회하여 isLike 여부를 명확히 응답값으로 전달해줌으로써, 프론트엔드에서의 동기화 처리까지 염두에 둔 점이 좋았다. 서버와 클라이언트 간의 상태 불일치를 방지할 수 있는 구조로서의 완성도가 높았다고 생각한다.

총평하자면, 이번 수업은 어제의 Entity 설계 기반을 바탕으로 실질적인 비즈니스 로직을 구현하며 도메인 기반 설계(Domain-driven design)의 흐름을 실습 형태로 익히는 데 최적의 강의였다. 단순한 관계 설정에서 나아가 사용자 경험을 고려한 토글 처리, 중간 테이블 조회 및 조건부 삽입/수정/삭제 전략 등, 실제 서비스에서 자주 맞닥뜨리는 시나리오를 직접 구현해봄으로써 실전 감각을 키울 수 있었던 소중한 시간이었다.

앞으로 이 구조를 바탕으로, 좋아요 순 정렬, 유저별 좋아요 리스트 조회, 알림 연동 등 다양한 기능 확장도 기대되며, 그 기반이 되는 오늘의 수업은 매우 실용적이고 밀도 높은 학습 경험이었다.

 

사진

시작
종료
수강클립
결과물