20240308 기술매니저님 Q&A

jjj·2024년 3월 12일
0

메모

목록 보기
17/20

20240308 기술매니저님 Q&A

나 포함 팀원들이 과제 Lv.5 진행한게 많지 않아서 과제의 방향성

-soft delete 왜 쓰는지? 장점과 단점 알기.
prisma 세팅 , middle ware 쓰던가 하면 과제 7개가 한 번에 처리 될 것이다.

Q. 트랜잭션을 이해 못해도 괜찮은지?
A.
쿼리 : 저장 읽어라 삭제해라 수정해라 하는 것들.
트랜잭션은 그 쿼리를 여러개 묶어서 한 번에 처리하는 것.

지금은 괜찮다. 지금은 당장 사용하지 않아도 괜찮겠지만,
면접에서 질문이 나올 가능성이 높고, 회사마다 ORM이 다르지만 사용은 하기 때문에 orm 하나 골라서 연습해보는 것이 좋다.
지금은 개념만이라도 알고 가는 것이 좋다.

과제에서 여러 개의 메뉴가 주문 가능하도록 만든다면 트랜잭션을 사용해야 할 것이다.

성희님 에러 처리 질문.

customError를 하면 클래스에서 에러 클래스를 상속 받는다.
class CustomError extends Error 를 사용하여 에러를 상속 받는다.

catch의 next(error) / return next(error) 는 별로 차이가 없다. return 굳이 쓸 이유가 없게 됐다!

성희님 error-handling.middleware.js
보면 if 후의 else if문으로 코드가 긴데, object를 사용하여 else if문을 줄일 수 있다.

'InvalidNicknameFormatError': [400, '닉네임 형식이...']
obj[error.message]


노드팀 전체 멘토링
3Layered

controller / service / repository

controller : router 설정. service 로 넘어간다.
service : 실제 비즈니스 로직
repository : DB 접근 로직

이렇게 나누는 이유는 에러가 발생했다면 에러가 발생한 부분만 수정하면 되기 때문이다.
다른 코드 건들 필요 X

controller : 클래스를 만들었으니 인스턴스화 시켜준다. 그 인스턴스를 호출한다.(?)
service :

#을 앞에 사용하면 지역 변수로 바뀐다. 바깥에서 접근 못함.
클래스 내부에서 사용해도 된다.

try~catch는 nest는 service에 보통 넣는다.
node는 controller에서 집어넣어도 될 것 같다. (+next(error)

0개의 댓글

관련 채용 정보