Skip to content

[윤대호] 풀스택-BE-mission11#11

Open
aowjarkwk wants to merge 42 commits intocodeit-bootcamp-nodejs:풀스택-BEfrom
aowjarkwk:풀스택-BE-mission11

Hidden character warning

The head ref may contain hidden characters: "\ud480\uc2a4\ud0dd-BE-mission11"
Open

[윤대호] 풀스택-BE-mission11#11
aowjarkwk wants to merge 42 commits intocodeit-bootcamp-nodejs:풀스택-BEfrom
aowjarkwk:풀스택-BE-mission11

Conversation

@aowjarkwk
Copy link
Collaborator

주요 변경사항

  • TypeScript를 활용해 프로젝트의 필요한 곳에 타입을 명시해 주세요.

  • any 타입의 사용은 최소화해주세요.

  • 복잡한 객체 구조나 배열 구조를 가진 변수에 인터페이스 또는 타입 별칭을 사용하세요.

  • Union, Intersection, Generics 등 고급 타입을 적극적으로 사용해주세요.

  • 타입 별칭 또는 유틸리티 타입을 사용해 타입 복잡성을 줄여주세요.

  • 타입스크립트 컴파일러가 에러 없이 정상적으로 작동해야합니다.

백엔드

  • 기존 Express.js 프로젝트를 타입스크립트 프로젝트로 마이그레이션 해주세요.
  • tsconfig.json 파일을 생성하고, 필요한 컴파일러 옵션을 설정해야합니다. (예: outDir).
  • TypeScript 관련 명령어를 package.json에 설정해주세요. (예: 빌드 및 개발 서버 실행 명령어).
  • ts-nodenodemon을 사용하여 개발 환경을 구성합니다.
    • nodemon과 함께 ts-node를 사용하여 .ts 파일이 변경될 때 서버를 자동으로 재시작하도록 설정합니다.
  • TypeScript를 활용해 프로젝트의 필요한 곳에 타입을 명시해 주세요.
  • Mongoose나 Prisma 등 ORM을 사용하는 경우, 모델에 대한 인터페이스 또는 타입을 정의합니다.
  • 필요한 경우, declare를 사용하여 타입을 오버라이드하거나 확장합니다.

QA 의견

  • 마이그레이션 초기에 VS 코드를 껐다 켜야 에러가 다시 나타나거나 사라지는 경우가 있었습니다. 이때 cmd + shift + P로 "Restart TS Server"를 검색해서 바로 수정하는 팁을 알려드리면 좋을 것 같습니다.

  • 구글 OAuth 관련 로직을 마이그레이션 하던 중, Passport 설정 과정에서 발생하는 문제들을 해결하는 데 시간이 많이 걸렸습니다.
    아직 강의가 출시되지 않아 구글링과 GPT를 활용해 구현해보았는데, 제대로 구현되었는지 확신이 서지 않습니다... 🥲

  • Prisma에서 제공하는 인터페이스를 사용할지, 직접 인터페이스 또는 타입을 만들어서 사용할지 고민하는 과정이 길었습니다.
    GPT에게 여러 번 질문하면서 코드를 수정한 끝에 결국 Prisma에서 제공하는 인터페이스를 사용하여 구현했습니다.
    또, 이전 미션에서 모델 관계를 구현할 때 자동완성 되는 대로 코드를 작성하다 보니 User, Comment 등이 대문자로 들어가 있어서 Omit이나 Prisma의 connect를 사용할 때 원인을 몰라서 헤매기도 했습니다.

  • AsyncHandler를 타입스크립트로 수정하는 과정에서 비동기 함수의 타입 정의와 오류 처리가 어려웠습니다.
    모든 곳에서 사용되는 함수이다 보니, 한 곳을 수정하면 다른 곳에서 에러가 나는 경우가 여러 번 발생했습니다.

aowjarkwk added 30 commits May 21, 2024 20:17
- 상품 목록 조회 페이지네이션 추가
- 상품 목록 조회
- 상품 상세 조회
- http, mock 데이터 위치 변경
- 상품 수정, 삭제
- 상품 댓글 등록, 수정, 삭제
aowjarkwk added 9 commits May 28, 2024 12:42
- 서버 코드를 MVC 패턴으로 리팩토링
- 이미지 업로드 기능 테스트를 위해 CORS 미들웨어 추가
- 구글 OAuth 로그인 후 JWT 토큰 생성 구현
- 유저 기능에 MVC 패턴 적용
- Article 관련 로직을 타입스크립트로 수정
- Auth 관련 로직을 타입스크립트로 수정
- Product, Article, Comment 모델의 User필드를 필수값으로 변경
@aowjarkwk aowjarkwk requested a review from a user May 31, 2024 05:16
@aowjarkwk aowjarkwk self-assigned this May 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant