20240228 기술매니저님 Q&A
package.json의 script / dependency / devdependency
package.json을 보통 명세서라고 부른다. 명세서 역할.
script: 명령어 설정. 매크로 역할.
dependency : import 하고 사용.
devdependency : import 안하고 개발에 필요한 모듈을 명시.
package-lock.json : package.json의 상세 정보.
package-lock.json을 기준으로 설치한다.
다른 컴퓨터에서 yarn을 실행했을 때, 그 버전이 맞는지 체크하는 기능도 있다.
성희님의 답변!
npx prisma install -> prisma 초기화 되면서 .env 파일 생성.
git clone한 사람들 : yarn, npx prisma install.
매니저님의 답변!
.env 파일 관리
Q. git clone 하면 .env 파일이 없는데 그럴때 .env 파일을 생성해도 되는지?
A. 생성해도 된다.
.env 파일의 관리.
수동
github secret
-CI/CD 과정이 있다. 버전 관리/배포 과정 전체를 말한다.
자동화로 만들어야한다.
github secret
을 만들어서 넣어준다. 그러면 어느 한 사람이 관리하지 않아도 된다.
깃허브 사이트 > 설정 > secret and variables > actions > actions screts / New secret
한 번 저장하고 난 뒤 다시 확인할 수 없다.
AWS S3
S3라는 스토리지 사용. 아마 다음주차에 할 예정?
S3 스토리지에 .env 파일을 올린다. 프로젝트에서 그 .env 파일을 다운받으면 된다.
성희님이 추가 질문할 때 중간에 껴들어서 같이 들었다!🤭
joi -> router
joi -> router -> error
Joi는 입력받는 것에 한해서 관리.
try catch 사용
try에는 throw.
catch에서 next()
catch에서도 throw error 사용할 수 있다.
next(error)
res.status(500).send
swtich (typeof Error)
매니저님은 prisma 말고, sequelize 사용.
그런데 보통 Node 언어 사용자들은 Node를 사용하지 않고 아래 2개나 기타등등을 사용한다. 으악!
-NestJS (프레임워크), 웹에서는 반필수 아니 필수!
SI에서는 아니지만 웹개발에서는 거의 필수.
Nest Mitup에서 남경관님이 나와서 Nest 장점?을 알 수 있다ㅋㅋㅋ
-TypeORM
console.error 로 에러메시지 보기!
winston : log 찍어주는 모듈
누가 언제 어떤 endpoint로 호출했나 log를 남겨야한다. 계속 log 감시하고 있을 게 아니면,
그러니 winston이라는 모듈을 사용하여 파일화해서 관리할 수 있게 해준다.
throw Error / next(err)
-next() // 다음 미들웨어
-next('route') // 다음 미들웨어
-next(n) // 모두 오류
next() : 괄호 안에 route 외의 다른 것이 있으면 모두 에러 처리 한다고 한다!