본문 바로가기
IT공부/종합

기본적인 개발 용어 정리

by 놀고싶은 노자 2020. 12. 20.

1. 디버그, 디버깅

디버깅이란 소프트웨어에서 발생하는 문제의 원인을 찾아 해결하는 과정을 말한다. 

실제로 코딩을 하는 시간의 상당 부분을 디버깅에 할애하게 된다. 

2. 컴파일

코딩을 하는 과정에서 사용하는 프로그래밍 언어는 사람이 알아보고 작성하기 쉽도록 만들어진 언어이다. 

컴퓨터는 0과 1의 신호만을 인식하기 때문에 작성한 코드 자체를 컴퓨터가 이해할 수는 없다. 

그래서 코드를 컴퓨터가 이해할 수 있는 언어로 번역하는 것이 컴파일이라고 한다. 

그래서 컴파일 작업이 요구되는 언어를 컴파일러 언어라고 하고, 그 예로는 C, C++, Java 등이 있다. 

 

컴퓨터는 컴파일된 언어를 읽기만 하면되어서 컴파일러 언어는 실행 속도가 빠른 대신, 코드를 작성할 때마다 

컴파일 작업을 해야 하는 불편함이 있다. 

 

컴파일 언어는 용도에 따라 0과 1로 이루어진 기계어뿐만 아니라

프로그래밍 언어와 기계어 중간 단계의 여러 형태로 번역하기도 한다. 

 

3. 인터프리터

컴파일 언어와는 달리, 파이썬, 루비, 자바 스크립트, HTML, SQL 등의 언어들은 번역 작업을 미리 하지 않고

실행될 때마다 '인터프리터'란 프로그램이 컴퓨터에게 코드를 기계어로 번역하는 언어이다. 

 

컴파일 과정이 필요없기 때문에 코드 수정이 잦은 제품의 경우 배포가 편하지만 실행 속도는 

컴파일러 언어에 비해 느리고, 프로그래머가 짠 코드가 그대로 노출될 수 있다는 단점이 있다. 

 

참고로 인터프리터 언어로 컴파일 되는 경우가 있다. 

타입 스크립트라는 언어로 자바스크립트에 더 다양하고 강력한 기능들을 넣은 언어이다. 

 

프로그래머가 타입스크립트로 코드를 구성하더라도

실행 환경은 자바스크립트이기 때문에 해당 코드를 읽지 못하기 때문에 

자바스크립트로 번역하는 컴파일 과정이 필요하게 된다. 

 

참고로 C언어는 인터프리터방식일 뿐 인터프리터 언어는 아니다. (위에서부터 순서대로 실행하는 방식을 의미할 뿐)

 

4. 빌드

프로그램 코드는 한 파일이 아니라 수백 개가 넘는 파일들에 걸쳐 작성이 되는데 

이를 완성하고 배포하려면 특정 형태로 압축하거나 변경해야 한다. 

이러한 과정을 빌드라고 한다. 

 

컴파일러 언어는 당연히 빌드에 컴파일 과정이 포함된다. 

 

빌드는 코드를 모아 하나의 실행파일을 만들기도 하고, 코드 파일들의 크기를 줄여 더 적은 용량의 파일로 만들기도 하고

다른 사람이 쉽게 읽지 못하게 난독화 하기도 한다. 

 

5. 배포

프로그래머가 코딩을 완성하고 빌드를 마친 후 소프트웨어를 사용자가 쓰도록 배포하는 과정을 말한다. 

웹 사이트의 경우에는 작업 결과를 사용자가 접속하여 브라우저로 볼 수 있도록 반영하는 작업을 말한다. 

 

6. 환경변수

환경변수란 소프트웨어가 돌아가는 환경마다 특정 변수명에 지정된 값을 말한다. 

환경변수를 사용하는 소프트웨어들은, 각자의 환경에 지정된 변수를 기준으로 동작하게 된다.

각 컴퓨터의 조건이나 용도에 맞게 소프트웨어가 돌도록 하거나 보안에 민감한 정보를 코드로부터 분리하는 등

환경변수도 다양한 목적과 형태로 활용된다. 

 

7. 라이브러리

프로그래머가 코딩을 하는 과정에서 모든 것을 수작업으로 만드는 것은 아니다. 

신뢰할만한 기업이나 단체, 개인이 작성한 양질의 코드를 

소프트웨어를 만드는 데 가져다 활용한다. 

이와 같이 필요에 맞게 사용할 수 있도록 특정 기능들을 코드로 작성해 놓은 것을 '라이브러리'라고 한다. 

예를 들면, 자바에는 기본적으로 자바라이브러리가 있는데

 일상적으로 코딩을 하면서 많이 쓰는 함수들이 다 라이브러리에 포함되어 있다고 생각하면 된다. 

 

8. 프레임워크

프레임워크는 이미 특정 형태의 소프트웨어가 기본 틀이 갖춰져 있고,

그 위에 내 코드를 덧붙여 만들 수 있도록 구성된 것들을 말한다. 

구조가 복잡하고, 널리 사용되는 형태의 소프트웨어인 경우 이와 같은 프레임워크들이 제공되어 이를 기반으로 제품을 만드는데

스프링이나 장고가 가장 대표적인 예시이다.