카테고리 없음

2022-02-28 환경변수

지구야 사랑해 2022. 2. 28. 14:07

Intro

 

API key는 공개되어서는 안됨. 

 

그래서 PC에 저장해두고 사용해야함.

 

JS에서 변수에 문자열을 할당하는 것처럼, API key를 PC에서 사용하는 변수에 할당하고 사용할 수 있음

 

JS에서 변수는 전역변수와 지역변수로 나뉨

 

그러나 파일 A에서 전역변수로 선언하더라도, 다른 파일 B에서 파일 A의 전역변수에 접근할 수 없음

 

하지만 파일 A의 전역변수를 export 한다면, 파일 B에서 파일 A의 전역변수에 접근할 수 있음.

 

Linux 기반의 운영체제의 PC에는 시스템 자체에 전역변수를 설정할 수 있고 시스템에 설정한 전역변수를 환경변수라고 함.

 

export 를 이용해 환경변수를 설정할 수 있음

 

Achivement Goals

  • PC에 저장하는 환경변수가 무엇인지 이해하고, 사용할 수 있다.
    • PC에 저장된 환경변수를 확인할 수 있다. export
    • PC에 저장된 환경변수를 불러올 수 있다. dotenv
    • Node.js에서 환경변수를 영구적용할 수 있다. .env

 

환경변수 사용법

export: 환경변수 확인하기 && 환경변수 임시 적용

 

- cmd에 export 치면 이상한것 뜸. 그게 현재 설정된 환경변수 그럼 새로운 환경변수 지정하려면?

 

export urclass="is good"

- 그럼 환경변수 조회하려면? echo 달러표시!

 

 

dotenv: 자바스크립트에서 환경변수 사용하기

dotenv는 npm 모듈임. 이를 사용하면 JS에서 환경변수를 사용할 수 있음

 

1. 폴더에 npm init을 입력하자.

 

2. npm i dotenv를 입력해 모듈을 설치하자.

 

3. Node.js의 내자애체 process.env를 이용하면 export로 확인한 내용과 동일한 내용을 객체로 출력! 

 

 

 

.env: Node.js에서 환경변수 영구 적용

 

명령어 export로 적용한 환경변수는 현재 사용 중인 터미널에서만 임시로 사용가능

 

환경변수를 Linux 운영체제에 저장하는 방법은 여러가지가 있지만 Node.js에서는 파일 .env를 만들어 저장하여 사용

 

1. 먼저 .env 파일생성하고 사용하고자 하는 환경변수 입력 후 저장

 

 

2. index.js에 모듈 넣고(문법그대로) 수정

 

3. index.js 실행

 

- 환경변수를 이용해 API key, DB password와 같이 민감한 정보를 저장하고 관리할 수 있음.

 

그뿐만 아니라 서로 다른 PC 또는 여러 .env 파일에서, 같은 변수 이름에 다른 값을 할당할 수 있음.

 

 

실제 제품(서비스)을 개발하는 과정에는 개발 환경(local 또는 development 등)과 테스트 서버의 환경(test), 그리고 실제 제품을 제공하는 환경(production)이 있습니다. 예를 들어 구글 API를 이용해 웹 애플리케이션을 만드는 경우, 개발 환경에서는 개발자 개인의 API 키를 이용할 수 있습니다. 그러나 제품을 서비스할 때에 개인 API 키를 사용하면, 일일 요청량을 초과하는 경우 제품이 정상적인 동작을 할 수 없습니다. 이런 경우를 방지하기 위해 실제 제품에서는 기업용 API 키를 사용합니다. 이처럼 개발 환경과 제품을 제공하는 환경에서 사용하는 API 키가 다른 경우, 환경변수를 이용해 환경을 구분하여 코드를 작성할 수 있습니다.

데이터베이스도 마찬가지로 개발, 테스트, 제품 환경으로 구분할 수 있습니다. 다음 그림은 각기 다른 환경에, 같은 변수 이름을 사용하여 데이터베이스를 구분한 예시입니다.

[그림] 하나의 변수 이름을 환경에 따라 다르게 설정할 수 있습니다.