728x90

 

환경변수(Environment Variable)

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

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

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

 

환경변수의 용도

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

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

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

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

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

 

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

 

2.

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

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

 

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

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

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

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

 

3.

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

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

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

 

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

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

 


 

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

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

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

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

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

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

 

라이브러리

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

프레임워크

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

 

 

출처

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

728x90
반응형
728x90

 

JDK란?

Java Developement Kit의 약자

SDK(Software Developement Kit)인데 자바용으로 만들어진 SDK를 말한다

한마디로 자바개발하는테 도움을 주는 것들이다

 


 

JDK와 OpenJDK

JDK는 오라클에서 공식적으로 만들고 있고, OpenJDK는  무료 오픈소스로 Sun Microsystems에서 개발하는데 오라클이 여기를 인수했다

기본적으로 같은 기술이라 개발자들이 쓰는데 크게 차이는 없지만 오라클의 JDK가 개인에게는 상관없지만 기업용으로는 라이센스비용이 꽤나 높고 대신 안정성이나 속도가 좀 더 빠르다고 한다. MySQL과 오라클SQL이랑 비슷

 


 

환경변수(path) 설정

자바 설치시 필수과정 path

[내컴퓨터 들어가서 빈 곳에 우클릭 속성] - [우측에 고급시스템설정] - [환경변수 탭]

- [시스템 변수 탭, 아래 path 누르고 편집] - 사용할려는 자바버젼이 있는 폴더의 bin파일까지 들어가서 경로 복붙

 

728x90
반응형
728x90

 

JAVA1 - 12.1. 직접 컴파일하고 실행하기 : 소개

이클립스 같은 개발도구를 이용하지 않고 자바로 만든 프로그램을 컴파일하고 실행하는 법을 배우려한다

(cmd에서 자바사용법 배우기)

 

<중요 3가지>

더보기

1.자바확장자가 붙은 소스코드를 클래스확장자가 붙은 실행파일로 바꾸는것(Compile)

2.클래스확장자가 붙은 파일을 실행하는것(Run)

3.입력값을 주는 . 입력값에 따라서 다르게 동작하는 출력값을 만드는 (Input)

 

<12챕터에서 >

1. Program.java파일을 컴파일해서 실행가능 파일인 Program.class 만들 것임. 그리고 Program.class 자바로 실행할 예정

2. OkJavaGoinhome.java 컴파일해서 .class 파일만들고 실행할 예정

     (위의 ok파일을 실행하기 위해서는 org폴더에 Elevator 자바를 로딩해야만 해야함)

3. OkJavaGoinhomeInput.java 이전 것과 같은데 하나 다른점은, args라는 변수를 통해서 사용자가 입력한 정보를 가져와서 출력해주는 그런 프로그램. 실행할 어떻게 입력값을 받을 있는가 하는 이슈가 있는

 


 

JAVA1 - 12.2 직접 컴파일하고 실행하기 : 실행환경 살펴보기

의미와 순서 이해에 방점을

 

▷ cmd에서 javac 파일명 입력하면 컴파일 가능해짐

 

*용어

bin = binary = 실행파일

 

▷ C드라이브-Program Files-jdk폴더-bin-java.exe 자바를 실행했을 실행되는 파일이 이녀석

(jdk폴더 찾아서 bin 들어갈 )

 

▷ cmd java라고 입력하고 명령을 내렸을 , 명령어가 어디에 있건간에 실행될 있는 것은 path라고 부르는 환경변수 때문

 

※ 환경변수(path) 확인방법

내컴퓨터-속성-고급시스템설정-고급탭 환경변수

 

 

▷ cmd java라고 입력하고 명령을 내렸을 , OS 현재 디렉토리에 java 있는지 보고 없으면 path설정된 경로를 하나씩 보고 없으면 파일을 찾을 없다고 에러를 띄운다

▷java 실행시켰을 에러가 뜨면 환경변수(path) 설정해주면 된다

 

 


 

JAVA1 - 12.3 직접 컴파일하고 실행하기 : 컴파일과 실행하기

cmd에서 programing 폴더가 있는 파일 경로로 옮기기 위하여

cd 폴더경로지정

 

dir쳐서 programing.java 있는지 확인

javac 엔터

 

javac Program.java

dir해보면 Program.java파일의 .class파일이 생성된 것을 있음

 

*에러가 났다면?

javac -cp "." Program.java 엔터

-cp : classpath

 

java Program 명령어 입력하면, 현재 디렉토리에 Program.class파일을 찾아보고 있다면 실행시킴 (에러 , java -cp "." Program 쳐볼 )

 

 

java Program 입력의 의미

자바에게 Program.class라는 파일을 찾아서 실행해 명령하면, 프로그램은 지정된 파일을 찾고 파일에서 main 찾는다. 그리고 main 안에 {} 안에 있는 코드를 순차적으로 실행하고 종료하도록 약속되어있음  (*main 메소드)

아래의 Prgram 클래스이고, 클래스를 만들어서 클래스 이름과 똑같은 자바확장자를 만들면 컴파일하고 실행시켜서 우리가 원하는 프로그램이 만들어지게

 

 

728x90
반응형

+ Recent posts