[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
Postman 테스트 중 데이터를 받아오지 못하는 문제가 생겨 원인을 찾아보았습니다. 같은 문제를 겪는 분이 계시면 참고하세요. 이하 AI로 작성되었습니다. 현상: /posts?order__createdAt=ASC 처럼 where 파라미터 없이 호출했는데, findOptions.where.id 가 MoreThan(undefined) 로 만들어져 repository.find() 결과가 0건으로 나옵니다. 원인: ValidationPipe({ transform: true }) 로 DTO가 “클래스 인스턴스”가 되고 main.ts ), TS target 이 ES2022+ (예: ES2023 , tsconfig.json )이면 초기값 없는 DTO 필드도 JS에 field; 로 emit되어 인스턴스에 undefined 프로퍼티가 “존재”합니다 base-pagination.dto.js ). 이 상태에서 Object.entries(dto) 로 필터를 만들면 undefined 도 같이 파싱되어 MoreThan(undefined) 가 됩니다. 참고: 이 동작은 TS 3.7 의 useDefineForClassFields 도입 이후(4.3에서 esnext 기본 true, 4.6에서 es2022 타겟 추가) 현대 타겟에서 흔히 발생할 수 있습니다. NestJS/class-validator 변경이라기보다 TS 타겟/클래스 필드 emit 차이입니다. 해결: 필터 조합 시 undefined/null 은 스킵하도록 방어코드 추가(예: if (value === undefined || value === null) continue; ) — common.service.ts . 이 케이스를 막는 옵션은 필터 조합 로직에서 undefined/null 을 스킵(가장 단순/안전) (파이프 레벨로 하고 싶으면) 커스텀 파이프로 undefined 키 삭제/또는 class-transformer 의 instanceToPlain(dto, { exposeUnsetFields: false }) 같은 방식으로 “undefined 없는 plain”으로 만든 뒤 사용 등이 있습니다.
JPA를 사용하는 강의라고 하지만 QueryDSL에 대한 코드만 딱 보여주고 이게 어떤 dependency를 추가하고 build를 해서 사용해야한다는 등의 설명이 일절 없는것이 아쉽습니다. 강의 교재에도 해당 내용은 기재되어있지 않은데 왜 코드를 실제로 적용하는 부분에 대해서나 테스트 코드 작성에 대해서는 따로 언급이 없으신건가요?
학습 관련 질문을 남겨주세요. 구체적으로 적을수록 좋아요! 마크다운과 단축키를 활용하면 글을 더 편하게 작성할 수 있어요. 커뮤니티 질문 & 답변에 비슷한 내용이 있었는지 먼저 검색해보세요. 편하게 질문주세요:) 직접 답변 드리도록 하겠습니다~ dp나 다익스트라 같은 알고리즘은 이번 강의에서는 아예 다루지 않나요? 기존 올인원 강의(파이썬 버전) 같은 경우엔 포함되어있던데, 혹시 자바 버전도 추가 또는 별도 강의 개설할 예정인지 궁금합니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 좋은 강의로 공부하고 있는 대학생입니다. 이번 영상에서 ItemService 클래스의 updateItem 메서드에서 값을 변경하는 부분을 각 변수에 대해 set 으로 접근하는 방법 대신 item 클래스 내부에서 change() 메서드를 선언 후 사용하는 방법으로 직접 수정해보려고 합니다. 그런데 만약 클라이언트에서 isbn과 author 값을 수정하고 싶다면, item 도메인에서는 두 변수에 대한 선언이 안되어있는데 item 엔터티 구조를 변경하는 방향으로 수정 로직을 작성해야 할지 궁금해서 질문 남깁니다.
전 강의에서 그러던데 애초부터 모듈로 작성하면 안 헷갈린데 main 작성 하고 그걸 또 중간에 모듈로 빼 버리면 입문자 입장에서 헷갈림. 즉흥적으로 하는 느낌이 들음,. 전 강의에서부터 최소한 정리를 하고 입문자 눈높이에서 설명해주면 좋겠음. 실전에서는 강사의 방식이 맞을지 몰라도 배우는 사람입장에서는 왔다갔다하니 헷갈림.
강의 중에는 hwp.saveAs() 명령어 실행 시 파일명을 지정할 수 있는 창이 뜨는데 뜨지 않네요. 사용하는 버전은 아래와 같습니다. 사용한 버전 정보 알 수 있을까요? (venv) c:\ws\python\hwp>python -V && pip show hwpwings Python 3.13.1 Name: hwpwings Version: 0.4.7 Summary: 파이썬으로 한글 문서를 제어할 수 있는 두번째 라이브러리입니다. Home-page: https://www.youtube.com/@한파엑셀 Author: 한파엑셀 Author-email: hpxl0518@gmail.com License: Location: c:\ws\python\hwp\venv\Lib\site-packages Requires: lxml, pandas, pywin32 Required-by:
학습 관련 질문을 남겨주세요. 구체적으로 적을수록 좋아요! 마크다운과 단축키를 활용하면 글을 더 편하게 작성할 수 있어요. 커뮤니티 질문 & 답변에 비슷한 내용이 있었는지 먼저 검색해보세요. 편하게 질문주세요:) 직접 답변 드리도록 하겠습니다~ Queue에 값을 추가하는 메서드는 enque offer 두 가지가 있다고 강의에서 말씀 주셨습니다. 둘 다 똑같이 값을 추가하는걸까요? 만약 맞다면, 어떤 차이점이 있는지 궁금합니다. (어떤 상황에서 사용되는지도 궁금해요.) +추가적으로, queue.poll() 이 dequeue다 라고 말씀 주셨는데, 둘도 어떤 차이가 있는지. 어떤 상황에서 사용하는지도 궁금합니다!
안녕하세요. 학습후 영상제작하여 자동으로 유튜브 업로드까지 해서 2일 운영했는데요. 구글계정 사용중지가 되었습니다. Gpt에서 확인했을때 자동화 업로드 감지시 계정 중단사유라고 하던데요. 혹시 이부분에 대해서 대응방법이 있을까요? 이의신청은 했지만 어떻게 될지는 모르겠습니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 주문 서비스에서 주문, 주문 취소 메서드 비즈니스 로직이 엔티티에 있는데 이렇게 엔티티가 비즈니스 로직을 가지는 도메인 모델 패턴과 서비스에서 비즈니스 로직을 처리하는 트랜잭션 스크립트 패턴 중에 실무에서는 보통 어떤 것을 사용하나요? 각각의 장단점이 있는지도 궁금합니다
파이선까지는 잘 됐습니다. vs code 설치 후 아래와 같이 강의 내용과 달라서 진도가 안 나가고 있습니다. 왼쪽의 트리구조, ctrn+shift+r 버튼 눌러도 화면처럼 뜨지 않으며 select inter>> 로 뜨지 않으며 그냥 > 만 보이고 python (kiwoom_32)도 보이질 않네요. 설치를 기본이 아닌 다른 폴더에 하기는 했습니다. (d:\inforun에 설치 함)