사용자는 Web browser에 서비스를 요청하고 웹브라우저는 Web server에 프로토콜로 요청을 전달한다
웹서버에서는 app에 실행을 요청하고 애플리케이션은 그 결과를 다시 서버로 전달한다
웹서버는 전달받은 결과를 프로토콜로 웹브라우저에 응답한다
개발자는 이 중 application을 관리하는 역할
웹브라우저는 os에 기본설치되어 따로 설치할필요가 없지만 웹서버는 따로 설치해줄 필요가 있다
웹서버는 두가지로 나뉘는데 단순 웹서버 파일을 읽어서 웨브라우저에 송출하는 것
application 실행서버로 나뉨
컴퓨터가 해야할 일을 특별한 언어를 사용해 기술하는 것
특별한 언어 = 프로그래밍 언어 (Java, C, C++, C#, Swift, Javascript, Python, R, PHP …)
Java 언어로 Application 제작 – java 편집기 필요 (Eclipse IDE, VS Code)
Java언어로 명령서 작성 → 자바 컴파일러 이용 컴퓨터 언어로 변환 → 플레이어로 실행(JVM)
Local : 사용자PC
Remote : Local 과 분리된 다른 PC
C/S 방식에선 Client가 Local, Server가 Remote 라고 볼 수 있음
local이 remote에게 요청하면 응답함
통신에 프로토콜 이용 (HTTP, FTP …)
개발자는 명령서.java 를 eclipse, vscode 같은 통합개발환경 편집기로 작성
명령서를 자바컴파일러 이용해 컴퓨터용 명령서.class 로 변환 class파일은 바이트코드
변환된 명령서를 JVM 으로 실행. JVM은 바이트코드 플레이어 (JRE)
Java SE (Standard) – JDK, JRE. 데스크탑 앱 개발 + test. 기본도구
Java EE (Enterprise) – 기업용. 동시다중사용자, 원격설정, 자원관리 등
Java EE 에는 Java SE 포함X
Java ME (Micro) – 모바일용. 임베디드 장비용.
JDK 설치 (Java 11) – Graalvm JDK → C:\bitcamp\ 에 압축해제
java 11 다운이유? → LTS Long Term Service 안정적인 서비스 제공 버전이어서
bin\ – 실행파일 디렉토리
lib\ - 빌트인 자바 코드 디렉토리
path 환경변수에 JDK디렉토리\bin 경로 추가
JAVA_HOME 변수 추가
C:\bitcamp\JDK 디렉토리
Visual Studio Code 설치
작업폴더 설정 후 Hello.java 생성
cmd에서 컴파일
class Hello {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
$javac Hello.java -> Hello.class 생성 -> $java Hello -> Hello, World! 출력
java언어로 명령어 작성 Hello.java – 자바 소스 파일 → compile → bytecode로 된 JVM명령어 Hello.class – 자바 클래스 파일 → JVM(java.exe) 으로 실행
컴파일은 javac - javac Hello.java
실행은 java - java Hello