제이슨의 개발이야기

프로그래밍 용어 빌드? sdk? jdk? 컴파일? 본문

컴퓨터과학

프로그래밍 용어 빌드? sdk? jdk? 컴파일?

제이쓰은 2021. 3. 15. 22:08
728x90
반응형

 

안녕하세요 프로그래밍 공부를 하고 있는 학생이나 면접을 준비하고 있는 취업 준비생 혹은 전공생 분들이 개발 공부를 하다보면 문득 이런 생각이 듭니다 빌드가 근대 뭐지? sdk가 뭐지? 컴파일이 머였더라? 분명 대충 무엇인지는 알지만 이걸 누군가가 물어본다면 어떻게 설명해야 할까 난감할때가 있습니다 그래서 오늘은 이러한 용어 정리를 해보려구 합니다 

 

컴파일 : 

프로그래밍 언어로 작성한 프로그램을 컴퓨터가 이해할 수 있도록 기계어로 번역하는 일 자체를 컴파일 이라고 한다 

 

빌드 : 

소스코드 파일을 실행가능한 소프트웨어 산출물로 만드는 일련의 과정입니다

빌드를 하게 되면 자바로 예를들면 소스코드를 컴파일 해서 .class 파일로 변환하는 과정을 거치고 여러 resource .class에서 참조 할 수 있는 적절한 위치에 옮기고 각종 metadata 등등을 하나로 묶는 역할입니다 

즉 컴파일은 빌드의 일부분입니다! 빌드도구로는 Ant,  Maven, Gradle 입니다 

 

sdk 

Software Development Kit의 줄임말 

SDK 안에는 개발에 도움이 될 개발 도구 프로그램, 디버깅 프로그램, 문서, API 등이 있습니다

 

jdk

 

jdk는 Java Development Kit의 줄임말로 

자바 개발을 위한 sdk 라고 생각하시면 됩니다

참고로 Java SE 는 jdk 라고 하지만 Java EE 는 sdk 라고 하네요 이유는 저도 잘 모르겠습니다 ㅎㅎ....

아 그리고 제가 요즘 코틀린 공부를 하고 있는대 코틀린도 jdk를 이용하더라구요 아마 같은 .class 파일로 변환 하기 때문이지 않을까 싶습니다 

 

API

 

API는 응용 프로그램 개발 시 운영체제나 프로그래밍 언어 등에 있는 라이브러리를 이용할 수 있도록 규칙 등을 정의해 놓은 인터페이스를 말합니다 ! 

 

library(라이브러리 )

 

라이브러리는 함수 혹은 메소드 의 집합입니다 기존의 누군가가 만들어 놓은 것들을 가저다 쓸 수 있습니다 

예를 들면 okhttp , glide 등이 있습니다 

 

framework (프레임워크 )

 

프레임워크는 단어 그대로 어떤 일을 하기 위한 틀 이라고 생각하시면 됩니다 프레임 워크 역시 함수 혹은 메소드 들의 집합이지만

어떠한 특정한 일을 하기 위해 필수적으로 필요 하거나 있으면 좋은 기능을 제공하는  함수 혹은 메소드의 집합체라고 생각하시면 됩니다

 

웹 애플리케이션 서버(web application server)

사용자에게 동적 서비스를 제공하기 위해 웹 서버로 부터 요청을 받아 데이터 가공 작업을 수행 하거나 웹 서버 와 데이터베이스 서버 또는 웹 서버와 파일 서버 사이에서 인터페이스 역할을 수행하는 서버이다

예 : Apache Tomcat , Oracle WebLogic

 

웹서버(web server)

클라이언트로 부터 직접 요청을 받아 처리하는 서버로 저 용량의 정적파일들을 제공한다

여기에서 정적파일을 제공한다는 말이 중요!!!!

예 : Apache Http Server , Google Web Server

 

디버깅 

 

컴퓨터 프로그램 개발 단계 중에 발생하는 오류 , 잘못된 연산을 찾아내서 원인을 밝히고 수정하는 작업 과정

 

동기방식

 

 요청(request)을 하면 시간이 얼마나 걸리던지 그 자리에서 결과(response)가 주어집니다

그래서 그 결과를 받기 전까지는 다른 일은 수행 하지않습니다

 

비동기방식

 

요청을 하고 그 결과와 상관없이 다른 일이 수행되는 것을 비동기 입니다

결과를 주어지는데 시간이 걸리더라도 다른 일을 할 수 있어서 자원의 효율을 얻을 수 있습니다 

비동기식은 비동기식 처리를 요청할 때 할일 이 끝난 후 처리결과를 알려주는 콜백이라는 함수를 함께 알려줍니다

 

자세한 내용은 아래 블로그 참고

jieun0113.tistory.com/73

 

[용어정리] 동기방식&비동기방식 비교

동기방식 (Synchronous) 요청을 보낸 후 응답(=결과)를 받아야지만 다음 동작이 이루어지는 방식이다. 어떠한 일을 처리할 동안 다른 프로그램은 정지한다. 실제 cpu가 느려지는 것은 아니지만 시스

jieun0113.tistory.com

 

728x90
반응형