[윤대호] 풀스택-BE-mission11#11
Open
aowjarkwk wants to merge 42 commits intocodeit-bootcamp-nodejs:풀스택-BEfrom
Hidden character warning
The head ref may contain hidden characters: "\ud480\uc2a4\ud0dd-BE-mission11"
Open
Conversation
- 상품 목록 조회 페이지네이션 추가
- 상품 목록 조회 - 상품 상세 조회
- http, mock 데이터 위치 변경
- mock, seed 데이터 수정
- 상품 수정, 삭제 - 상품 댓글 등록, 수정, 삭제
- 서버 코드를 MVC 패턴으로 리팩토링 - 이미지 업로드 기능 테스트를 위해 CORS 미들웨어 추가
- 구글 OAuth 로그인 후 JWT 토큰 생성 구현 - 유저 기능에 MVC 패턴 적용
- Article 관련 로직을 타입스크립트로 수정 - Auth 관련 로직을 타입스크립트로 수정
- prisma 폴더 위치 변경
- Product, Article, Comment 모델의 User필드를 필수값으로 변경
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
주요 변경사항
TypeScript를 활용해 프로젝트의 필요한 곳에 타입을 명시해 주세요.
any타입의 사용은 최소화해주세요.복잡한 객체 구조나 배열 구조를 가진 변수에 인터페이스 또는 타입 별칭을 사용하세요.
Union, Intersection, Generics 등 고급 타입을 적극적으로 사용해주세요.
타입 별칭 또는 유틸리티 타입을 사용해 타입 복잡성을 줄여주세요.
타입스크립트 컴파일러가 에러 없이 정상적으로 작동해야합니다.
백엔드
tsconfig.json파일을 생성하고, 필요한 컴파일러 옵션을 설정해야합니다. (예:outDir).package.json에 설정해주세요. (예: 빌드 및 개발 서버 실행 명령어).ts-node와nodemon을 사용하여 개발 환경을 구성합니다.nodemon과 함께ts-node를 사용하여.ts파일이 변경될 때 서버를 자동으로 재시작하도록 설정합니다.declare를 사용하여 타입을 오버라이드하거나 확장합니다.QA 의견
마이그레이션 초기에 VS 코드를 껐다 켜야 에러가 다시 나타나거나 사라지는 경우가 있었습니다. 이때
cmd + shift + P로 "Restart TS Server"를 검색해서 바로 수정하는 팁을 알려드리면 좋을 것 같습니다.구글 OAuth 관련 로직을 마이그레이션 하던 중, Passport 설정 과정에서 발생하는 문제들을 해결하는 데 시간이 많이 걸렸습니다.
아직 강의가 출시되지 않아 구글링과 GPT를 활용해 구현해보았는데, 제대로 구현되었는지 확신이 서지 않습니다... 🥲
Prisma에서 제공하는 인터페이스를 사용할지, 직접 인터페이스 또는 타입을 만들어서 사용할지 고민하는 과정이 길었습니다.
GPT에게 여러 번 질문하면서 코드를 수정한 끝에 결국 Prisma에서 제공하는 인터페이스를 사용하여 구현했습니다.
또, 이전 미션에서 모델 관계를 구현할 때 자동완성 되는 대로 코드를 작성하다 보니 User, Comment 등이 대문자로 들어가 있어서 Omit이나 Prisma의 connect를 사용할 때 원인을 몰라서 헤매기도 했습니다.
AsyncHandler를 타입스크립트로 수정하는 과정에서 비동기 함수의 타입 정의와 오류 처리가 어려웠습니다.
모든 곳에서 사용되는 함수이다 보니, 한 곳을 수정하면 다른 곳에서 에러가 나는 경우가 여러 번 발생했습니다.