1. 통합 개발 환경 IDE
- 프로그램 개발과 관련된 모든 작업을 하나의 프로그램에서 처리할 수 있도록 제공하는 소프트웨어적인 개발 환경
- 통합 개발 환경 도구 : 통합 개발 환경을 제공하는 소프트웨어
- 통합 개발 환경 도구의 기능
- 코딩 Coding : C, JAVA, Python 등의 프로그래밍 언어로 프로그램을 작성하는 기능
- 컴파일 Compile : 개발자가 작성한 고급 언어로 된 프로그램을 컴퓨터가 이해할 수 있는 목적 프로그램으로 번역하여 컴퓨터에서 실행 가능한 형태로 변환하는 기능
- 디버깅 Debugging : 소프트웨어나 하드웨어의 오류나 잘못된 동작, 버그를 찾아 수정하는 기능
- 배포 Deployment : 소프트웨어를 사용자에게 전달하는 기능
- 통합 개발 환경을 지원하는 도구
프로그램 | 개발사 | 플랫폼 | 운영체제 | 지원언어 |
이클립스 (Eclipse) | Eclipse Foundation, IBM | 크로스 플랫폼 (여러 종류의 시스템에서 공통으로 사용될 수 있는 소프트웨어, 멀티 플랫폼) | Windows, Linux, MacOS 등 | Java, C, C++, PHP, JSP, Python 등 |
비주얼 스튜디오 (Visual Studio) | Microsoft | Win32, Win64 | Windows | Basic, C, c++, Python 등 |
엑스 코드 (Xcode) | Apple | Mac, iPhone | MacOS, iOS | C, C++, C#, Java, Python, AppleScript 등 |
안드로이드 스튜디오 (Android Studio) | Android | Windows, Linux, MacOS | Java, C, C++ | |
IDEA | JetBrains (이전 IntellU) | 크로스 플랫폼 | Windows, Linux, MacOS | Java, JSP, XML, Go, Kotlin, PHP 등 |
2. 빌드 도구
- 소스 코드 파일들을 컴퓨터에서 실행할 수 있는 제품 소프트웨어로 변환하는 과정 또는 결과물
- 소스 코드를 소프트웨어로 변환하는 과정에서 필요한 전처리, 컴파일 등의 작업들을 수행하는 소프트웨어
- 전처리 Preprocessing : 컴파일에 앞서 코드에 삽입된 주석을 제거하거나 매크로들을 처리하는 과정
- 대표적인 빌드 도구
- Ant (Another Neal Tool)
- 아파치 소프트웨어 재단에서 개발한 소프트웨어
- 자바 프로젝트의 공식적인 빌드 도구로 사용되고 있음
- XML 기반의 빌드 스크립트를 사용
- 자유도와 유연성이 높아 복잡한 빌드 환경에도 대처가 가능
- 정해진 규칙이나 표준이 없어 개발자가 모든 것을 정의
- 스크립트의 재사용이 어려움
- Maven
- Ant와 동일한 아파치 소프트웨어 재단에서 개발된 것
- Ant의 대안
- 규칙이나 표준이 존재하여 예외 사항만 기록하면 되며, 컴파일과 빌드를 동시에 수행할 수 있음
- 의존성을 설정하여 라이브러리를 관리
- 의존성 Dependency : 라이브러리를 관리할 때 사용하는 명령어, 빌드 스크립트 안에 사용하고자 하는 라이브러리를 <depndency> 예약어로 등록하면 빌드 수행 시 인터넷상의 라이브러리 저장소에서 해당 라이브러리를 찾아 코드에 추가해 줌
- Gradle
- 기존의 Ant와 Maven을 보완하여 개발된 빌드 도구
- 안드로이드 스튜디오의 공식 빌드 도구로 채택된 소프트웨어
- 의존성을 활용하며, 그루비(Grooby) 기반의 빌드 스크립트 사용
- 그루비 Grooby : 자바를 기반으로 여러 프로그래밍 언어들의 장점을 모아 만들어진 동작 객체지향 프로그래밍 언어
- Ant (Another Neal Tool)
3. 기타 협업 도구
- 프로젝트 및 일정 관리
- 전체 프로젝트와 개별 업무들의 진행 상태, 일정 등을 공유하는 기능을 제공
- 종류 : 구글 캘린더, 분더리스트, 트렐로, 지라, 플로우 등
- 정보 공유 및 커뮤니케이션
- 주제별로 구성원들을 지목하여 방을 개설한 후 정보를 공유하고 대화하는 것이 가능
- 파일 관리가 간편, 의사소통이 자유로움
- 종류 : 슬랙, 잔디, 태스크월드 등
- 디자인
- 디자이너가 설계한 UI나 이미지의 정보들을 코드화하여 개발자에게 전달하는 기능을 제공
- 종류 : 스케치, 제플린 등
- 기타
- 아이디어 공유에 사용되는 에버노트
- API를 문서화하여 개발자들 간 협업을 도와주는 스워거
- 깃허브
'Study > EIP' 카테고리의 다른 글
[정보처리기사 필기] 제품 소프트웨어 패키징 - 039. 소프트웨어 설치 매뉴얼 작성 (0) | 2025.02.10 |
---|---|
[정보처리기사 필기] 제품 소프트웨어 패키징 - 038. 디지털 저작권 관리 (0) | 2025.02.10 |
[정보처리기사 필기] 통합 구현 - 035. 단위 모듈 테스트 (0) | 2025.01.25 |
[정보처리기사 필기] 통합 구현 - 034. 단위 모듈 구현 (0) | 2025.01.25 |
[정보처리기사 필기] 데이터 입출력 구현 - 033. 절차형 SQL (0) | 2025.01.24 |