20240228 기술매니저님 Q&A

jjj·2024년 2월 28일
0

메모

목록 보기
12/20

20240228 기술매니저님 Q&A

1. package.json / package-lock.json 차이점과 package-lock.json이 생성되는 이유

package.json의 script / dependency / devdependency
package.json을 보통 명세서라고 부른다. 명세서 역할.

script: 명령어 설정. 매크로 역할.
dependency : import 하고 사용.
devdependency : import 안하고 개발에 필요한 모듈을 명시.

package-lock.json : package.json의 상세 정보.
package-lock.json을 기준으로 설치한다.
다른 컴퓨터에서 yarn을 실행했을 때, 그 버전이 맞는지 체크하는 기능도 있다.

2. 실제 현업에서는 .env 파일을 어떻게 관리하는지?

성희님의 답변!
npx prisma install -> prisma 초기화 되면서 .env 파일 생성.
git clone한 사람들 : yarn, npx prisma install.

매니저님의 답변!
.env 파일 관리
Q. git clone 하면 .env 파일이 없는데 그럴때 .env 파일을 생성해도 되는지?
A. 생성해도 된다.

.env 파일의 관리.

  1. 수동

  2. github secret
    -CI/CD 과정이 있다. 버전 관리/배포 과정 전체를 말한다.
    자동화로 만들어야한다.
    github secret을 만들어서 넣어준다. 그러면 어느 한 사람이 관리하지 않아도 된다.
    깃허브 사이트 > 설정 > secret and variables > actions > actions screts / New secret
    한 번 저장하고 난 뒤 다시 확인할 수 없다.

  3. 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 외의 다른 것이 있으면 모두 에러 처리 한다고 한다!

0개의 댓글

관련 채용 정보