- parameter, argument
- 컴파일 방식
- 인터프리터 방식
- JAVA의 하이브리드 방식
- JAVA 개발 도구
- SHELL
device driver - os 별 표준 규격이 정해져있다.
local 간 통신은 웹어플리케이션이 담당.
웹어플리케이션에서 요청한 데이터 가공 및 저장은 ioc컨테이너(스프링부트)가 마지막에 다 처리함.
embadded - 기기에 심어진 프로그램 칩으로 작동
#-루트 실행 ($sudoo npm install : 관리자 권한으로 실행)
$ 일반사용자 실행
parameter = 매개변수 = 함수에서 전달된 값을 받는 변수
argument = 전달된 값 = 함수가 실행될 때 매개변수에 실제로 담기는 값
컴파일 방식
*gcc ( 컴파일, 프리컴파일,링킹 모두 한꺼번에 처리함)
*중간 compile 과정에서는 권한 제한이 되어있어 읽기 위해서는 권한 추가를 해줘야한다(chmod +x hello.ll)
인터프리트 방식
=>반드시 소스파일이 있어야함
각 프로그램마다 해석기를 부르는 이름이 다르다.
java는 virtual machine, js는 engine등..
JAVA => Hybrid 방식( 컴파일 + 인터프리터)
*한 번 컴파일하면 OS에 상관없이 실행할 수 있다.
*javac 컴파일 후 만들었던 *.java를 실행하는 것이 아닌 실행파일(class)를 실행한다.
*인터프리터는 운영체제 별로 다르다.
*중간 언어(Hello.class) 실행 방식의 실행속도 문제 해결
- JIT(Just in Time) 컴파일 : 실행 시점에 machine code 컴파일 후 vm에 임시 보관 후 loading (통상 android폰)
- AOT(Aheaad of Time) 컴파일 : 설치 시점에서 전체코드를 기계어로 변환(설치시간 소요, but 실행시간 단축 )
*처음부터 기계어를 app store에 업로드 할 수 없는 이유는 : 핸드폰마다(cpu) 컴파일러가 달라서..
*기계어, OS, CPU
OS가 다르고 CPU가 같을지라도 기계어 & 배치 포맷이 다르기 때문에 같은 방식으로 기계어 실행 불가
(CPU 같고, OS 다른 경우 : 기계어는 같지만 배치형식이 다름)
(CPU 다르고, OS 같은 경우 : 기계어가 다르고, 배치형식은 같음)
JAVA 개발 도구
제품군 | Java SE (Standard Edition)
제품 |
JRE = JVM + 라이브러리 (-> 일반 사용자, pc에 설치)
Server JRE = JRE - pc 용 기능 + 서버기능 (->서버 관리자, 서버에 설치)
JDK = JRE + 개발도구 (-> 개발자, pc & 서버 설치)
제품군 | Java EE (Enterprize Edition) 기업용
Java EE API, Java EE 구현서버
=> 기업용 app 제작할 때 필요한 명령이나 도구를 포함한다.
(분산 컴포넌트 생성 및 관리기술, 웹 app 제작 및 관리 기술, 자원 공유 및 관리, 배포 관리..)
*java se 를 포함하지 않는다(=jdk를 설치해야한다)
SHELL
'[네이버클라우드] 클라우드 기반의 개발자 과정 7기 > 웹프로그래밍' 카테고리의 다른 글
5/25 깃 사용법, gradle (0) | 2023.05.25 |
---|---|
[NC7기-22일차(5월24일)] - 웹프로그래밍 3일차 (0) | 2023.05.24 |
5/24 git, gradle (1) | 2023.05.24 |
5/23 powershell 설정 및 git 연결 (0) | 2023.05.23 |
[NC7기-20일차(5월22일)] - 웹프로그래밍 1일차 (0) | 2023.05.22 |