[네이버클라우드] AIaaS 개발자 과정/웹 프로그래밍

[네이버클라우드캠프] 2023.5.23 웹 프로그래밍(3) - Java 개발도구, 파일 다운로드 및 검증, 환경변수 설정

_꼬마돌 2023. 5. 23. 21:07
반응형

Java 개발도구

Java SE (Java Standard Editiono)

Java Standard Edition (Java SE)
Java 그로그래밍 언어의 표준 플랫폼과 라이브러리 집합. 
Java SE는 일반적인 어플리케이션 개발을 위한 핵심 기능을 제공하며, Java 개발자들이 다양한 플랫폼에서 실행 가능한 어플리케이션을 개발할 수 있도록 도와준다. 

• JVM (Java Virtual Machine)
Java 프로그램을 실행하기 위한 가상의 컴퓨터.
JVM은 Java 어플리케이션을 운영체제나 하드웨어에 독립적으로 실행할 수 있도록 한다. Java 프로그램은 컴파일된 형태인 바이트코드로 JVM에서 실행되며, JVM은 바이트코드를 해석하고 실행하는 역할을 담당한다. 또한 메모리 관리, 가비지 컬렉션, 스레드 관리 등의 기능을 제공하여 Java 프로그램의 실행 환경을 관리한다. 
• JRE (Java Runtime Environment)
Java 어플리케이션을 실행하기 위한 런타임 환경을 제공하는 소프트웨어 패키지.
JRE는 JVM, 클래스 라이브러리, 자바 실행 환경 설정 등의 구성 요소를 포함한다. JRE는 Java 어플리케이션을 실행하는 데 필요한 모든 구성 요소를 포함하고 있으며, 사용자가 Java 어플리케이션을 실행하기 위해서는 JRE를 설치해야 한다. 
• Server JRE
Java SE 기반의 JRE 중 하나로, 서버 환경에서 Java 어플리케이션을 실행하기 위한 최적화된 런타임 환경.
Server JRE는 클라이언트 시스템용 JRE와는 다른 목적을 가지며, 대규모 어플리케이션 및 서버 어플리케이션의 실행에 특화되어 있다. Server JRE는 향상된 성능과 메모리 관리 기능을 제공하여 서버 환경에서의 Java 어플리케이션의 실행을 최적화한다. 
• JDK (Java Development Kit)
Java 어플리케이션을 개발하기 위한 도구들을 포함하는 패키지.
JDK는 개발자가 Java 코드를 작성하고 컴파일, 디버깅, 실행, 문서화 등의 작업을 수행하는 데 필요한 도구와 라이브러리를 제공한다. JDK에는 Java 컴파일러(Javac), 디버거(jdb), JavaDoc 등의 도구와 Java SE API, 개발도구(IDE)와 통합할 수 있는 플러그인 등이 포함되어 있다. JDK는 Java 어플리케이션 개발을 위한 완전한 패키지로, 개발자가 Java 코드를 작성하고 실행하는 데 필요한 모든 도구를 제공한다. 

 

Java EE (Java Enterprise Edition)

Java Enterprise Edition (Java EE)
기업 수준의 대규모 어플리케이션 개발을 위한 Java 플랫폼과 스펙의 집합. 
Java EE는 Java SE를 기반으로 확장되어 분산 컴퓨팅 환경에서 안정적이고 확장 가능한 어플리케이션을 개발할 수 있도록 도와준다. Java EE는 다양한 어플리케이션 서버 (Apache Tomcat, Oracle WebLogic, IBM WebSphere등)에서 실행될 수 있으며, 안정성, 확장성, 보안성 등의 특징을 가지고 있다. 

파일 다운로드 및 검증

MD5, SHA256 등 알고리즘 리턴 값 검사

위 그림과 같이 파일에 악성코드 삽입과 같은 악의적인 변조가 있었는지 여부를 확인하는 방법으로 MD5와 SHA256이 사용된다. MD5 와 SHA256은 파일 다운로드 검증을 위해 사용되는 해시 알고리즘이다. 이러한 알고리즘은 파일의 무결성을 확인하기 위해 사용되며, 다운로드한 파일이 변조되거나 손상되었는지 확인하는 데 사용된다. 

MD5 (Message Digest Algorithm 5)
MD5는 주어진 입력 데이터의 고정 크기 해시 값을 생성하는 알고리즘이다. 일반적으로 128비트 해시 값을 생성하며, 파일의 특정 버전의 고유한 식별자로 사용될 수 있다. 파일을 다운로드한 후, 해당 파일의 MD5 해시 값을 생성하여 원본 MD5 해시 값과 비교한다. 만약 생성된 해시 값이 원본 MD5 해시 값과 일치한다면, 다운로드한 파일이 변조되지 않았음을 나타낸다. 
MD5의 보안이 취약해져서 요즘은 보다 안전한 해시 알고리즘인 SHA256으로 대체되고 있다. 

SHA256 (Secure Hash Algorithm 256-bit)
SHA256은 MD5보다 안전한 암호화 해시 함수로, 256비트 해시 값을 생성한다. MD5보다 강력한 보안 기능을 제공하며, 일반적으로 파일의 무결성을 확인하기 위해 사용된다. 파일을 다운로드한 후, 해당 파일의 SHA256 해시 값을 생성하여 원본 SHA256 해시 값과 비교한다. 해시 값이 일치한다면, 다운로드한 파일이 원본과 동일한 상태로 유지되었음을 보증한다. 

 

Java JDK 설치 과정에서 SHA256 확인해보기

Java JDK 설치

 

Download the Latest Java LTS Free

Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.

www.oracle.com

 

(sha256)을 클릭하면 sha256 해시코드를 확인할 수 있다.
SHA256 코드
설치한 JDK 파일의 SHA256 과 비교. Powershell을 이용하여 파일의 SHA256 값을 확인해봤다. Oracle에서 제공하는 원본파일의 SHA256코드와 일치하므로 원본과 동일한 상태임을 알 수 있다.


Java 환경변수 설정

'제어판' →  '시스템' → '고급 시스템 설정' → '환경 변수' 순으로 클릭. (시스템 환경 변수 편집 검색)

환경 변수 클릭
'시스템 변수'의 새로 만들기 클릭
변수 이름 'JAVA_HOME' 입력. 변수 값은 '디렉터리 찾아보기'로 탐색.
'시스템 변수'에서 'Path'를 찾아 편집 클릭.
새로 만들기 클릭 후, %JAVA_HOME%\bin 입력. 새로 만들어진 환경 변수가 맨 위에 있도록 위로 이동 클릭.

설치 확인

Powershell 실행

PS C:\Users\owner> echo $env:JAVA_HOME
=> Java의 환경수인 JAVA_HOME의 값을 출력

PS C:\Users\owner> java -version
=> 시스템에 설치된 Java의 버전 정보 출력

PS C:\Users\owner> echo $env:PATH
=> 환경 변수 'PATH'의 값 출력


반응형