반응형
본문에 오류가 있을 수 있음을 감안하고 봐주시길 바랍니다.
# 문제 풀이 중 오답노트 하면서 나온 내용을 정리한 것
통합 개발 환경(Integrated Development Environment, IDE): 개발에 필요한 환경, 즉 편집기(Editor)·컴파일러(Compiler)·디버거(Debugger) 등의 다양한 툴을 하나의 인터페이스로 통합하여 제공하는 환경을 말한다. 통합 개발 환경 도구는 코드를 실행하거나 테스트할 때 오류가 발생한 부분을 시각화하므로 수정이 용이하다. 다양한 프로그래밍 언어를 지원한다.
- IDEA: JetBrains에서 만들었으며 멀티 플랫폼 기반으로 실행되고 Java·JSP·XML 등의 다양한 언어 지원
| IDE 도구의 기능 | 내용 |
| 코딩(Coding) | C, JAVA 등의 프로그래밍 언어로 프로그램 작성하는 기능 |
| 컴파일(Compile) | 개발자가 작성한 고급 언어로 된 프로그램을 컴퓨터가 이해할 수 있는 목적 프로그램으로 번역하여 컴퓨터에서 실행 가능한 형태로 변환하는 기능 |
| 디버깅(Debugging) | 소프트웨어나 하드웨어의 오류나 잘못된 동작, 즉 버그(Bug)를 찾아 수정하는 기능 |
| 배포(Deployment) | 소프트웨어를 사용자에게 전달하는 기능 |
빌드 도구: 소스코드 파일들을 컴퓨터에서 실행할 수 있는 제품 소프트웨어로 변환하는 과정 또는 결과물을 말한다. 빌드 도구는 전처리(Preprocessing)·컴파일(Compile) 등의 작업을 수행한다.
| 종류 | 특징 |
| Ant(Another Neat Tool) | · 아파치 소프트웨어 재단에서 개발 · 자바 프로젝트의 공식적인 빌드 도구 · 정해진 규칙이나 표준이 없음 |
| Maven | · 아파치 소프트웨어 재단에서 Ant의 대안으로 개발 · 의존성(Dependency)을 설정하여 라이브러리를 관리함 · 규칙이나 표준이 존재하여 예외 사항만 기록 |
| Gradle | · 한스 도커가 Ant와 Maven을 보완하여 개발 · 안드로이드 스튜디오의 공식 빌드 도구 · 그루비(Groovy) 기반의 빌드 스크립트를 사용함 |
서버 개발: 웹 애플리케이션의 로직을 구현할 서버 프로그램을 제작하여 웹 애플리케이션 서버(WAS)에 탑재하는 것을 의미한다. 서버 개발에 사용되는 프로그래밍 언어에는 Java, JavaScript, Python, PHP, Ruby 등이 있다.
- 서버 개발 프레임워크: 서버 프로그램 개발시 다양한 네트워크 설정·요청 및 응답 처리·아키텍처 모델 구현 등을 손쉽게 처리할 수 있도록 클래스나 인터페이스를 제공하는 소프트웨어를 의미한다. 대부분은 모델-뷰-컨트롤러(MVC) 패턴을 기반으로 개발되었다.
| 프레임워크 | 특징 |
| Spring | · Java를 기반으로 만든 프레임워크 · 전자정부 표준 프레임워크의 기반 기술로 사용되고 있음 |
| Node.js | · JavaScript를 기반으로 만든 프레임워크 · 비동기 입·출력 처리와 이벤트 위주의 높은 처리 성능을 갖고 있어 실시간으로 입·출력이 빈번한 애플리케이션에 적합함 |
| Django | · Python을 기반으로 만든 프레임워크 · 컴포넌트의 재사용과 플러그인화를 강조하여 신속한 개발이 가능하도록 지원함 |
| Codeigniter | · PHP를 기반으로 만든 프레임워크 · 인터페이스가 간편하며 서버 자원을 적게 사용함 |
| Ruby on Rails | · Ruby를 기반으로 만든 프레임워크 · 테스트를 위한 웹 서버를 지원하며 데이터베이스 작업을 단순화·자동화시켜 개발 코드의 길이가 짧아지게 함으로써 신속한 개발이 가능함 |
- 서버 개발 과정: DTO/VO·SQL·DAO·Service·Controller를 각각 구현하는 과정이다. 구현 순서는 개발자가 임의로 변경할 수 있고 개발하려는 서버 프로그램의 목적·개발 언어·규모 등의 이유로 통합되거나 세분화 할 수 있다.
| 과정 | 내용 |
| DTO/VO 구현 | · 데이터 교환을 위해 사용할 객체를 만드는 과정 · 송·수신할 데이터의 자료형에 맞는 변수 및 객체를 생성함 |
| SQL 구현 | · 데이터의 삽입, 변경, 삭제 등의 작업을 수행할 SQL문을 생성하는 과정 · SQL문은 소스 코드 내에 직접 입력 또는 별도의 XML 파일로 관리함 |
| DAO 구현 | 데이터베이스에 접근하고 SQL을 활용하여 데이터를 실제로 조작하는 코드를 구현하는 과정 |
| Service 구현 | 사용자의 요청에 응답하기 위한 로직을 구현하는 과정 |
| Controller 구현 | 사용자의 요청에 적절한 서비스를 호출하여 그 결과를 사용자에게 반환하는 코드를 구현하는 과정 |

