inflearn logo
강의

Course

Instructor

Practical NestJS Development with Commerce Services (w. Prisma, Docker, Redis, Kafka)

Service logic complete

Int 값들 null 처리

34

Ref

8 asked

0

prisma generate로 생성했으면 qty, unit_price 같은 값들 number | null 이라 필터링을 한번 해줘야 될텐데 강사님 코드에는 그런 흔적이 없이 깔끔하게 처리되어 빌드가 잘되는거 같아보여요.

물론 사소한것이지만

라이브러리 버전차이인지 따로 처리해준게 있는건지 궁금합니다

docker kafka redis nestjs prisma

Answer 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. Ref님께서 질문하신 Prisma Client에서 number | null 타입의 값들을 어떻게 처리하는지에 대한 내용입니다.

Prisma에서는 기본적으로 필드들이 옵셔널로 정의될 경우, 타입이 number | null로 생성됩니다. 이러한 타입은 널 값을 수용할 수 있는 것을 의미하며, TypeScript에서는 이 두 타입의 값을 모두 처리할 수 있도록 타입을 설정해 주게 됩니다. 다른 개발자들이 코드 작성 시의 혼란을 줄이고, 타이핑을 통해 오류를 방지할 수 있도록 하는 것입니다.

하지만 강사님이 사용하신 코드가 간결해 보인다는 점을 미루어 볼 때, 다음과 같은 몇 가지 방법을 활용했을 가능성이 있습니다:

  1. Type Assertion 또는 Non-null Assertion (!):
    개발자가 필드가 항상 값이 있다고 믿을 경우, TypeScript에서는 !를 사용하여 널을 수용하지 않도록 강제할 수 있습니다. 그러나 이 방식은 기저 성능에 잠재적 위험성을 가할 수 있으므로 주의가 필요합니다.

  2. Optional-Chaining 및 Nullish Coalescing:
    JavaScript의 최신 문법을 사용하여, 값이 null일 경우 기본값을 사용할 수 있도록 코드를 작성할 수 있습니다.

  3. 라이브러리 또는 타입 유틸리티 사용:
    간결한 코드 작성을 위해 코드베이스에 타입 유틸리티를 도입해, 널 체크를 자동화하거나 축소할 수 있습니다.

추가적으로 Prisma와 관련된 이러한 타입 문제는 Prisma Prisma의 버전 변화나 config에 따라 달라질 수 있으며, 특정 버전의 변화가 영향을 줄 수도 있습니다.

유사한 상황에서 다른 수강생분들의 토론을 참고해주세요:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

WebFlux & Web MVC 혼용해서 사용했을 때 스레드에 대한 질문

0

6

0

3. Node Schedule 중 pod-5가 마스터 노드에 배치됩니다.

0

14

1

volume hostpath의 강의에 관해 질문이 있습니다.

1

18

2

댓글 삭제 로직에서 동시성 문제 발생 가능성

0

17

1

재고 감소와 쿠폰 발급은 왜 서로 다른 방식으로 동시성을 제어하나요?

0

22

1

n8n에서 오류가 발생했는데 어떻게 풀어야할까요?

0

22

2

소스코드즘 부탁드립니다.

0

30

1

유저 이미지 등록 에러

0

30

1

섹션12 강의에 대한 질문

0

31

1

service-discovery 프로세스 가동 이유

0

28

1

AWS 배포 성능테스트

0

50

1

!!!!!강의내용 틀린 부분 수정좀 해줘요!!!!!!!

1

29

1

6장 ORM 에 관하여 질문

0

44

1

db table 관련질문

0

36

1

현업에서 prisma relationMode는 사용안하나요?

0

50

1

FK 현업에서 실제 사용안하시나요

0

124

1

dto 관련 질문있습니다.

0

142

2

PrismaClientInitializationError: Prisma Client could not locate the Query Engine for runtime "linux-arm64-openssl-3.0.x". 에러

0

286

2

Module '"@prisma/client"' has no exported member 'cart'. 에러

0

203

3

모듈 래포지토리 등록에 관한 질문입니다.

0

190

2

timezone 관련 질문

0

311

2

섹션4 -> 5 넘어가는시점 강의 영상이 중간에 빠진건아니신지..?

2

263

2

강의 코드를 확인할 수 있는 깃허브 URL이 있을지 궁금합니다!

2

324

1

섹션3과 섹션4 같은 영상으로 확인됩니다

0

173

1