36. 개발 지원 도구

alpaka·2024년 1월 12일
0

정보처리기사

목록 보기
40/161
post-thumbnail

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

  • 통합 개발 환경은 코딩, 디버그, 컴파일, 배포 등 프로그램 개발과 관련된 모든 작업을 하나의 프로그램에서 처리할 수 있도록 제공하는 소프트웨어적인 개발 환경을 말한다.
  • 기존 소프트웨어 개발에서는 편집기(Editor), 컴파일러(Compiler), 디버거 (Debugger) 등의 다양한 툴을 별도로 사용했으나 현재는 하나의 인터페이스로 통 합하여 제공한다.
  • 통합 개발 환경 도구는 통합 개발 환경을 제공하는 소프트웨어를 의미한다.
  • 통합 개발 환경을 지원하는 도구는 플랫폼, 운영체제, 언어별로 다양하게 존재하며, 대표적인 도구는 다음과 같다.

    프로그램개발사플랫폼운영체제지원 언어
    이클립스(Eclipse)Eclipse Foundation, IBM크로스 플랫폼Windows, Linux, MacOS 등Java, C, C++, PHP, JSP,Python 등
    비주얼 스튜디오 (Visual Studio)MicrosoftWin32, Win64WindowsBasic, C, C++, Python 등
    엑스 코드(Xcode)AppleMac, iPhoneMacOS, iOSC, C++, C#, Java, Python, AppleScript 등
    안드로이드 스튜디오(Android Studio)GoogleAndroidWindows, Linux, MacOSJava, C, C++
    IDEAJetBrains(이전 IntelliJ)크로스 플랫폼Windows, Linux, MacOSJava, JSP, XML, Go, Kotlin, PHP 등

    코딩(Coding)C, JAVA, Python 등의 프로그래밍 언어로 프로그램을 작성하는 기능이다.
    컴파일 (Compile)개발자가 작성한 고급 언어로 된 프로그램을 컴퓨터가 이해할 수 있는 목적 프로그램으로 번역하여 컴퓨터에서 실행 가능한 형태로 변환하는 기능이다.
    디버깅(Debugging)소프트웨어나 하드웨어의 오류나 잘못된 동작, 즉 버그(Bug)를 찾아 수정하는 기능이다.
    배포(Deployment)소프트웨어를 사용자에게 전달하는 기능이다.

빌드 도구

  • 빌드는 소스 코드 파일들을 컴퓨터에서 실행할 수 있는 제품 소프트웨어로 변환하는 과정 또는 결과물을 말한다.
  • 빌드 도구는 소스 코드를 소프트웨어로 변환하는 과정에 필요한 전처리(Preprocessing), 컴파일(Compile) 등의 작업들을 수행하는 소프트웨어를 말한다.
  • 대표적인 도구로는 Ant, Maven, Gradle 등이 있다.

    Ant(Another Neat Tool)- 아파치 소프트웨어 재단(Apache Software Foundation)에서 개발한 소프트웨어로 자바프로젝트의 공식적인 빌드 도구로 사용되고 있다.
    - XML 기반의 빌드 스크립트를 사용하며, 자유도와 유연성이 높아 복잡한 빌드 환경에도 대처가 가능하다.
    - 정해진 규칙이나 표준이 없어 개발자가 모든 것을 정의하며 스크립트의 재사용이 어렵다.
    Maven- Ant와 동일한 아파치 소프트웨어 재단에서 개발된 것으로 Ant의 대안으로 개발되었다.
    - 규칙이나 표준이 존재하여 예외 사항만 기록하면 되며, 컴파일과 빌드를 동시에 수행할 수 있다.
    - 의존성(Dependency)을 설정하여 라이브러리를 관리한다.
    Gradle- 기존의 Ant와 Maven을 보완하여 개발된 빌드 도구이다.
    - 한스 도커(Hans Docker) 외 6인의 개발자가 모여 공동 개발하였다.
    - 안드로이드 스튜디오의 공식 빌드 도구로 채택된 소프트웨어이다.
    - Maven과 동일하게 의존성을 활용하며 그루비(Groovy) 기반의 빌드 스크립트를 사용한다.

기타 협업 도구

  • 협업 도구는 개발에 참여하는 사람들이 서로 다른 작업 환경에서 원활히 프로젝트를 수행할 수 있도록 도와주는 도구(Tool)로, 협업 소프트웨어, 그룹웨어(Groupware) 등으로도 불린다.
  • 협업 도구의 종류

    프로젝트 및 일정 관리- 전체 프로젝트와 개별 업무들의 진행 상태, 일정 등을 공유하는 기능을 제공한다.
    - 종류: 구글 캘린더(Google Calendar), 분더리스트(Wunderlist), 트렐로(Trello), 지리(Jira), 플로우(Flow) 등
    정보공유 및 커뮤니케이션- 주제별로 구성원들을 지목하여 방을 개설한 후 정보를 공유하고 대화하는 것이 가능하다.
    - 파일 관리가 간편하고 의사소통이 자유로운 것이 특징이다.
    - 종류: 슬랙(Slack), 잔디(Jandi), 태스크월드(Taskworld) 등
    디자인- 디자이너가 설계한 UI나 이미지의 정보들을 코드화하여 개발자에게 전달하는 기능을 제공한다.
    - 종류: 스케치(Sketch), 제플린(Zeplin) 등
    기타- 아이디어 공유에 사용되는 에버노트(Evernote)
    - API를 문서화하여 개발자들 간 협업을 도와주는 스웨거(Swagger)
    - 깃(Git)의 웹호스팅 서비스인 깃허브(GitHub)

출처: 2024 시나공 정보처리기사 필기 기본서

profile
alpaka의 자격증 공부장

0개의 댓글

관련 채용 정보