개발 지원 도구
1) 통합 개발 환경(IDE; Integrated Development Environment)
- 개발에 필요한 환경, 즉 편집기(Editor), 컴파일러(Compiler), 디버거(Debugger) 등의 다양한 툴을 하나의 인터페이스로 통합해 제공하는 것을 의미함
- 이클립스(Eclipse) by IBM
- 비주얼 스튜디오(Visual Studio) by Microsoft
- 엑스 코드(X Code) …byApple
- 안드로이드 스튜디오(Android Studio) …byGoogle
- IDEA by JetBrains
2) 빌드 자동화 도구
- 소스 코드를 소프트웨어로 변환하는 과정에 필요한 전처리(Preprocessing), 컴파일(Complie) 등의 작업들을 수행하는 소프트웨어
2.1) Ant(Another Neat Tool)
-아파치 소프트웨어 재단에서 개발한 자바 프로젝트의 공식적인 빌드 자동화 도구
-XML 기반의 빌드 스크립트를 사용
-정해진 규칙이나 표준이 없어 개발자가 모든 것을 정의
-스크립트의 재사용이 어려움
2.2) Maven
-아파치 소프트웨어 재단에서 Ant의 대안으로 개발
-규칙이나 표준이 존재해 예외 사항만 기록됨
-컴파일과 빌드를 동시에 수행할 수 있음
-의존성(Dependency)을 설정하여 라이브러리를 관리
2.3) Gradle
-기존의 Ant와 Maven을 보완해 개발된 안드로이드 스튜디오(앱 개발)의 공식 빌드 자동화 도구
-Maven과 동일하게 의존성(Dependency) 활용
-그루비(Groovy) 기반의 빌드 스크립트 사용
-플러그인을 설정하면, JAVA, C/C++, Python 등의 언어도 빌드 가능
-실행할 처리 명령들을 모아 태스크(Task)로 만든 후 태스크 단위로 실행
-이전에 사용했던 태스크를 재사용/ 다른 시스템의 태스크를 공유할 수 있는 빌드 캐시 기능 지원 → 빌드의 속도 향상
2.4) Jenkins
- JAVA 기반의 오픈 소스 형태로 가장 많이 사용되는 빌드 자동화 도구
- 서블릿 컨테이너에서 실행되는 서버 기반 도구
- SVN, Git 등 대부분의 형상 관리 도구와 연동 가능, Web GUI 제공
- 여러 대의 컴퓨터를 이용한 분산 빌드나 테스트 가능
3) 기타 협업 도구(Groupware, 그룹웨어)
- 프로젝트 관리 도구 트렐로(Trello), 지라(Jira)
- 정보 공유 및 커뮤니케이션 도구 슬랙(Slack), 잔디(Jandi), 태스크월드(Task world)
- 디자인 도구 스케치(Sketch), 제플린(Zeplin)
- 아이디어 공유 도구 에버노트(Evernote)
- 형상 관리 도구 깃허브(GitHub)
'Challenges > 정보처리기사' 카테고리의 다른 글
[정보처리기사]2.소프트웨어 개발/제품 소프트웨어/디지털 저작권 관리 (0) | 2021.08.24 |
---|---|
[정보처리기사]2.소프트웨어 개발/제품 소프트웨어/소프트웨어 패키징 & 릴리즈 노트 (0) | 2021.08.24 |
[정보처리기사]2.소프트웨어 개발/데이터 입·출력 구현/알고리즘 (0) | 2021.08.19 |
[정보처리기사]2.소프트웨어 개발/데이터 입·출력 구현/자료구조 (0) | 2021.08.12 |
[정보처리기사]1. 소프트웨어 설계/인터페이스 설계/인터페이스 방법 명세화 (0) | 2021.08.11 |