배치 프로그램(Batch Program): 사용자의 상호 작용 없이 여러 작업들을 미리 정해진 일련의 순서에 따라 일괄적으로 처리하도록 만든 프로그램을 의미한다.
- 배치 프로그램의 필수 요소: 대용량 데이터, 자동화, 견고성, 안전성/신뢰성, 성능
- 대용량 데이터: 대량의 데이터를 가져오거나, 전달하거나, 계산하는 등의 처리가 가능해야 함
- 자동화: 심각한 오류가 발생하는 상황을 제외하고는 사용자의 개입 없이 수행되어야 함
- 견고성: 잘못된 데이터나 데이터 중복 등의 상황으로 중단되는 일 없이 수행되어야 함
- 안전성/신뢰성: 오류가 발생하면 오류의 발생 위치, 시간 등을 추적할 수 있어야 함
- 성능: 다른 응용 프로그램의 수행을 방해하지 않아야 하고 지정된 시간 내에 처리가 완료되어야 함
- 배치 스케줄러(Batch Scheduler): 일괄 처리 작업(Batch Processing)이 설정된 주기에 맞춰 자동으로 수행되도록 지원해주는 도구이다. 특정 업무를 지정한 시간에 처리할 수 있도록 지원한다는 특성 때문에 잡 스케줄러라고도 불린다.
| 배치 스케줄러 | 특징 |
| Spring Batch | · Spring Source와 Accenture사가 2007년 공동 개발한 오픈 소스 프레임워크 · 로그 관리, 추적, 트랜잭션 관리, 작업 처리 통계, 작업 재시작 등의 다양한 기능을 제공함 |
| Quartz | · 자바(Java) 환경의 응용 프로그램들의 일괄 처리를 위한 다양한 기능을 제공하는 오픈 소스 라이브러리 · 수행할 작업과 수행 시간을 관리하는 요소들을 분리하여 일괄 처리 작업에 유연성을 제공함 |
| Cron | · 리눅스의 기본 스케줄러 도구 · crontab 명령어를 통해 작업을 예약할 수 있음 |

반응형
'정보처리기사' 카테고리의 다른 글
| [정보처리기사 요약 5-2] 모듈 연계(EAI/ESB) 및 웹 서비스(REST/SOAP) 정리 (0) | 2026.02.26 |
|---|---|
| [정보처리기사 요약 5-1] 시스템 인터페이스 요구사항 및 연계 기술 정리 (ft. 미들웨어 종류) (0) | 2026.02.26 |
| [정보처리기사 요약 4-3] GoF 디자인 패턴 23가지 총정리 및 코드(Code)의 종류 (0) | 2026.02.26 |
| [정보처리기사 요약 4-2] 객체지향(OOP) 분석부터 모듈 설계, 결합도·응집도 (0) | 2026.02.26 |
| [정보처리기사 요약 4-1] 소프트웨어 개발 환경 구축 및 아키텍처 패턴 완벽 정리 (0) | 2026.02.25 |