。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

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

[NC7기-21일차(5월23일)] - 웹프로그래밍 2일차

quarrrter 2023. 5. 23. 20:27
  • 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

리눅스에서 배웠던 쉘과,, 커널의 개념..