본문 바로가기
자기계발/책

[혼자 공부하는 얄팍한 코딩 지식] 환경변수란?

by 머작가2 2022. 8. 15.

※ '혼자 공부하는 얄팍한 코딩 지식'(고현민) 책을 읽고 작성한 글입니다.

환경 변수

프로그램이 컴퓨터에서 동작할 때의 환경과 관련된 변수

운영체제에서 응용 프로그램 작동을 위해 참조하기 위한 설정을 기록하는 곳 (시스템 실행 파일이 있는 디렉터리를 지정하는 등)

우리가 컴퓨터로 사용하는 모든 프로세스(웹사이트, 게임, 그림판 등)는 전부 운영체제라는 상위 프로그램에 의해 실행되는 자식 프로세스이다. 이 때 운영체제 입장에서 해당 프로세스를 실행시키기 위해 참조하는 값을 담은 변수가 바로 환경 변수.

환경 변수는 어디에서, 왜 사용될까?

 

환경 변수 사용 용도

1. 필요한 프로그램의 실행 경로

ex) 자바 프로그래밍을 위해 JDK(자바 개발 키트)를 다운로드하면 자바와 프로그래밍에 필요한 기타 요소들이 ProgramFiles 폴더에 설치된다. 그러나 JDK 환경 변수를 지정해주지 않으면 자바로 작성한 코드를 컴파일하거나 실행할 수가 없다. 컴퓨터 어디에 자바가 설치되어 있는지 프로그램이 모르기 때문이다. 

자바로 작성된 프로그램이 컴퓨터에서 작동하도록 하기 위해서는 컴퓨터에 자바 코드를 실행하는 프로그램이 설치된 곳의 위치를 환경 변수에 저장해두어야 한다.

JDK 환경 변수 지정 예시

 

이처럼 컴퓨터에서 작동하는 프로그램이 접근할 수 있도록 저장하는 용도로 사용하는 환경 변수path 환경 변수라고 한다.

 

2. 개발 환경 용도 구분

개발 환경 용도 구분을 위해 환경 변수가 사용되기도 한다.

파이썬 코드 예시

import os
# 개발 환경일 경우 (환경 변수 DEV가 true로 설정됨)
if os.envior['DEV'] == True:
	print( '개발 환경에서 작업' )
#서비스 환경일 경우
else:
	print( '실제 서비스 환경' )

 

3. 민감한 요소의 보안

소스코드에 DB 연동 아이디, 비밀번호 등의 중요한 정보를 적어둔다면 매우 위험하다. 

환경 변수가 여기서 유용하게 사용될 수 있다.

예시)

// 환경 변수에서 아이디와 비밀번호를 가져와 상수에 저장
const databaseAccess = {
	id: process.env.DB_ID,
    pw: process.env.DB_PASSWORD
}

 

 

※ '혼자 공부하는 얄팍한 코딩 지식'(고현민) p 292 -연습 문제 1번