소프트웨어 개발 - 개발 지원 도구

강신찬·2023년 5월 12일
0

통합 개발 환경(IDE, Integrated Development Environment)

  • 개발에 필요한 환경, 즉 편집기(Editor), 컴파일러(Compiler), 디버거(Debugger) 등의 다양한 툴을 하나의 인터페이스로 통합해 제공하는 것을 의미함.
  • 이클립스(Eclipse) ... IBM
  • 비주얼 스튜디오(Visual Studio) ... Microsoft
  • 엑스 코드(X Code) ... Apple
  • 안드로이드 스튜디오(Android Studio)... Google
  • IDEA .. JetBrains

빌드 자동화 도구

  • 소스 코드를 소프트웨어로 변환하는 과정에 필요한 전처리(Preprocessing), 컴파일(Compile) 등의 작업들을 수행하는 소프트웨어

Ant(Another Neat Tool)

  • 아파치 소프트웨어 재단에서 개발한 소프트웨어
  • 자바 프로젝트의 공식적인 빌드 자동화 도구
  • XML 기반의 빌드 스크립트를 사용
  • 정해진 규칙이나 표준이 없어 개발자가 모든 것을 정의
  • 스크립트의 재사용이 어려움

Maven

  • 아파치 소프트웨어 재단에서 Ant의 대안으로 개발
  • 규칙이나 표준이 존재해 예외 사항만 기록됨
  • 컴파일과 빌드를 동시에 수행할 수 있음.
  • 의존성(Dependency)을 설정하여 라이브러리를 관리

Gradle

  • 기존의 Ant와 Maven을 보완해 개발된 빌드 자동화 도구
  • 안드로이드 스튜디오(안드로이드 앱 개발)의 공식 빌드 도구
  • Maven과 동일하게 의존성(Dependency) 활용
  • 그루비(Groovy) 기반의 빌드 스크립트 사용
  • 플러그인을 설정하면, JAVA, C/C++, Python 등의 언어도 빌드 가능
  • 실행할 처리 명령들을 모아 태스트(Task)로 만든 후 태스크 단위로 실행
  • 이전에 사용했떤 태스크를 재사용하거나 다른 시스템의 태스크를 공유할 수 있는 빌드 캐시 기능 지원 -> 빌드의 속도 향상

Jenkins

  • JAVA 기반의 오픈 소스 형태로 가장 많이 사용되는 빌드 자동화 도구
  • 서블릿 컨테이너에서 실행되는 서버 기반 도구
  • SVN, Git 등 대부분의 형상 관리 도구와 연동 가능
  • 친숙한 Web GUI 제공
  • 여러 대의 컴퓨터를 이용한 분산 빌드나 테스트 가능

기타 협업 도구(Groupware, 그룹웨어)

  • 일정 관리 도구
    • 구글 캘린더
  • 프로젝트 관리 도구
    • 트렐로(Trello), 지라(Jira)
  • 정보 공유 및 커뮤니케이션 도구
    • 슬랙(Slack), 잔디(Jandi), 태스크월드(Task World)
  • 디자인 도구
    • 스케치(Sketch), 제플린(Zeplin)
  • 아이디어 공유 도구
    • 에버노트(Evernote)
  • 형상 관리도구
    • 깃허브(GitHub)

출처: https://m.blog.naver.com/wook2124/222103416117

profile
꾸준히 공부하는 백엔드 개발자

0개의 댓글

관련 채용 정보