프로그래밍기능사 · 응용SW기초기술 과목
프로그래밍기능사 개발 환경 개념 정리
중요도 ★★☆☆☆ · 15% (추정)
AI가 새로 쓴 글 가운데, 작성과 분리된 AI 검증(다시 읽고 사실·수치 확인)을 통과한 단원만 싣습니다. 틀린 곳을 발견하면 알려 주세요.
개요
이 단원은 프로그램을 만들고 실행하는 데 필요한 도구와 환경을 다룹니다. 코드를 기계어로 바꾸는 번역 방식, 코드 변경 내역을 관리하는 버전 관리 도구, 그리고 웹 서버와 미들웨어가 중심입니다.
사람이 쓴 코드는 컴퓨터가 바로 알아듣지 못하므로 번역이 필요합니다. 컴파일러는 프로그램 전체를 한 번에 번역해 실행 파일을 만들고, 인터프리터는 한 줄씩 번역하면서 바로 실행합니다. C 는 대표적인 컴파일 언어이고, 파이썬은 대표적인 인터프리터 언어입니다.
버전 관리 도구는 누가 언제 무엇을 바꿨는지 기록해 두고 필요하면 예전 상태로 되돌릴 수 있게 해 줍니다. Git 은 각자의 컴퓨터에 전체 기록을 가지는 분산형 도구입니다. 웹 서버는 사용자에게 웹 페이지 같은 정적인 내용을 보내 주고, WAS(웹 애플리케이션 서버)는 프로그램을 실행해 그때그때 다른 결과를 만들어 줍니다. 미들웨어는 서로 다른 프로그램이나 시스템 사이를 이어 주는 소프트웨어입니다.
핵심 개념
컴파일러와 인터프리터
컴파일러는 프로그램 전체를 한 번에 번역해 실행 파일을 만듭니다. 인터프리터는 한 줄씩 번역하면서 곧바로 실행합니다.
외우는 요령컴파일러는 책 한 권 통째 번역, 인터프리터는 동시통역.
버전 관리
코드가 바뀐 내역을 기록해 두고, 여러 사람이 함께 작업하거나 예전 상태로 되돌릴 수 있게 하는 일입니다.
외우는 요령문서의 '수정 이력 보기'를 코드에 쓴다고 생각하세요.
Git
각 개발자의 컴퓨터에 저장소 전체 기록을 두는 분산형 버전 관리 도구입니다. 커밋으로 변경을 기록하고, 푸시로 원격 저장소에 올립니다.
외우는 요령Git 은 분산형, SVN 은 중앙 집중형.
웹 서버와 WAS
웹 서버는 HTML·그림처럼 이미 만들어진 정적인 내용을 보내 줍니다. WAS 는 프로그램을 실행해 요청마다 달라지는 동적인 내용을 만들어 줍니다.
외우는 요령정적이면 웹 서버, 동적이면 WAS.
미들웨어
운영체제와 응용 프로그램 사이, 또는 서로 다른 시스템 사이에서 통신과 자료 교환을 도와 주는 소프트웨어입니다.
외우는 요령미들(middle) = 가운데에서 이어 주는 것.
자주 나오는 포인트
- 컴파일러와 인터프리터의 차이를 묻는 문제를 대비하세요.
- Git 이 분산형 버전 관리 도구라는 점을 묻습니다.
- 웹 서버와 WAS 가 하는 일을 바꿔 놓은 선지를 조심하세요.
헷갈리는 것 비교: 컴파일러와 인터프리터
| 구분 | 컴파일러 | 인터프리터 |
|---|---|---|
| 번역 단위 | 프로그램 전체 | 한 줄씩 |
| 실행 파일 | 만든다 | 만들지 않는다 |
| 대표 언어 | C | 파이썬 |
대표 문제 3개
검수를 마친 예상문제 가운데 이 단원의 대표 문제입니다.
문제 1. 여러 개발자가 각자 컴퓨터에 전체 저장소를 복제해 두고 작업하는 분산형 버전 관리 도구는?
- ① Git
- ② SVN
- ③ JDK
- ④ JUnit
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ① Git
핵심: Git 은 분산형 버전 관리 도구다
버전 관리 도구는 파일이 바뀐 기록을 남겨 이전 상태로 되돌리거나 함께 작업할 수 있게 해 줍니다. Git 은 각자 전체 저장소를 복제해 가지는 분산형입니다.
틀린 선지
- ② SVN: SVN 은 중앙 서버 한 곳에 저장소를 두는 중앙 집중형 도구입니다.
- ③ JDK: JDK 는 자바 개발 도구 모음으로, 버전 관리 도구가 아닙니다.
- ④ JUnit: JUnit 은 자바 단위 테스트 도구입니다.
문제 2. 고급 언어로 작성한 프로그램 전체를 한 번에 기계어로 번역해 실행 파일을 만드는 프로그램은?
- ① 인터프리터
- ② 로더
- ③ 컴파일러
- ④ 링커
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ③ 컴파일러
핵심: 컴파일러는 전체를 한 번에, 인터프리터는 한 줄씩 번역한다
컴파일러는 프로그램 전체를 먼저 번역해 실행 파일을 만듭니다. 한 번 번역해 두면 실행이 빠릅니다. C 언어가 대표적인 컴파일 방식 언어입니다.
틀린 선지
- ① 인터프리터: 인터프리터는 프로그램을 한 줄씩 번역하면서 바로 실행합니다.
- ② 로더: 로더는 실행할 프로그램을 주기억장치에 올립니다.
- ④ 링커: 링커는 번역된 여러 목적 파일을 하나로 연결합니다.
문제 3. Git 에서 내 컴퓨터(로컬 저장소)에 커밋한 내용을 원격 저장소로 올리는 명령어는?
- ① git clone
- ② git pull
- ③ git commit
- ④ git push
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ④ git push
핵심: git push 는 올리기, git pull 은 내려받기
Git 작업 순서는 보통 다음과 같습니다.
- git add: 올릴 파일 고르기
- git commit: 로컬 저장소에 기록
- git push: 원격 저장소로 올리기
틀린 선지
- ① git clone: git clone 은 원격 저장소 전체를 처음 복제해 올 때 씁니다.
- ② git pull: git pull 은 반대로 원격 저장소의 변경 내용을 내려받아 합칩니다.
- ③ git commit: git commit 은 변경 내용을 로컬 저장소에만 기록합니다.