Skip to content

Conversation

csbizz
Copy link
Collaborator

@csbizz csbizz commented Dec 13, 2024

요구사항

기본

공통

  • Github에 위클리 미션 PR을 만들어 주세요.
  • React 및 Express를 사용해 진행합니다.
  • TypeScript를 활용해 프로젝트의 필요한 곳에 타입을 명시해 주세요.
  • any 타입의 사용은 최소화해 주세요.
  • 복잡한 객체 구조나 배열 구조를 가진 변수에 인터페이스 또는 타입 별칭을 사용하세요.
  • Union, Intersection, Generics 등 고급 타입을 적극적으로 사용해 주세요.
  • 타입 별칭 또는 유틸리티 타입을 사용해 타입 복잡성을 줄여주세요.
  • 타입스크립트 컴파일러가 에러 없이 정상적으로 작동해야 합니다.

백엔드

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

심화

주요 변경사항

  • js to ts migration

스크린샷

멘토에게

  • 셀프 코드 리뷰를 통해 질문 이어가겠습니다.

@csbizz csbizz requested a review from MCprotein December 13, 2024 07:52
@csbizz csbizz self-assigned this Dec 13, 2024
@csbizz csbizz added 매운맛🔥 뒤는 없습니다. 그냥 필터 없이 말해주세요. 책임은 제가 집니다. 제출 완료 스프린트미션 최종 제출본입니다 labels Dec 13, 2024

const upload = multer({ dest: 'uploads/' });

export default function setupMiddlewares(app: express.Application) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@csbizz
이거 middleware보다는 다른이름이 좋을거같아요
앱을 초기화하는 작업이라서 미들웨어랑 의미가 안맞아요

@MCprotein
Copy link

중급프로젝트때 타입스크립트로 하셔서 그런지 딱히 고칠만한 부분은 없네요
고생하셨던게 빛을 바라는 순간입니다

@MCprotein
Copy link

IoC, DI, layred architecture, singleton, 추상화, 상속 등 언어와 프레임워크에 종속되지 않은 개념들을 모든 기수 통틀어서 가장 잘 사용하신것같습니다

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
매운맛🔥 뒤는 없습니다. 그냥 필터 없이 말해주세요. 책임은 제가 집니다. 제출 완료 스프린트미션 최종 제출본입니다
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants