0. 문제 상황 - 무한참조 문제 발생 문제 상황 설명에 앞서 도메인 설명을 간략하게 하겠습니다. 저는 출석부 서비스 "체쿠리"를 개발 중입니다.회원은 N 개의 출석부를 가질 수 있습니다.출석부는 N 명의 회원을 가질 수 있습니다.출석부를 여러 명의 선생님이 함께 관리하는 시스템인거죠. 그리고 출석부는 사용 가능 요일( AttendanceDays )이 있습니다.1개의 출석부는 [월, 화, 수, 목, 금 ] 등 1..N 개의 AttendanceDays 가 있습니다. 문제는 여기서 발생합니다. 회원이 가진 출석부를 조회하는 API를 통해서AttendanceBook, AttendanceDays 를 함께 호출했더니 아래와 같은 결과가 발생했습니다. AttendanceBook, AttendanceDays 가 서로..
🐳 시작 계기 및 목표 유튜부 채널 '널널한 개발자' 채널을 보던 도중 "신입 백엔드 개발자 업무역량에 관한 기준은 이정도입니다!" 영상을 보고 간단한 게시판 만들기에 도전해 보기로 했다 ! 📌 게시판 기능 목록 유저 가입 및 로그인 게시글 CRUD 댓글 CRUD 게시글 좋아요 댓글 좋아요 📌 구현 목표 Nest.js 공식 홈페이지 참고해서 Repository 구현 - [Nest.js] TypeORM을 활용해 공식문서처럼 Repository 만들기 JWT 토큰 사용 테스트 코드 작성 간단한 기능이지만 아직 주니어 개발자 이기에 공부할 것이 많을 거 같다. 한 번 가보자고 ~ 🐳 게시판 ERD 구조 📌 공통 모든 Table에 created_at, updated_at, id를 넣어 주었다. 구현 단계에서 ..
Nest.js를 처음 공부해 보는 사람은 Entity와 DTO의 차이가 생소할 수 있다. 오늘은 DTO와 Entity의 차이점을 예시와 함께 알아보자 🎯 Entity와 DTO의 코드 먼저 아래의 Exercise Entity와 Exercise DTO 코드를 함께 살펴보자 // Exercise Entity Code @Entity() @Unique(['name']) export class Exercise extends BaseEntity { @PrimaryGeneratedColumn('increment') id:number @Column() name:string; // Entity에서는 string 타입으로 정의 했다 !! // 이 부분을 유의해서 보자 ! @Column() tool:string; @Colu..