728x90

 

환경변수(Environment Variable)

'환경'이라는 단어는 컴퓨터에서 소프트웨어가 동작하는 공간을 의미

환경 변수는 컴퓨터마다 지정된 값

환경이라는 방 안에 칠판이 있고 그 안에 변수들이 적힌 것

 

환경변수의 용도

1.경로에 상관없이 파일을 찾게해줌

코드로 각 집에 '영어사전을 ${서재}에 꽂으세요'라는 코드를 보내면,

철수네는 서재가 아버지방에

영희네는 서재가 거실에 있는데

이 '서재'라는 환경변수에 집별로 적절히 들어간 값 때문에 어느 집에서든지 이 명령어로 올바른 곳에 사전을 꽂을 수 있게됨

 

자바를 설치 한 직후 환경변수를 세팅하는 것도 자바가 어디에 있던지 문제 없이 자바를 찾아 실행할 수 있게 하기 위함

 

2.

집의 ${건물종류}가 전원주택이면 잔디를 깎으세요

각 환경의 조건마다 어떤 동작을 실행할지 정할 수 있다

 

개발 할 때 보통 개발용과 배포용으로 나누어서 파일을 관리한다 

개발자가 디버깅을 쉽게하기 위해서 어떤 정보들을 뜨도록 할 수 있는데 이게 유저들이 사용할 때도 뜨면 곤란할 것이다

그렇다고 배포할 때마다 해당 코드들을 지우기도 일이 많아지기에,

개발하는 컴퓨터와 제품이 배포될 서버 등에 각각 환경변수 값을 위의 이미지처럼 따로 설정해주고 조건을 주면 개발용 컴퓨터에서만 디버깅 정보가 나타날 수 있음

 

3.

비밀번호를 철수나 영희네 집 둘 중 하나만 보내더라도 환경변수를 사용해서 코드를 작성해야함

이렇게 하지 않으려면 코드에 직접 비밀번호를 적어야하는데 비번 노출 위험이 커지기 때문에 환경변수를 쓰는 것

특히, 오픈소스로 공개되는 코드들에는 이런 보안요소들이 공개되면 위험

 

환경이란 컴퓨터가 돌아가는 전체 환경 뿐만아니라

도커의 컨테이너 같이 프로세스가 돌아가는 보다 세분화된 공간을 의미하기도 한다

 


 

라이브러리(Library) & 프레임워크(Framework)

특정 기능이 함수나 클래스 등의 형태로 제작되어 공개된 것을 가져다가 내 프로그램에 사용될 수 있는 것

모듈화된 코드 또는 그 묶음들을 라이브러리

 보통 다른 사람이 만들지만 내가 만들 수도 있고 어떤 소프트웨어든 

집을 지을 때, 집을 짓는데 사용되는 자재가 라이브러리라면, 프레임워크는 기본 골격을 갖춘 집 조립키트

컴퓨터 조립으로는, 마더보드가 프레임워크고 거기에 끼워넣는 각 파치들을 라이브러리라고 할 수 있다

 

라이브러리

ex)math, 텐서플로우, 판다스 등

프레임워크

ex)스프링, 장고, .NET, 라라벨, Express, Vue

 

 

출처

https://www.youtube.com/watch?v=GYmuQJiPeM4

728x90
반응형

+ Recent posts