개발 기본 용어

Gunju Kim·2025년 3월 19일
0

필수시청 영상

목록 보기
5/32

디버깅 (Debugging)

  • 의미: 코드에서 발생한 오류(bug)를 찾아내고 수정하는 작업입니다.

  • 어원: 벌레(bug)를 제거(remove)한다는 뜻에서 유래

  • 방법:
    에러 메시지를 통해 원인 분석
    브레이크포인트(breakpoint)를 설정하여 코드가 실행되는 과정을 한 단계씩 살펴보며 문제 파악

  • 사용 도구 예시:
    IDE 디버거 (IntelliJ, Eclipse, Visual Studio, VSCode 등)

📝 한 줄 요약:
버그(오류)를 찾고 고치는 과정

빌드 (Build)

  • 의미: 개발자가 작성한 소스코드를 실행 가능한 형태(실행파일, 배포가능한 패키지 등)로 만드는 과정입니다.

  • 과정 포함:
    소스코드 컴파일
    필요한 라이브러리, 의존성 모으기
    실행 가능한 형태로 묶기

  • 대표적 빌드 도구:
    Java: Maven, Gradle
    JavaScript: Webpack, Parcel
    C/C++: Make, CMake

📝 한 줄 요약:
소스코드를 실행 가능한 파일로 만드는 작업

라이브러리 (Library)

  • 의미: 자주 사용하는 기능을 미리 구현해놓은 코드 모음입니다.

  • 특징:
    코드의 재사용을 높임
    개발 효율성 향상

  • 예시:
    Python: pandas(데이터 분석), requests(HTTP 요청)
    JavaScript: Lodash(편의 기능), Axios(네트워크 요청)
    Java: Apache Commons(범용 기능)

📝 한 줄 요약:
필요한 기능을 모아 놓은 코드 모음

컴파일러 (Compiler)

  • 의미: 개발자가 작성한 소스코드를 기계어(컴퓨터가 이해할 수 있는 언어)로 바꿔주는 도구입니다.

  • 특징:
    컴파일 과정에서 문법 오류나 문제를 미리 발견 가능
    컴파일 이후 프로그램 실행 시 빠름

  • 예시:
    Java의 javac, C/C++의 gcc, g++

📝 한 줄 요약:
소스코드를 기계어로 바꿔주는 도구

배포 (Deployment)

  • 의미: 개발한 프로그램을 사용자가 실제로 사용할 수 있게 서버 또는 서비스에 올리는 작업입니다.

  • 과정 포함:
    서버에 파일 업로드
    데이터베이스 설정
    서비스 환경 설정

  • 예시:
    웹 사이트 배포 → AWS, Netlify 등
    모바일 앱 배포 → Google Play Store, Apple App Store

📝 한 줄 요약:
개발한 프로그램을 사용자에게 제공하는 작업

인터프리터 (Interpreter)

  • 의미: 소스코드를 기계어로 변환하지 않고, 코드 한 줄씩 바로 실행하는 프로그램입니다.

  • 특징:
    별도의 컴파일 과정 없이 바로 실행
    실행 속도는 컴파일러 언어보다 느릴 수 있음
    실행 중에 발생하는 오류를 바로 파악할 수 있음

  • 예시:
    Python, JavaScript (Node.js), Ruby

📝 한 줄 요약:
코드를 한 줄씩 즉시 해석해서 실행하는 도구

환경변수 (Environment Variable)

  • 의미: 운영체제(OS)에서 프로그램이 실행될 때 필요한 설정 정보(경로, 옵션 등)를 저장하는 변수입니다.

  • 활용:
    OS가 실행 환경을 설정하는 데 사용
    프로그램에서 자주 바뀌는 설정이나 비밀 정보(비밀번호 등)를 저장할 때 유용

  • 예시:
    PATH: 프로그램 실행 경로를 저장하는 환경변수
    JAVA_HOME: Java의 설치 경로를 저장하는 환경변수
    개발 시 DB 비밀번호, API 키 등 민감 정보를 저장하기도 함.

한 줄 요약:
OS에서 프로그램 설정 정보를 저장하는 변수

프레임워크 (Framework)

  • 의미: 특정 문제를 해결하기 위한 구조를 이미 만들어 놓은 소프트웨어 뼈대 또는 틀입니다.

  • 특징:
    개발자가 프레임워크에서 정한 구조와 규칙대로 구현함
    프레임워크가 코드의 흐름을 관리하며, 개발자는 필요한 부분만 작성하면 됨

  • 예시:
    웹 개발: React, Vue, Angular (프론트엔드), Spring, Django, Express (백엔드)
    모바일 앱 개발: Flutter, React Native

  • 라이브러리와 차이점:
    라이브러리는 개발자가 호출해서 사용하는 도구(수동적)이며,
    프레임워크는 코드의 흐름을 프레임워크가 주도하고 개발자가 그 안에 기능을 추가하는 구조(능동적)입니다.

📝 한 줄 요약:
특정 개발 구조를 미리 잡아놓은 소프트웨어 틀

profile
처음이라서 그래 가본적 없던 길에

0개의 댓글