커머스 서비스로 배우는 NestJS 실전 개발 (w. Prisma, Docker, Redis, Kafka)
₩89,100
초급 / NestJS, Kafka, Docker, Prisma, Redis
4.3
(7)
[Node NestJS의 실무형 강의 - 같이 서비스 개발 해봐요!!] Nest 기반의 Redis, Kafka 배우면 할 수 있어요! Prisma 는 이제 실무에서는 필!수! 입니다.
초급
NestJS, Kafka, Docker
안녕하세요 빌(Bill) 입니다.
한국과 미국에서 개발자로 일한지도 벌써 15년이 넘었네요?
현재는 상장 준비중인 (예비)유니콘 스타트업에서 개발총괄 역할을 수행하고 있어요.
주로 새로운 서비스 개발에서 아키(인프라 포함)를 직접 짠다라던지, 이전에 적용하지 않은 다양한 패턴을 적용한다라던지, 다른 개발자가 해결하지 못하는 이슈에 대해서 해결한다라던지 등의 업무를 수행하고 있어요.
그동안 쌓은 지식과 경험을 바탕으로 여러 도움을 드리고 싶어요.
예를들면, 개발자가 어떻게 성장해야하는지?, 개발을 어떻게 해야하는지?
어떤 회사가 맞는지에 대해서도 다양한 이야기를 들려줄 수 있을 거에요.
실무에 도움이 되는 강의를 제작해 보려 합니다.
👋[멘토 소개]
- 국내 대기업 + 미국 대기업 근무 후 한국 스타트업 (예비유니콘) CTO 로 근무 중
- 한국 개발문화, 미국 개발문화 장단점을 기반으로 한국에도 필요한 개발 방식에 대해 공유 하고자 함
- 한국 개발자 이대로 괜찮은가???
(이미 스스로 잘 성장하고 있는 사람에겐 불필요한 멘토링)
- 1년차가 개발할 수 있는것만 10년동안 하면 10년차 개발자??
: "No"
- 더 늦기전에!!! 변화의 계기가 되었으면 합니다.
📔[왜 멘토링을 하는것인가?]
- 스타트업 개발자... 생각보다 " "이 심각하다....
- 현재 여려분의 회사에서의 삶이 만족스럽지 않은 많은 이유 중 "하나"는 여려분들이 못났기 때문이 아니라 모르기 때문이다.
🤔[도움을 드릴 수 있는 것]
- 개발자로써 어떻게 성장해야할 것인가?
- 실무레벨의 시스템 개발(요약)
- 취업 전략 (이력서, 포트폴리오, 면접 등)
- 이직 전략 (이력서, 포트폴리오, 면접, 연봉 협상 등)
🎈[진행 방식]
- 비대면 원격
: google meet !!
- 도움이 필요한 내용 전달 -> 답변 방식
질문&답변
dto 관련 질문있습니다.
설계관점에서 바라보면, controller 단의 dto 와 service 단의 dto(domain) 을 공유자원으로 사용할 것인가? 분리해서 사용할 것인가를 고민해볼 수 있습니다.어떤게 좋다? 라고 말하기에는 양측 전부 장단이 존재하여, 원하는 방식으로 사용하면 됩니다.도메인 서비스 단에서 도메인 dto 로 return 만 시키고, controller layer 에서 static 을 이용하여 controller dto 로 변환하는 부분도 흔하게 사용되는 방식입니다. 이렇게 하게되면 비지니스 영역에서는 controller 의 dto 를 직접참조할 일이 없어지게 됩니다.(프로젝트 규모가 클 경우, 분리하는게 더 이익임)
질문&답변
PrismaClientInitializationError: Prisma Client could not locate the Query Engine for runtime "linux-arm64-openssl-3.0.x". 에러
특정 os 에 발생하는 현상으로 보이며, https://github.com/prisma/prisma/discussions/22519링크 참조하여 generator client { provider = "prisma-client-js" } 내 binaryTargets = ["native", "linux-arm64-openssl-3.0.x"] 추가 or prisma 경로를 변경해서 재시도를 권장드립니다.
질문&답변
Module '"@prisma/client"' has no exported member 'cart'. 에러
"@prisma/client": "^6.2.1" 로 세팅되어 6.2.1보다 더 최신버전이 install 되었을것으로 추측됩니다.@prisma/client 버전을 6.2.1(4개월 전 LTS)로 고정해서 npm 을 재 설치해보시는 것을 추천드립니다.(6 점대 최신에서 계속 해서 여러 issue 발생 및 해결 중에 있음)
질문&답변
모듈 래포지토리 등록에 관한 질문입니다.
1번의 방식에서도 nest 가 알아서 싱글톤으로 관리를 해줍니다.(local module에만 국한), 타 모듈에서 불러와서 사용해야하는 전역 component 와 같은 영역 외 타 모듈을 import 로 불러오는 방식은 강결합 영역에서의 고민이 필요해 보입니다. 현재 강의영역의 범위 밖이긴 하지만, 타 모듈간의 자원에 대해서는 직접적인 DI를 모두 제거하는 것이 좋습니다. (모듈끼리의 결합도를 없애고, 모듈 내 응집도를 높이는 방식)
질문&답변
timezone 관련 질문
AI 인턴이 답변을 잘 달아놓았는데 좀더 추가설명을 드리면, global service 를 고려할 때 자동생성 DB 시간을 local 시간으로 둘 경우 일관성유지가 어렵고 국내에는 해당되지 않지만, 써머타임이 존재하는 국가도 있기때문에 관리포인트가 늘어나게 됩니다. 따라서 @db.date 과 같이 UTC 기반으로 사용 후 application layer 에서 시간변환하여 사용하고 있습니다.
질문&답변
섹션4 -> 5 넘어가는시점 강의 영상이 중간에 빠진건아니신지..?
실습 영상 추가하였습니다~!nest 명령어를 이용하여 자동생성 시 사용하지 않는 controller, service 제거하는 부분은 시간관계상, github 파일을 참고해주세요~! https://github.com/BK202503/nest-start
질문&답변
섹션4 -> 5 넘어가는시점 강의 영상이 중간에 빠진건아니신지..?
아키텍처에 대한 설명 추가 및 default 로 생성되는 코드를 제거하자!라는 의미였는데(nest 명령어로 자동생성되는 코드들), 설명이 다소 부족한 거 같아 해당부분에 대한 보완강의를 제작 중에 있습니다.빠른시일이내 업로드가 될 예정이오니 업로드 되면 추가 댓글 남기도록 하겠습니다.
질문&답변
강의 코드를 확인할 수 있는 깃허브 URL이 있을지 궁금합니다!
섹션 10 에 가장 마지막 강의 "Kafka 로 비지니스 로직 리펙토링!" 의 영상 하단 "수업노트보기" 클릭하시면 링크 확인이 가능합니다! 😄
질문&답변
섹션3과 섹션4 같은 영상으로 확인됩니다
안녕하세요, 파일 선택 잘못된 부분 수정해서 다시 올렸습니다! 체킹 감사드려요!