검수요청.png검수요청.png

"통합개발환경"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
잔글
잔글 (파이참)
 
(사용자 2명의 중간 판 6개는 보이지 않습니다)
70번째 줄: 70번째 줄:
 
[[파일:인텔리제이 아이디어 글자.png|썸네일|250픽셀|'''[[인텔리제이 아이디어]]'''(IntelliJ IDEA)]]
 
[[파일:인텔리제이 아이디어 글자.png|썸네일|250픽셀|'''[[인텔리제이 아이디어]]'''(IntelliJ IDEA)]]
  
[[인텔리제이 아이디어]](IntelliJ IDEA)는 [[젯브레인스]] 사에서 제작한 상용 자바 통합개발환경으로, 줄여서 인텔리제이 혹은 아이디어로도 불린다. 이클립스 재단의 이클립스와 썬 마이크로시스템즈의 넷빈즈로 대표되는 무료 자바 통합개발환경에서 볼랜드의 제이빌더와 함께 얼마 되지 않는 상용 개발 도구 가운데 하나이다. <ref name='intellij_idea'>〈[https://ko.wikipedia.org/wiki/I IntelliJ IDEA]〉, 《위키백과》</ref> 인텔리제이 아이디어는 다음과 같은 기능이 있다.
+
[[인텔리제이 아이디어]](IntelliJ IDEA)는 [[젯브레인스]] 사에서 제작한 상용 자바 통합개발환경으로, 줄여서 인텔리제이 혹은 아이디어로도 불린다. 이클립스 재단의 이클립스와 썬 마이크로시스템즈의 넷빈즈로 대표되는 무료 자바 통합개발환경에서 볼랜드의 제이빌더와 함께 얼마 되지 않는 상용 개발 도구 가운데 하나이다. <ref name='intellij_idea'>〈[https://ko.wikipedia.org/wiki/I IntelliJ IDEA]〉, 《위키백과》</ref>
 
 
* '''스마트 완성''' : Ctrl+Shift+Space를 누르면 현재 컨텍스트에 적용할 수 있는 가장 적합한 심볼 목록이 표시된다. 이 기능을 비롯한 모든 완성 기능은 사용자 행동을 지속적으로 학습하여, 가장 자주 사용되는 클래스와 패키지의 멤버를 최상위 제안 목록으로 올려 놓기 때문에 사용자가 더 빨리 선택할 수 있다.
 
* '''체인 완성''' : 스마트 완성보다 자세히 분석하여, 현재 컨텍스트에서 메소드나 게터로 액세스할 수 있으며 적용 가능한 심볼 목록을 표시한다. 예를 들어 Project 값을 찾으려 하는데 module이라는 모듈 선언만 가지고 있는 경우, 다른 작업을 할 필요 없이 Ctrl+Shift+Space를 두 번 눌러 module.getProject()를 얻을 수 있다.
 
* '''정적 멤버 완성''' : 정적 메소드와 상수를 간편하게 사용할 수 있다. 입력 내용에 맞는 심볼 목록이 제공되고 필요한 import 문이 자동으로 추가된다.
 
* '''데이터 흐름 분석''' : 인텔리제이 아이디어는 데이터 흐름을 분석하여 가능한 런타임 심볼 유형을 추측하고 해당 정보에 따라 선택지를 개선해 클래스의 형 변환을 자동으로 추가한다.
 
* '''언어 삽입''' : 사용자가 평소에 이용하던 코드 지원의 이점이 그대로 지원되어, 선택한 언어를 다른 언어의 표현식과 문자열 리터럴에 사용할 수 있다. 예를 들어, [[SQL]], [[XPath]], HTML, CSS 또는 자바스크립트 코드의 일부를 자바 문자열에 삽입할 수 있다.
 
* '''교차 언어 리팩토링''' : 인텔리제이 아이디어는 심볼의 사용 위치를 모두 파악하기 때문에 매우 효과적이며 완벽한 리팩토링을 제공한다. 예를 들어 JPA 구문에 있는 클래스의 이름을 변경하는 경우, JPA 엔티티 클래스부터 모든 JPA 표현식까지 해당 클래스가 사용되고 있는 모든 요소를 빠짐없이 업데이트한다.
 
* '''중복 탐지''' : 중복된코드 부분을 바로 찾아낸다. 변수나 상수, 메소드만 추출하려고 하는 경우에도 인텔리제이 아이디어는 작업 중인 코도를 대체할 수 있는 유사한 코드가 있음을 알려 준다.
 
* '''검사 및 빠른 수정''' : 인텔리제이 아이디어에서 사용자의 실수를 탐지할 때마다 에디터에 작은 전구를 표시한다. 전구를 클릭하거나 Alt+Enter를 누르면 오류 수정을 위해 선택할 수 있는 액션 목록이 열린다.<ref name='jetbrain'>젯브레인스 공식 홈페이지 - https://www.jetbrains.com/ko-kr/</ref>
 
  
 
=== 파이참 ===
 
=== 파이참 ===
 
[[파일:파이참 글자.png|250픽셀|썸네일|오른쪽|'''[[파이참]]'''(PyCharm)]]
 
[[파일:파이참 글자.png|250픽셀|썸네일|오른쪽|'''[[파이참]]'''(PyCharm)]]
  
[[파이참]](PyCharm)은 파이썬 프로그램을 쉽게 개발할 수 있도록 하는 통합개발환경이다. 코드 분석 및 코딩 지원, 프로젝트 및 코드 탐색, 파이썬, 웹 프레임워크 지원, 통합 파이썬 디버그, 라인 단위 테스트, 구글 앱 엔진 파이썬(Google App Engine Python), 통합 사용자 인터페이스, 과학적 도구를 지원한다.<ref name='jetbrain'></ref> 파이참은 다음과 같은 기능들을 포함한다.
+
[[파이참]](PyCharm)은 파이썬 프로그램을 쉽게 개발할 수 있도록 하는 통합개발환경이다. 코드 분석 및 코딩 지원, 프로젝트 및 코드 탐색, 파이썬, 웹 프레임워크 지원, 통합 파이썬 디버그, 라인 단위 테스트, 구글 앱 엔진 파이썬(Google App Engine Python), 통합 사용자 인터페이스, 과학적 도구를 지원한다.<ref name='jetbrain'>젯브레인스 공식 홈페이지 - https://www.jetbrains.com/ko-kr/</ref>
 
 
* '''지능적인 코드 에디터''' : 파이참의 스마트 코드 에디터는 파이썬, 자바스크립트, 커피스크립트, 타입스크립트, CSS, 인기 있는 템플릿 언어 등에 최고 수준의 지원을 제공한다. 언어 인식 기반의 코드 완성, 오류 탐지, 즉각적인 코드 수정 기능을 활용할 수 있다.
 
* '''스마트 코드 탐색''' : 스마트 검색을 이용하면 어떤 클래스, 파일, 심볼, 통합개발환경 액션 또는 도구 창으로든 이동할 수 있다. 클릭 한 번으로 선언, 상위 메서드, 테스트, 사용 위치, 구현 등으로 전환이 가능하다.
 
* '''빠르고 안전한 리팩토링''' : 안전한 이름 변경(Rename), 삭제(Delete), 메소드 추출(Extract Method), 변수 삽입(Introduce Variable), 변수/메소드 인라인화(Inline Variable/Method) 등 다양한 리팩토링 기능을 사용하여 코드를 지능적으로 리팩토링할 수 있다. 언어 및 프레임워크에 특화된 리팩토링으로 프로젝트 전체에서 변경 내용을 손쉽게 적용할 수 있다.
 
* '''디버그·테스트·프로파일링''' : 시각적 사용자 인터페이스를 가진 강력한 디버거를 파이썬 및 자바스크립트에 사용할 수 있다. 코딩 지원 기능 및 그래픽 사용자 인터페이스 기반 테스트 러너를 사용해 테스트를 생성하고 실행 가능하고, 파이썬 프로파일러 통합을 이용해 코드를 완벽하게 제어할 수 있다.
 
* '''VCS·배포 및 원격 개발''' : 깃(Git), SVN, 머큐리얼(Mercurial) 또는 기타 버전 관리 시스템과 호환되는 통합 사용자 인터페이스를 사용해 시간을 절약할 수 있다. 원격 시스템에서 애플리케이션을 실행하고 디버그할 수 있으며, 원격 호스트 또는 가상머신으로 자동 배포를 손쉽게 구성하고, 베이그런트(Vagrant) 및 도커(Docker)를 사용해 인프라를 관리할 수도 있다.
 
* '''데이터베이스 도구''' : 파이참에서 바로 오라클, 에스큐엘(SQL) 서버, 포스트 그레스 큐엘(PostgreSQL), 마이에스큐엘(MySQL) 및 기타 데이터베이스에 액세스할 수 있다. 에스큐엘 코드 편집, 쿼리 실행, 데이터 검색, 스키마 변경 시 파이참 기능을 활용 가능하다.
 
* '''파이썬 웹 프레임워크''' : 파이참은 [[쟝고]](Django) 템플릿 디버거, manage.py 및 appcfg.py 도구, 특수 자동 완성 및 탐색 기능 등을 포함해 쟝고, 플라스크(Flask), 구글 앱 엔진(Google App Engine), 피라미드(Pyramid), web2py와 같은 최신 웹 개발 프레임워크에 뛰어난 프레임워크별 지원을 제공한다.
 
* '''자바스크립트 및 HTML''' : 파이참은 자바스크립트, 커피스크립트, 타입스크립트, HTML, CSS 및 해당 언어의 최신 버전에 최고 수준의 지원을 제공한다. 자바스크립트 디버거는 파이참에 포함되고, 쟝고 서버 실행 구성에 통합된다.
 
* '''라이브 에디트''' : 실시간 편집(Live Editing) 미리보기를 이용하면 에디터와 브라우저에서 페이지를 열 수 있고 코드에 적용된 변경 내용을 브라우저에서 즉시 확인할 수 있다. 파이참에서 변경 내용을 자동으로 저장하면, 브라우저에서 스마트한 방식으로 즉시 페이지를 업데이트하여 편집 내용을 보여 준다.
 
* '''대화형 파이썬 콘솔''' : 파이참에서 REPL 파이썬 콘솔을 실행하면 검사 기능을 통한 실시간 구문 검사, 짝이 되는 괄호 및 따옴표 표시, 코드 완성 등, 해당 콘솔의 표준 버전보다 다양한 장점을 이용할 수 있다.
 
* '''과학 스택 지원''' : 파이참은 과학 라이브러리를 기본 지원한다. 판다스(Pandas), 눔피(Numpy), Matplotlib 및 기타 과학 라이브러리를 지원하여 업계 최고의 코드 인텔리전스, 그래프, 배열 뷰어 등 다양한 기능을 제공한다.
 
* '''콘다 통합''' : 프로젝트 당 별도의 콘다(Conda) 환경을 구현하여 종속 요소를 분리된 상태로 유지가 가능하다. 파이참은 최적의 환경을 손쉽게 생성하고 선택할 수 있도록 도와 준다.
 
* '''플러그인''' : 10여 년에 걸친 인텔리제이 플랫폼의 발전에 따라 추가 VCS 지원, 여러 도구와 프레임워크 통합, VIM 에뮬레이션과 같은 에디터 향상 기능을 포함해, 파이참에는 50가지가 넘는 다양한 통합개발환경 플러그인이 제공되고 있다.
 
* '''크로스 플랫폼 통합개발환경''' : 파이참은 윈도우즈, 맥 OS 또는 리눅스에서 작동한다. 보유한 시스템 수 만큼 파이참을 설치하고 실행할 수 있으며, 시스템 전체에서 동일한 환경과 기능을 사용할 수 있다.<ref name='jetbrain'></ref>
 
  
 
=== 알스튜디오 ===
 
=== 알스튜디오 ===
105번째 줄: 81번째 줄:
  
 
[[알스튜디오]](RStudio)는 [[R]]을 처음 배우는 사람이 사용하는 통합개발환경이다. 다른 통합개발환경에 비해 R 언어에 특화된 사용자 인터페이스와 기능을 가지고 있으며, ggplot2, shiny, dplyr, httr 등 다양한 패키지를 왕성하게 만들고 있는 알스튜디오 팀이 직접 관리를 하기 때문에 문서도 많고, 국내 사용자 층도 큰 편이다. 특히 초보자부터 고급 사용자까지 필요한 많은 기능들을 그래픽 사용자 인터페이스로 제공함으로써 배울수록 편리함이 늘어난다.<ref name='r_studio'>mrchypark, 〈[https://mrchypark.github.io/data_camp_dabrp/rstudio.html 실무 빅데이터 분석을 위한 SQL과 R의 활용 CAMP]〉, 《깃허브》</ref>
 
[[알스튜디오]](RStudio)는 [[R]]을 처음 배우는 사람이 사용하는 통합개발환경이다. 다른 통합개발환경에 비해 R 언어에 특화된 사용자 인터페이스와 기능을 가지고 있으며, ggplot2, shiny, dplyr, httr 등 다양한 패키지를 왕성하게 만들고 있는 알스튜디오 팀이 직접 관리를 하기 때문에 문서도 많고, 국내 사용자 층도 큰 편이다. 특히 초보자부터 고급 사용자까지 필요한 많은 기능들을 그래픽 사용자 인터페이스로 제공함으로써 배울수록 편리함이 늘어난다.<ref name='r_studio'>mrchypark, 〈[https://mrchypark.github.io/data_camp_dabrp/rstudio.html 실무 빅데이터 분석을 위한 SQL과 R의 활용 CAMP]〉, 《깃허브》</ref>
 
;버전 8.x
 
* 대화상자 찾기/표시의 완전한 재설계
 
* ReFS3.4 파일 시스템 지원
 
* 성공적인 파일 복구를 위한 가능성 예측
 
* 휴지통 및 삭제된 파일의 이름 및 경로 복구
 
* 그림 타일과 비디오 파일의 첫 번째 프레임을 아이콘으로 표시할 수 있으며, 여러 가지의 비디오/오디오/그래픽/문서 파일 형식을 지원하는 새로운 기능을 갖춘 파일 프리뷰어를 지원한다. 관련 파일 형식을 개별 애플리케이션을 설치하지 않고 재생할 수 있다.
 
* 암호화를 포함하여 APFS 지원
 
* mdadm RAID 지원
 
* 애플 코어스토리지/파일 볼트/퓨전 드라이브 지원
 
* 새로 연결되거나 분리된 USB 장치의 자동 인식
 
* TFS 로그에 대한 향상된 지원
 
* ReFS2+ 파일 시스템 지원(윈도우즈 2016 서버)
 
* NTFS 데이터 중복 제거 지원
 
* 새로운 확장된 중복 파일 처리 옵션
 
* NVME 장치 지원
 
* 알려진 파일 유형 검색(원시 파일 복구)을 위한 크게 향상된 알고리즘
 
* 윈도우 10 기념일 업데이트에서 만든 윈도우 저장소 공간에 대한 지원
 
* 파일 마스크 기본 설정
 
* 데이터 복구 속도 및 결과를 향상시키는 새로운 데이터 분석 및 복구 커널
 
* 기술자 버전의 심볼릭 링크(Symlink) 복구 옵션
 
* HFS+ 및 Ext3/Ext4 FS 파일 시스템에 대한 파일 시스템 저널 처리로 성공적으로 발견된 파일 수를 늘린다.
 
* UFS 파티션의 향상된 복구를 위해 소프트 업데이트 저널 처리
 
* HFS+, Ext3/Ext4 FS 및 UFS 파일 시스템에서 확장 속성을 지원한다. 이를 통해 맥 OSX 타임 머신 및 보안 강화 리눅스 ACL의 복구가 향상된다.
 
* 대용량 디스크 검사를 위한 최적화된 메모리 사용
 
* Ext3/Ext4 FS 및 UFS 파티션에서 삭제된 파일에 대한 향상된 폴더 트리 확인
 
* 일반 영역은 독점 영역으로 변환될 수 있다.<ref name='r-tools'>알 툴즈 테크놀로지 공식 홈페이지 - https://www.r-tt.com/ko/</ref>
 
 
;버전 7.x
 
* exFAT 파티션 복구를 위한 새 고급 알고리즘
 
* 동기화되지 않은 디스크에서 윈도우즈 소프트웨어 RAID에 대한 지원
 
* 원시 파일 복구를 위한 새 고급 알고리즘(파일 서명 검색)
 
* 16진수 편집기 확장: 파일 위치가 특정 디스크 섹터에 표시된다.
 
* 디렉터리 연결 대상 및 심볼 링크 지원
 
* 빠른 읽기 장치를 위한 가속 디스크 스캔
 
* 더욱 믿을 수 있고 NTFS와 FAT 파티션의 인식 속도가 현저하게 빨라졌다.
 
* 삭제된 파일 버전 검색 : 알스튜디오는 검색 매개변수로 파일의 크기, 이름, 확장자, 인식된 파일 유형을 사용하여 삭제된 파일 버전을 검색할 수 있다.
 
* 16진수 에디터의 개선된 데이터 선택 : 선택 범위는 바로가기 메뉴에서 "Select from"과 "Select to" 명령어를 통해 설정할 수 있다.
 
* 16진수 에디터에서 기존 파일에 데이터 추가 : 에디터에서 선택한 파일 조각은 기존 파일에 추가할 수 있다.
 
* 외부 파일은 16진수 에디터에서 연 파일에서 선택한 위치로 로드할 수 있다.
 
* 약간 데이터베이스가 손상된 윈도우즈 저장소 공간(윈도우즈 8/8.1 및 10/Threshold 2)을 자동 지원한다. 데이터베이스가 일부 부모에서 완전히 손상된 경우 해당 공간을 수동으로 구성할 수 있다.
 
* 소프트웨어 맥 RAID에 대한 자동 지원 : 심각하게 손상된 RAID 매개 변수 레코드가 있는 구성원은 수동으로 추가할 수 있다.
 
* 약간 손상된 RAID 매개 변수 레코드가 있는 리눅스 로지컬 볼륨 매니저(Linux Logical Volume Manager)(LVM/LVM2)에 대한 자동 지원 : 심각하게 손상된 RAID 매개 변수 레코드가 있는 구성 요소는 수동으로 추가할 수 있다.
 
* DiskSpar Disk Imager 이미지 및 디스크 맵에 대한 지원 : 알스튜디오는 알스튜디오를 사용하지 않고 DiskSpar Disk Imager에서 만든 이미지 및 디스크 맵을 읽고 처리할 수 있다.
 
* 자동 RAID 매개 변수 인식 : 알스튜디오는 RAID 5 및 6에 대한 모든 RAID 매개 변수를 인식할 수 있다. 이 기능은 사용자가 RAID 복구에서 대부분의 까다로운 문제를 해결하는 데 유용하다.
 
* S.M.A.R.T. 특성 모니터링 : 알스튜디오는 하드 드라이브에 대한 S.M.A.R.T(Self-Monitoring, Analysis and Reporting Technology) 특성을 표시하여 해당 하드웨어 상태를 보여주고 가능한 실패를 예측할 수 있다. S.M.A.R.T. 경고가 나타나는 경우 해당 하드 드라이브를 사용하는 불필요한 모든 작업을 피해야 한다.
 
* 새로운 그래픽 사용자 인터페이스 언어 : 중국어 번체, 중국어 간체 및 포르투갈어
 
* 모든 적용 가능한 RAID 레이아웃에서 패리티 지연 지원
 
* 개선된 패리티 지연 컨트롤<ref name='r-tools'></ref>
 
 
;버전 6.x
 
* 심각한 하드 드라이브 읽기 불안정 문제 해결 : 알스튜디오 테크니션은 전문 데이터 복구 장비 DeepSpar Disk Imager와의 통합을 바탕으로 하드 디스크 드라이브의 하드웨어 수준에서 기능을 제공한다.
 
* ReFS(Resilient File System) : 마이크로소프트에서 윈도우즈 2012 서버에 도입한 새 로컬 파일 시스템을 지원한다.
 
* 윈도우즈 2012 서버 운영체제 지원
 
* HP 서버에서 종종 사용되는 패리티 지연이 있는 RAID5에 대한 지원
 
* "nested" 및 "enhanced" RAID 수준 지원 : RAID10 (1+0), RAID1E, RAID5E, RAID5EE, RAID6E
 
* 주요 PC 운영체제에 대한 알스튜디오 에이전드 : 윈도우즈, 맥 OS, 리눅스
 
* 동시에 이미지 만들기 및 스캔 : 알스튜디오에서 이미지를 만들고 동시에 이미지에서 데이터를 스캔할 수 있다. 따라서 이미지 파일 및 스캔 정보가 포함된 파일과 같이 두 개의 파일이 같은 위치에 만들어진다.
 
* 파일 복구 목록 : 알스튜디오에서 내보내고, 수동으로 편집한 다음 다시 가져올 수 있는 디스크의 파일 목록 및 해당 목록의 파일은 복구를 위해 자동으로 표시된다. 멀리 떨어져 있는 사람이 복구할 파일을 결정하게 하려는 경우 이러한 목록은 매우 유용하다.
 
* RAID 일관성 확인 : RAID의 패리티 블록이 유효한지 여부를 확인할 수 있다.
 
* 이미지 및 스캔 정보 파일을 원격 컴퓨터에 저장하고 로드할 수 있다. 그러면 알스튜디오가 네트워크 복구 중에 네트워크에서 큰 데이터 볼륨을 전송하지 않도록 방지하는 데 도움이 된다.<ref name='r-tools'></ref>
 
 
;버전 5.x
 
* NAT/방화벽 통과: 알스튜디오에서 알스튜디오 에이전트로 또는 알스튜디오 에이전트에서 알스튜디오로 연결을 설정할 수 있다. 이를 통해 인터넷에서 데이터를 복구하는 경우 알스튜디오가 NAT/방화벽을 통과할 수 있다. 필요한 경우 HTTP 터널링이 사용된다.
 
* 스캔 알고리즘 향상 : FAT 및 NTFS 파티션에 대한 스캔이 향상되었다.
 
* 원격 컴퓨터에서 복구된 파일 바로 저장 : 네트워크로 원격 컴퓨터에 데이터를 복구하는 경우, 이제 알스튜디오는 복구된 파일을 동일한 원격 컴퓨터의 다른 디스크(예: 외부 USB 하드 드라이브)에 저장할 수 있다. 또한 원격 컴퓨터를 로컬 네트워크가 아닌 인터넷에 연결할 수 있다. 이 기능은 데이터 복구 기술자 및 기업에 특히 유용하며, 이제 인터넷에서 적절하게 원격으로 해당 클라이언트를 제공할 수 있으며 네트워크에서 큰 볼륨의 데이터를 전송할 필요가 없다. 또한, 원격 컴퓨터에서 복구된 파일은 알스튜디오 에이전트가 실행되고 있는 인터넷이 연결된 다른 원격 컴퓨터나 로컬 컴퓨터에 저장할 수 있다.
 
* 포렌식 모드(기술자 버전 전용) : 이 모드에서 알스튜디오는 법원 심리에서 제시할 수 있는 포렌식 데이터 수집을 생성한다. 이 로그에는 포렌식 데이터 수집이 수행되는 하드웨어 구성 및 복구된 파일에 대한 MD5 체크섬 관련 정보가 포함되어 있다.
 
* RAID 6 지원 : 리드-솔로몬(Reed-Solomon) 및 버티컬(Vertical) XOR 포함하고 사용자 지정된 RAID 6개의 레이아웃에 대한 지원을 한다.
 
* exFAT 및 Ext4 FS 파일 시스템에 대한 지원
 
* 고급 개체 사본 : 드라이브 패널에서 표시되는 개체의 바이트별 사본뿐만 아니라 크기 및 오프셋 조정으로 파티션 및 하드 드라이브의 스마트 사본을 사용할 수 있다.
 
* 64비트 및 32비트 윈도우즈 버전 지원 : 64비트 윈도우즈에서 알스튜디오는 32비트 응용 프로그램에 대한 3GB RAM 제한을 해결하며 64비트 우니도우즈 시스템에 설치된 모든 물리적 램을 이용한다. 이를 통해 특히 고용량 디스크 스캔 시 소프트웨어의 성능이 크게 향상된다.
 
* 진행률 표시줄 : 복구 중인 개별 파일 및 전체 복구 프로세스에 대한 진행률, 경과된 시간 및 남은 시간, 복구 로그를 표시한다.
 
* 텍스트/16진수 편집기에서 클릭할 수 있는 링크 : 해당 링크를 통해 분석 및 편집할 개체의 중요한 부분으로 직접 점프할 수 있다.<ref name='r-tools'></ref>
 
  
 
=== 엑스코드 ===
 
=== 엑스코드 ===
183번째 줄: 86번째 줄:
  
 
[[엑스코드]](xcode)는 애플이 개발한 [[OS X]]의 개발 툴 모음이다. 엑스코드는 애플리케이션을 개발하기 위한 필요한 모든 도구(텍스트 에디터, 컴파일러, 빌드 시스템 등)를 가져 온다. 또한, 스크립트를 이용해 개별적인 툴로 가지고 오는 것이 아니라 하나의 패키지로 가지고 온다. 엑스코드는 맥과 IOS를 위한 애플의 공식적인 통합개발환경으로, 초기에는 '프로젝트 인 더 넥스트 데이(Project Builder In the NeXT days)'라고 불렸지만, 맥 OSx 10.3 혹은 10.4에 엑스코드라는 명칭으로 변경되었다. 버전 4에 따라 애플은 컴패니언 인터페이스 빌더 프로그램을 만들었기 때문에 오직 하나의 앱 번들러가 있다. 프로그램의 디자인은 변경되지 않았지만 툴은 정기적으로 업데이트되고 있다.<ref name='xcode'>yngmanie, 〈[https://yngmanie.space/posts/xcode xcode란?]〉, 《개인 블로그》, 2019-04-17</ref>
 
[[엑스코드]](xcode)는 애플이 개발한 [[OS X]]의 개발 툴 모음이다. 엑스코드는 애플리케이션을 개발하기 위한 필요한 모든 도구(텍스트 에디터, 컴파일러, 빌드 시스템 등)를 가져 온다. 또한, 스크립트를 이용해 개별적인 툴로 가지고 오는 것이 아니라 하나의 패키지로 가지고 온다. 엑스코드는 맥과 IOS를 위한 애플의 공식적인 통합개발환경으로, 초기에는 '프로젝트 인 더 넥스트 데이(Project Builder In the NeXT days)'라고 불렸지만, 맥 OSx 10.3 혹은 10.4에 엑스코드라는 명칭으로 변경되었다. 버전 4에 따라 애플은 컴패니언 인터페이스 빌더 프로그램을 만들었기 때문에 오직 하나의 앱 번들러가 있다. 프로그램의 디자인은 변경되지 않았지만 툴은 정기적으로 업데이트되고 있다.<ref name='xcode'>yngmanie, 〈[https://yngmanie.space/posts/xcode xcode란?]〉, 《개인 블로그》, 2019-04-17</ref>
;기능
 
* '''소스 편집기''' : 코드와 관련된 경고, 오류 및 기타 상황에 맞는 정보를 표시하는 메시지 풍선과 고급 코드 완성, 코드 폴딩, 구문 강조 기능을 갖춘 전문가용 편집기를 사용하여 코드를 작성할 수 있다.
 
* '''보조 편집기''' : 보조 단추는 편집기를 둘로 나누어 현재 편집 중인 코드를 기준으로 가장 유용한 파일을 자동으로 표시하는 보조 패널을 생성한다. 이 패널에는 헤더, 슈퍼클래스, 호출자, 피호출자 또는 기타 유용한 파일이 표시된다.
 
* '''버전 편집기''' : 엑스코드의 버전 편집기에는 원인을 쉽게 찾을 수 있도록 커밋의 실행 일정이 표시되며 서브버전(Subversion) 및 깃 소스 컨트롤(Git Source Control)(SCM) 시스템을 자유자재로 활용하여 그래픽으로 과거 시점으로 돌아가 소스 파일을 비교한다.
 
* '''내장된 인터페이스 빌더''' : 코드를 작성하거나 프로토타입을 만들 필요 없이 단 몇 분 만에 사용자 인터페이스를 디자인하여 테스트한 다음 엑스코드 편집기 내에 있는 소스에 그래픽으로 인터페이스를 연결할 수 있다.
 
* '''시뮬레이터''' : iOS [[SDK]]를 사용하는 엑스코드는 맥 기반 시뮬레이터를 통해 코코아 터치(Cocoa Touch) 앱을 빌드, 설치, 실행 및 디버깅하여 개발 작업 흐름을 원활하게 진행할 수 있다.
 
* '''통합된 빌드 시스템''' : 가장 복잡한 빌드를 처리하고 멀티코어 맥의 성능을 극대화하며 아이패드 및 아이폰 앱을 자동으로 서명 및 권한 설정하여 장비에 설치할 수 있다.
 
* '''컴파일러''' : C, C++ 및 오브젝티브-C를 위한 강력한 오픈 소스 LLVM 컴파일러는 엑스코드에 내장되어 있으며 터미널에서 사용할 수 있다. 컴파일러를 사용하면 코드를 신속하게 컴파일할 수 있을 뿐만 아니라 아이폰, 아이패드 및 맥의 CPU용으로 특별히 조정된 매우 빠른 앱을 제작할 수 있도록 코드가 애플에 의해 최적화된다.
 
* '''그래픽 디버거''' : 앱을 엑스코드 편집기에서 바로 디버깅할 수 있다. 원하는 변수 위에 마우스를 둔 다음 해당 콘텐츠를 상세히 살펴보고 퀵룩(Quick Look, 훑어보기)을 사용하여 포함된 데이터를 확인하거나 마우스 오른쪽 단추를 클릭하여 변수를 조사 목록에 추가할 수 있다.
 
* '''지속적인 통합''' : 맥 서버의 기능인 엑스코드 서버는 엑스코드 프로젝트를 지속적으로 빌드, 분석, 테스트 및 아카이브하는 서버 측 봇(Bot)을 제어한다. 엑스코드 IDE는 해당 봇을 구성하고 매일 밤 이루어지는 빌드 및 테스트 결과를 분석하며 빌드를 망가뜨린 체크인이 무엇인지 추적할 수 있다.
 
* '''자산 카탈로그''' : 엑스코드의 자산 카탈로그 편집기는 앱의 이미지를 동일한 자산에 대한 다양한 해상도로 그룹화하여 관리한다. 빌드 시 엑스코드는 자산 카탈로그를 최종 배포에 가장 효율적인 번들로 컴파일한다.
 
* '''빠르게 열기'''(Open Quickly) : command+shift+O 키를 누르기만 하면 기본 편집기를 사용하는 작업 공간에서 원하는 파일을 빠르게 열 수 있다. 보조 편집기에서 열 파일을 선택할 때에는 option 키를 길게 누르면 된다. 빠르게 열기는 작업이 키보드 중심으로 진행될 때 필수적인 도구이다.
 
* '''오픈GL 프레임 캡처''' : 단추 하나만 누르면 현재 진행 중인 iOS 장비의 오픈GL 프레임이 전체적으로 어떻게 표시되는지 캡처할 수 있다. 엑스코드는 셰이더 정보를 표시하며 해당 프레임이 엑스코드 디버거에서 어떻게 조합되었는지를 시각적으로 구성할 수 있다.
 
* '''전체 문서''' : 엑스코드 내에서 검색하면 문서 뷰어가 맥 개발자 또는 애플 디벨로퍼(Apple Developer 웹) 사이트에서 검색 항목을 찾는다.
 
* '''실시간 문제'''(Live Issues) : 워드 프로세서가 철자 오류를 강조 표시하는 것과 마찬가지로 실시간 문제는 빌드를 클릭하기도 전에 일반적인 코딩 실수를 강조 표시한다.
 
* '''수정'''(Fix-it) : 엑스코드는 오류를 보고하는 데 그치지 않는다. 코딩 실수를 범하면 엑스코드가 곧바로 경고 메시지를 표시한다. 이때 키보드 단축키 하나로 즉시 문제를 수정할 수 있어 코딩을 계속할 수 있다.
 
* '''빠른 도움말'''(Quick Help) : 프로그래밍하는 동안 자신의 코드에 대해 기록한 주석이 포함된 축약된 [[API]] 문서가 표시된다. 코드가 완료되는 동안 간략한 개요가 유틸리티 영역에 사용 가능한 링크 및 참조 자료와 함께 표시된다.
 
* '''XCTest 프레임워크''' : XCTest API를 활용하면 앱 기능이 맥, 아이패드, 아이폰 또는 시뮬레이터에서 실행되는지 여부를 실험하는 단위 테스트를 손쉽게 구축할 수 있다.
 
* '''정적 분석''' : 내장된 정적 분석기는 수천 개의 가능한 코드 경로를 단 몇 초 만에 시험하여 앱을 실행하기도 전에 코드에 있는 버그를 찾아낸다. 개발자는 가려져 있거나 복제가 거의 불가능한 잠재적 버그에 대한 보고서를 얻게 된다.
 
* '''데이터 기록''' : 어떤 앱을 분석할지, 어떤 데이터 유형을 수집할지 인스트루먼트(Instruments)에 알려 줄 수 있다. 빨간색 큰 단추를 클릭하기만 하면 데이터가 수집되고 추가 분석을 위해 저장된다.
 
* '''육안 비교''' : 시간에 따라 데이터가 기록되어 표시되므로 여러 번의 실행을 통해 수집된 동일한 데이터나 서로 다른 수집된 데이터 유형 간의 관계를 파악하는 것이 쉬워진다.
 
* '''드릴다운''' : 그래프에서 데이터 스파이크를 점검하고 당시 어떤 코드가 실행되고 있었는지 파악한 다음 엑스코드로 이동하여 쉽게 문제를 수정할 수 있다.
 
* '''도구 라이브러리''' : 하위 수준의 CPU, 네트워크 또는 파일 작업부터 고급 그래픽 및 사용자 이벤트 도구까지 라이브러리에서 번들로 제공된 도구를 선택할 수 있다.
 
* '''좀비 탐지''' : 앱이 더 이상 사용할 수 없는 메모리에 액세스하려 하면, 찾기 힘든 오류와 충돌을 인스트루먼트 내에서 잡아낼 수 있다.
 
* '''소스 보기''' : 데이터 포인트를 드릴다운하여 CPU를 가장 많이 소모하는 메서드를 찾아내어 정렬하고 인스트루먼트 사용자 인터페이스 내에서 바로 코드를 확인하여 문제를 정확하게 찾아낼 수 있다.
 
* '''낮은 오버헤드 샘플링''' : 키 하나만을 눌러 성능 데이터를 샘플링할 수 있다. 이 샘플링 작업은 낮은 오버헤드로 충실도가 높은 정보를 수집한다.
 
* '''인스트루먼트 사용자 설정''' : DTrace와 Instruments 사용자 설정 빌더를 사용하여 자신만의 인스트루먼트를 만들 수 있다.
 
* '''시스템 추적''' : 이 도구는 리소스를 거의 사용하지 않는다. 인스트루먼트에서 시스템의 모든 프로세스에 대한 정보를 기록하여 프로세스 상호 작용 시 발생하는 성능 병목 문제를 표시한다.
 
* '''명령어 라인 도구''' : 맥 SDK, 헤더와 애플 LLVM 컴파일러 및 메이크(Make)와 같은 빌드 도구를 다운로드할 수 있다. 이러한 도구를 사용하면 오픈 소스 소프트웨어를 설치하거나 터미널에서 유닉스 개발 작업을 수행하는 것이 쉬워진다. 맥 OS를 사용하면 처음 소프트웨어를 빌드하려고 할 때 이러한 도구를 자동으로 다운로드할 수 있다. 또한 다운로드 페이지에서도 이러한 도구를 다운로드할 수 있다.
 
* '''스크립트 언어''' : 맥 OS는 애플스크립트, [[펄]], 파이썬 및 [[루비]]가 이미 설치된 상태로 제공된다. 맥 OS는 유닉스를 기반으로 구축되어 있으므로 엑스코드 또는 맥 OS와 함께 제공되는 명령어 라인 개발자 도구를 사용하여 인기 있는 오픈 소스 언어를 자신만의 버전으로 손쉽게 빌드할 수 있다.
 
* '''에플 이벤트 브릿지(Apple Event Bridge)''' : 애플스크립트(AppleScript)와 오토메이터(Automator)의 강점은 애플 이벤트(Apple Event) 엔진을 기반으로 하여 맥 OS에서 작업을 손쉽게 자동화할 수 있다는 것이다. 이 브리지를 통해 애플스크립트와 동일한 메시지 전송 아키텍처를 사용하여 오브젝티브-C, 루비 및 파이썬 등의 추가 언어에서 앱에 명령을 내리고 쿼리를 보낼 수 있다.
 
* '''오디오 도구''' : AU Lab 도구를 사용하여 오디오 스트림을 믹싱하고 조작할 수 있다.
 
* '''터미널 2'''(Terminal 2) : 터미널 2에서는 유니코드 지원 및 탭, 색상을 통해 [[유닉스]] 셸에 액세스할 수 있다.
 
* '''소스제어''' : 엑스코드 통합개발환경은 통합개발환경 내에서 깃(Git) 및 서브버전(Subversion) 시스템을 모두 지원하며 명령어 라인에서 이를 사용 가능하도록 해 준다.
 
* '''유닉스 도구''' : 유닉스 도구에는 make, awk, sed, ssh, tar 및 zip과 같은 가장 많이 사용되는 모든 명령어 라인 도구가 포함된다.
 
* '''편집기''' : 맥 OS의 편집기에는 텍스트에디트, xed(엑스코드 편집기), vim 및 emacs가 포함된다.
 
* '''파일머지'''(FileMerge) : 모든 텍스트 문서를 비교하고 차이점을 찾아내며 병합할 수 있다.<ref name='xcode_2'>애플 디벨로퍼 공식 홈페이지 - https://developer.apple.com/kr/</ref>
 
  
 
{{각주}}
 
{{각주}}

2021년 2월 19일 (금) 21:02 기준 최신판

통합개발환경(Integrated Development Environment, IDE)은 코딩, 디버그, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어이다.

개요[편집]

통합개발환경은 프로그래밍을 위한 통합 개발 환경으로서 에디터, 컴파일러, 디버그 등 프로그래밍에 필요한 툴이 하나의 인터페이스로 통합되어 사용 가능한 개발 환경을 말한다. 통합개발환경은 개발자가 소프트웨어를 개발하는 과정에 필요한 모든 작업을 하나의 소프트웨어에서 처리할 수 있는 환경을 제공한다. 초기 소프트웨어 개발 시스템은 코드 편집기, 컴파일링, 디버깅 등과 같은 개발 과정을 각각의 프로그램에서 사용했으며 콘솔을 통한 개발이 불가능했다. 가장 많이 사용되는 통합개발환경은 IBM에서 개발한 이클립스(Eclipse)와 마이크로소프트에서 개발한 비주얼스튜디오(Visual Studio)이다. 이클립스는 자바 개발자에게 필수적인 통합개발환경이며, 이 통합개발환경을 가진 이클립스는 아이디어 공유와 협업, 빠른 작업이 가능한 플랫폼이다. 개발자의 입장에서 본다면 강력하고 확장성이 있는 플랫폼으로 연결되어서 고급 툴을 빠르고 효율적으로 개발할 수 있도록 개발자를 지원한다. 분산된 개발 환경을 잘 끌어 모아서 통일된 환경이므로 윈도에서 VC++, 파워 빌더 등이 통합 개발 환경을 지원하며, 이들 프로그램은 하나의 툴에서 코드 작성·테스트·디버깅·내비게이션·버전 관리를 할 수 있도록 환경을 조성한다. 개발자는 불필요한 프로세스를 거치지 않고 편리한 환경에서 개발에 집중할 수 있게 된다. 이외에도 JDE, 안드로이드 스튜디오, 비주얼 스튜디오, 델파이, 알에스스튜디오, 넷빈즈, 코드블럭스 등이 있다. 또한 클라우드 환경에 맞춘 클라우드 통합개발환경이 개발되었으며, 이로 인해 개발자의 협업이 가능해졌다. 여러 개발자가 동시에 코드를 작성하거나 리뷰를 하고 공유하는 것이 가능하며, 운영체제와 웹브라우저의 종류에 관계 없이 사용 가능하다.

역사[편집]

최초의 통합개발환경은 소프트랩(Softlab)에서 1975년에 개발된 마에스트로 I(Maestro I)이다. 다트머스대학교의 존 케메니(John Kemeny)와 토머스 커츠(Thomas Kurtz)가 개발한 다트머스 베이직(Dartmouth BASIC) 언어에서 처음으로 통합개발환경을 사용하였다. 다트머스 베이직은 절차적 언어로 현대 베이직 프로그래밍 언어의 시초이며 코드 편집기와 파일 관리, 컴파일링, 디버깅, 실행 등이 포함되어 있었다. 이는 통합개발환경 소프트웨어의 기본이 되었다. 통합개발환경 소프트웨어 개발 이후 콘솔과 터미널을 통한 개발이 가능해졌으며, 다양한 운영체제와 플랫폼에서 개발을 할 수 있게 되었다. 또한 일부 소프트웨어는 여러 개의 프로그래밍 언어를 함께 지원한다.

특징[편집]

차별화[편집]

통합개발환경의 다양한 기술 및 비즈니스 활용 사례가 있다. 이는 마찬가지로 독점과 오픈소스 통합개별환경 옵션도 많다는 의미인데, 일반적으로 통합개발환경 간의 가장 중요한 차별화 특징은 지원되는 언어의 수 및 운영체제, 자동화 기능, 시스템 성능에 미치는 영향, 플러그인 및 확장 기능 등이 있다.

  • 지원되는 언어의 수 : 일부 통합개발환경은 하나의 언어만 지원하여 특정 프로그래밍 패러다임에 더욱 적합하다. 그 예인 인텔리제이(IntelliJ)는 주로 자바 통합개발환경으로 알려져 있다. 다른 통합개발환경은 자바, XML, 파이썬 등을 지원하는 이클립스 통합개발환경과 같이 한 번에 광범위한 언어를 지원한다.
  • 지원되는 운영체제 : 개발자의 운영체제에 따라 실행 가능한 통합개발환경이 제한되며(클라우드 기반 통합개발환경인 경우 제외), 개발 중인 애플리케이션이 특정 운영체제를 사용하는 최종 사용자를 위한 애플리케이션인 경우 추가적인 제약을 받는다.
  • 자동화 기능 : 대부분의 통합개발환경이 텍스트 편집기, 빌드 자동화 및 디버거라는 3가지 주요 기능을 포함하지만, 많은 통합개발환경은 리팩토링, 코드 검색 및 지속적인 통합 및 지속적인 배포(CI/CD) 툴과 같은 추가 기능도 지원한다.
  • 시스템 성능에 미치는 영향 : 개발자들이 메모리 사용량이 많은 다른 애플리케이션을 동시에 실행하고자 하는 경우 통합개발환경의 메모리 공간이 중요할 수 있다.
  • 플러그인 및 확장 기능 : 일부 통합개발환경은 개발자들의 요구사항 및 선호사항에 맞춰 워크플로우를 커스터마이징하는 기능을 포함한다.[1]

클라우드 통합개발환경[편집]

클라우드 기반 SaaS(Software-as-a-Service, 서비스로서의 소프트웨어)로 제공되는 통합개발환경은 로컬개발환경과 달리 여러 특별한 이점을 제공한다. 그 중 하나는 모든 SaaS 서비스와 마찬가지로 소프트웨어를 다운로드하고 로컬 환경 및 종속 요소를 설정할 필요가 없으므로 개발자들이 프로젝트를 신속하게 시작할 수 있다는 점이다. 이는 또한 팀원들의 환경 전반에 표준화 수준을 제공하므로 일부 시스템에서만 작동하는 문제를 완화할 수 있다. 또한 개발자 환경은 중앙 집중식으로 관리되기 때문에 어떤 코드도 개별 개발자들의 컴퓨터에 상주하지 않으므로 지적 재산 및 보안 문제를 해결해 준다. 프로세스가 로컬 시스템에 미치는 영향 또한 다양하다. 빌드 실행 및 제품군 테스팅 같은 프로세스는 일반적으로 컴퓨팅 집약적인 워크로드이므로 프로세스를 실행하는 동안에는 워크스테이션 사용이 중단될 수 있다. SaaS 통합개발환경은 로컬 시스템의 컴퓨팅 리소스를 독점하지 않고도 장기간 실행되는 작업을 디스패치할 수 있다. 또한, 클라우드 통합개발환경은 일반적으로 플랫폼에 국한되지 않아 다양한 클라우드 벤더에 대한 연결을 지원한다.[1]

종류[편집]

나모 웹에디터[편집]

나모 웹에디터나모인터랙티브에서 만든 위지윅 기반의 웹에디터 HTML 편집기이다. 보통 웹 전문 편집, 웹사이트 제작 및 HTML 실습을 할 때 사용되었으며, 기본적인 양식과 태그, 프레임을 갖추고 있어서 유용하게 쓰이는 편이었다. 라이센스는 개인/기업 모두 유료로 서비스되고 있었으나, 2008년 '나모 웹에디터 8' 버전을 마지막으로 개발이 중단되었다. 이후 9년 만에 2017년 7월 1일에 선보일 예정으로 나모 웹에디터 10을 개발 중이라고 2016년 10월 24일 밝혔다. 그리고 2017년 8월 29일 '나모 웹에디터 원'이 출시되었다. 나모 웹에디터는 사용자에게 친숙하고 비교적 직관적인 인터페이스로 호응을 얻고 있었다. 1990년대 말 국내에 인터넷의 바람이 불고 젊은이들에게서 홈페이지 만드는 것이 유행할 무렵, 영어로만 작동하고 상대적으로 다루기 까다로웠던 드림위버나 그 당시 국내 유저들에겐 아직 생소했던 오피스 프로그램 '워드'를 빼닮은 마이크로소프트의 프론트페이지는 HTML 문서를 작성하는 것이 상당히 어려웠고 난해했었다. 그 틈새시장을 비집고 들어온 것이 나모 웹에디터로, 마치 아래아 한글에서 문서나 표를 작성하듯이 사용할 수 있어서 익숙해지기 쉬웠고, 위지윅도 드림위버에 비해 전문적이진 않지만 상당히 직관적이라 학교나 학원에서도 많은 유저들이 나모 웹에디터로 개인 홈페이지와 같은 웹페이지를 만들어서 올리곤 했었다. 하지만, 곧 블로그 등 HTML 코드를 바로 다루지 않아도 쉽게 웹페이지를 만들 수 있는 시대가 오게 되어 일반인들에게 HTML 코딩의 중요성이 떨어지고, 그 당시 열악한 웹표준 현황과 계속 추가되는 신기술을 적극적으로 받아들이지 못해 줄어드는 니치 시장과 빈약한 전문가 기능 사이에서 우왕좌왕하다가 도태되어버렸다. 그 당시 가장 큰 문제라고 할 수 있는 인터넷 익스플로러 6.0 호환 문제로 같은 웹페이지라도 인터넷 익스플로러 버전에 따라 다르게 보인다든지, 테이블(table) 태그만 써서 표를 만드는 식으로 CSS로 일부 수정이 가능했지만 그나마도 인터넷 익스플로러가 CSS를 제대로 지원 하지 않았으므로 작동 안하는 경우가 허다했다. 지금은 완전히 사장된 방법이 되어버렸고, 모바일 등 최신 환경을 지원하지 못했으며, HTML5도 제대로 지원 못했다. 그리고 자바스크립트도 일부 지원하였으나 프로그래밍 언어인 자바스크립트의 자유도를 감당해내지 못하고 지원에 어려움을 겪었다. 이 같은 문제는 나모 웹에디터 엔진의 한계였는지 마지막 버전까지 해소하지 못하고, 결국 HTML5를 제대로 지원하는 크로스 에디터를 처음부터 새로 만들면서 명맥이 끊기게 된 원인이 되었다.[2]

넷빈즈[편집]

넷빈즈(NetBeans)

넷빈즈(NetBeans)는 자바 기반의 통합 개발 환경이다. 1996년 프라하 찰스 대학의 학생들이 만든 자바 통합개발환경 1999년 썬 마이크로시스템즈가 사들여 오픈 소스로 발표한 것이 그 시초이다. 자바 가상머신(Java Virtual-Machine)이 설치된 환경이면 사용이 가능하며 윈도우즈, , 리눅스를 지원한다. 이클립스와 함께 널리 알려진 무료 자바 통합개발환경 중 하나이며 2007년 제17회 졸트 상(Jolt Award)를 수상하였다. 2010년 오라클이 썬을 인수하여 넷빈즈 역시 오라클의 소유가 되었으나, 2016년에 오라클이 넷빈즈를 아파치 소프트웨어 재단으로 넘긴 후 지금은 아파치에서 개발 중이다. 지원 언어로는 자바, 그루비, C, 자바스크립트, PHP, JSP, 노드제이에스(NodeJS)가 있다.[3] 넷빈즈에서는 다음과 같은 특장점을 기반으로 개발할 수 있다.

  • 약속된 명령어로 자주 쓰는 코드를 자동으로 생성할 수 있다. psvm을 입력하고 탭키를 누르면 public static void main(String[] args)가 자동으로 생긴다. sout을 입력하고 탭키를 누르면 System.out.println("")코드가 자동으로 생성된다. 약속된 명령어들은 Tools -> Options menu -> the Editor -> Code Templates 안에 있고 자신이 정의해서 넣을 수도 있다.
  • 주석 처리를 한 번에 처리할 수 있다. 주석하고 싶은 줄에 커서를 갖다 놓거나 여러 줄을 주석 처리하려면 드래그로 블록을 만들어서 선택하고 Ctrl+Shift+C 키를 누르면 // 문자열이 생기면서 자동 주석처리가 된다. 다시 Ctrl+Shift+C 키를 누르면 주석이 해제된다.
  • 변수명을 한 번에 바꿀 수 있다. 변경하고 싶은 변수명에 커서를 올려 놓고, Ctrl+R 키를 누르면 변수명에 네모박스가 생기면서 그 안에서만 지워지고 수정 가능해진다. 원하는 변수명으로 수정하면 그 변수를 쓰고 있던 모든 곳에서 같이 변경된다.
  • 줄 자동 정렬을 할 수 있다. Alt+Shift+F 또는 Ctrl+Shift+F 키를 누르면 한 번에 줄 자동 정렬을 할 수 있다
  • import를 자동으로 생성할 수 있다. 소스만 복사해 와서 붙인 경우 Import 문은 누락되어 빨간색 줄을 볼 수 있는데, Ctrl+Shift+I 를 누르면 자동으로 찾아서 import 문을 생성해 준다.
  • 자동으로 관련 메소드를 찾을 수 있다. Ctrl+Space를 누르면 java-doc까지 친절한 해설과 관련 메소드를 보여 준다.
  • 자동으로 getter, setter 메소드를 만들 수 있다. 클래스에 멤버변수(클래스 변수)들만 선언해 놓고 Alt+Insert 키를 누르면 Generate 창이 뜬다. 거기서 getter and setter를 선택하면 변수별로 자동으로 get, set 메소드를 생성할 수 있다.
  • 파일끼리 무엇이 변했는지 한 눈에 볼 수 있다. 상단 메뉴에서 Tools - Diff를 눌러 비교할 파일을 선택하면 현재 펼쳐져 있는 문서와 비교하여 무엇이 변했고 삭제되었는지, 삽입되었는지 알 수 있게 해 준다.[4]

델파이[편집]

델파이(Delphi)

델파이(Delphi)는 마이크로소프트 윈도우 응용 프로그램을 위한 통합개발환경이며, 오브젝트 파스칼 프로그래밍 언어로부터 파생된 언어이다. 오브젝트 파스칼이란, 파스칼에 객체지향 개념을 포함하여 발전시킨 프로그래밍 언어로, 델파이 언어로 잘 알려져 있다. 델파이는 윈도우 아래에서 모든 부분을 프로그래밍할 수 있는 강력한 언어로 높은 생산성과 간결한 코드가 대표적인 장점이고, C++과 비슷한 수준의 저수준 시스템 프로그래밍도 가능하다. 델파이는 순수 네이티브 앱에 강하다. 현재 기반 프레임워크로 뛰어난 객체지향 프레임워크인 비주얼 컴포넌트 라이브러리(VCL), 윈도우 앱뿐만 아니라 FMX로 안드로이드, IOS, 맥, 윈도우 앱을 단일 소스 코드로 만드는 것이 가능하다. 컴파일 과정을 통해 원하는 네이티브 앱을 만들어낸다. XE8 버전부터는 비콘 개발 등 사물인터넷 연결 능력 또한 강화되었다. 델파이는 윈도우에서 모든 부분을 프로그래밍할 수 있는 뛰어난 언어이며 높은 생산성과 간결한 코드가 대표적인 장점이고, C++과 비슷한 수준의 시스템 프로그래밍도 가능하다. 또 현존하는 네이티브 언어(native language) 중 가장 빠른 컴파일 속도도 델파이만의 자랑이며 대표적인 개발 도구로 볼랜드/코드기어의 델파이, 카일릭스가 있다. 이외에도 프리 파스칼도 고유한 오브젝트 파스칼 외에 델파이를 컴파일할 수 있도록 지원한다. 델파이는 향후 멀티플랫폼을 비전으로 삼고 윈도 운영 체제 이외에 다른 플랫폼들을 지원하는 방향으로 개발이 진행되고 있다. 델파이로 코딩하는 과정에서도, 즉 프로그램이 동작하지 않는 과정에서도 델파이는 완성 후의 모습을 살펴볼 수 있다. 그러나 이것은 설계시에 프로그램이 동작하는 것이 아니라 내부적으로만 동작하고 있는 것이다. 이러한 시각적인 개발 환경은 프로그램의 모습을 보면서 바로 프로그램을 수정할 수 있는 방법을 제공한다.[5]

비주얼 스튜디오[편집]

비주얼 스튜디오(Visual Studio)

비주얼 스튜디오(Visual Studio)는 1997년부터 현재까지 마이크로소프트가 배포 및 판매 중인 통합개발환경이자 통합 패키지이다. 이것만 있으면 윈도우즈에서 돌아가는 데스크톱 애플리케이션과 웹 애플리케이션을 모두 개발할 수 있다. 그러나 그만큼 용량이 커뮤니티 기준 80GB, 엔터프라이즈 기준 150GB 정도로 매우 크고 또 설치 과정도 상당히 길다. 다만 그 많은 것들을 반드시 다 설치해야 하는 경우는 없고, 관련 지식이 없다면 최초에 정해 주는 대로만 깔면 충분히 쓸 수 있다. 비주얼 스튜디오는 기존에 마이크로소프트가 제작하던 컴파일러인 마이크로소프트 C/C++ 컴파일러를 나중에 비주얼 C++로 개명하면서, 같이 '비주얼'을 접두어로 붙이던 비주얼 베이직과 합쳐서 패키지로 내놓은 것이다. 비주얼 스튜디오는 강화된 코드 내비게이션, 인텔리센스(IntelliSense), 리팩토링, 코드 픽스, 디버깅이 애플리케이션 개발과 웹 프로그램 개발 작업을 더 편하고 빠르게 만들어 생산성이 극대화된다. 근본적인 작업의 효율성을 강화하기 위해 원하는 모듈만 설치하고, 프로젝트와 솔루션이 없어도 코드를 보고, 수정하고, 디버깅 할 수 있다. 마이크로소프트 애져(Azure)상에는 구동되는 애플리케이션 개발을 더욱 더 쉽게 해 주는 애져 관련 툴의 집합이 설치되어 있다. 비주얼 스튜디오에서 마이크로소프트 애져상에서 구동되는 애플리케이션 개발 시 더 쉽게 서비스를 구성하고, 빌드하고, 패키지하고, 배포할 수 있다. 또한, 비주얼 스튜디오의 강화된 디버깅 및 프로파일링 툴과 단위 테스트 생성 기능을 통해 애플리케이션 개발이 쉬워진다.[6]

어도비 드림위버[편집]

드림위버(Dreamweaver)

어도비 드림위버(Adobe Dreamweaver)는 디자인 중심의 홈페이지를 신속히, 손쉽게 만들고자 할 때에 유용한 홈페이지 제작 도구이다. 매크로미디어 제품으로, 나모 웹에디터와 같이 위지윅 방식을 채택하였다. 드림위버와 함께 그래픽, 사운드, 영상, 쇽웨이브 등의 적절한 컨텐츠를 함께 사용한다면 효과적이고 감각적인 홈페이지를 제작할 수 있다. 또한, 스타일 시트, DHTML 등의 구현이 용이하다는 것이 드림위버의 가장 큰 장점이다. 매크로와 히스토리 기능을 지원하는 사용자의 편의성을 극대화시킨 프로그램이다. 테이블로 레이아웃을 짜는 고질병을 지닌 나모 웹에디터와는 달리, 웹 표준을 매우 잘 준수하는 모습을 보인다. 어도비는 웹 표준을 이끄는 위치에 있기 때문이다. W3C에 어도비도 참여하고 있으며, 웹 브라우저의 엔진도 만들고 있다. DTD(Document Type Definition)부터 시작해서 각종 HTML 규격이 두루 갖춰져 있고, HTML5도 잘 지원한다. 또한, 웹 디자인에 많이 쓰이는 포토샵이나 플래시 등과 묶음으로 살 수 있기에 관리가 편한 장점도 있다. 그리고 반응형 웹 구축을 쉽게 할 수 있다. 단점이라면 위지윅치고는 무겁다는 것과 비싸다는 것이 있다.[7]

안드로이드 스튜디오[편집]

안드로이드 스튜디오(Android Studio)는 안드로이드 및 안드로이드 전용 앱 제작을 위한 공식 통합개발환경이다. 구글이 안드로이드 앱 개발을 위해 젯브레인스 사의 인텔리제이 아이디어(IntelliJ IDEA)를 기반으로 만든 통합개발환경으로, 2014년 10월부터 이클립스를 대체해 안드로이드의 공식 통합개발환경이 되면서 무료로 제공되고 있으며, 윈도우즈, 맥 OS X, 리눅스를 지원한다. 안드로이드의 공식 프로그래밍 언어로 채택된 코틀린(Kotlin)도 사용 가능하다. 안드로이드 스튜디오는 빌드 자동화, 종속성 관리 및 맞춤형 빌드 구성을 제공한다. 로컬 라이브러리와 호스팅된 라이브러리를 포함하도록 프로젝트를 구성하고 다양한 코드와 리소스를 포함하는 빌드 변형을 정의하며 여러 코드 축소 및 앱 서명 구성을 적용할 수 있다.[8]

이클립스[편집]

이클립스(Eclipse)

이클립스(Eclipse)는 자바를 기반으로 한 통합개발환경으로, 이클립스 재단이 만들었다. 2001년부터 개발이 시작된 유구한 역사를 자랑하는 프로그램으로, 원래는 IBM의 IBM 비주얼에이지용 소프트웨어 개발 툴로서 만들어졌으나, 제작 도중 방향이 바뀌어서 관련 소스 등을 모조리 공개하는 자유 소프트웨어가 되었고, 이를 '이클립스'란 이름 하에 2001년 세상에 선보인 것이 이클립스의 시작이다. 이클립스는 자바 프로그래밍 개발이 용이하며, 플러그인을 통해 C/C++, PHP, HTML 등 여러 언어의 개발이 가능하다. 그리고 단순한 구문 강조는 이클립스 Colorer, 컬러에디터 등의 플러그인을 통해 거의 대부분의 언어/파일 형식을 사용이 가능하다. 또한, 훌륭한 버전 관리 시스템 클라이언트의 기능 및 강력한 파일 비교 유틸리티까지 수행하고, 자바 기반으로 가상머신 위에서 어떤 플랫폼에서든 실행 가능하다. 다양한 플러그인을 통한 확장이 가능하고 자바에 대해 강력한 리팩토링 기능을 제공한다.[9]

코드블럭스[편집]

코드블럭스(Code Blocks)

코드블럭스(Code::Blocks)는 GCC, MSVC를 포함한 여러 컴파일러를 지원하는 자유, 오픈 소스, 크로스플랫폼 통합개발환경이다. wxWidgets를 GUI 툴킷으로 사용하는 C++ 언어로 개발되어 있다. 플러그인 구조를 이용하여 여러 기능을 사용할 수 있게 되어 있다. 현재 코드블럭스는 C와 C++, 포트란을 지원하고 있다. 윈도우즈, 리눅스, 맥 OS X용으로 개발되고 있으며, 사용자들은 프리BSD 하에서 코드블럭스를 성공적으로 개발해 놓기도 했다. 코드블럭스는 MinGW+GCC 컴파일러를 포함한 설치 크기가 100MB 정도 되고, 사양도 거의 제한 없기 때문에 가볍다. 2003~4년 쯤 셀러론 CPU + 1GB RAM으로 구동해도 원활하게 돌아갈 정도여서 저사양 컴퓨터에도 잘 구동된다. 그리고 리눅스에서 구동하게 되면 자신이 설치한 GCC, 클랭(Clang) 등을 자동으로 인식해서 사용할 수 있다. 그러나 본격적인 프로젝트 개발에 쓰기에는 기능이 좀 떨어진다는 평이 많다. 그래도 간단한 콘솔 프로그램 제작에 영향을 줄 정도는 아니며, 애초에 그런 기능을 사용할 만한 대규모 프로젝트라면 비주얼 스튜디오를 쓸 것이기 때문에 개인적인 용도로는 크게 문제되지 않는다. 또한, MSVC 컴파일러도 인식하기 때문에 비주얼 스튜디오로 개발된 파일을 불러오는 것도 문제가 없다. 한글화가 되지 않았다는 것을 단점으로 볼 수 있겠으나, 대부분이 쉬운 영어라 쓰는 데에 어려움은 없다.[10]

인텔리제이 아이디어[편집]

인텔리제이 아이디어(IntelliJ IDEA)는 젯브레인스 사에서 제작한 상용 자바 통합개발환경으로, 줄여서 인텔리제이 혹은 아이디어로도 불린다. 이클립스 재단의 이클립스와 썬 마이크로시스템즈의 넷빈즈로 대표되는 무료 자바 통합개발환경에서 볼랜드의 제이빌더와 함께 얼마 되지 않는 상용 개발 도구 가운데 하나이다. [11]

파이참[편집]

파이참(PyCharm)

파이참(PyCharm)은 파이썬 프로그램을 쉽게 개발할 수 있도록 하는 통합개발환경이다. 코드 분석 및 코딩 지원, 프로젝트 및 코드 탐색, 파이썬, 웹 프레임워크 지원, 통합 파이썬 디버그, 라인 단위 테스트, 구글 앱 엔진 파이썬(Google App Engine Python), 통합 사용자 인터페이스, 과학적 도구를 지원한다.[12]

알스튜디오[편집]

알스튜디오(RStudio)는 R을 처음 배우는 사람이 사용하는 통합개발환경이다. 다른 통합개발환경에 비해 R 언어에 특화된 사용자 인터페이스와 기능을 가지고 있으며, ggplot2, shiny, dplyr, httr 등 다양한 패키지를 왕성하게 만들고 있는 알스튜디오 팀이 직접 관리를 하기 때문에 문서도 많고, 국내 사용자 층도 큰 편이다. 특히 초보자부터 고급 사용자까지 필요한 많은 기능들을 그래픽 사용자 인터페이스로 제공함으로써 배울수록 편리함이 늘어난다.[13]

엑스코드[편집]

엑스코드(xcode)는 애플이 개발한 OS X의 개발 툴 모음이다. 엑스코드는 애플리케이션을 개발하기 위한 필요한 모든 도구(텍스트 에디터, 컴파일러, 빌드 시스템 등)를 가져 온다. 또한, 스크립트를 이용해 개별적인 툴로 가지고 오는 것이 아니라 하나의 패키지로 가지고 온다. 엑스코드는 맥과 IOS를 위한 애플의 공식적인 통합개발환경으로, 초기에는 '프로젝트 인 더 넥스트 데이(Project Builder In the NeXT days)'라고 불렸지만, 맥 OSx 10.3 혹은 10.4에 엑스코드라는 명칭으로 변경되었다. 버전 4에 따라 애플은 컴패니언 인터페이스 빌더 프로그램을 만들었기 때문에 오직 하나의 앱 번들러가 있다. 프로그램의 디자인은 변경되지 않았지만 툴은 정기적으로 업데이트되고 있다.[14]

각주[편집]

  1. 1.0 1.1 IDE란?〉, 《레드햇》
  2. 나모 웹에디터〉, 《위키백과》
  3. 넷빈즈〉, 《위키백과》
  4. SourceBox, 〈넷빈(NetBeans)에서 10가지 기능으로 개발속도를 높여보자〉, 《티스토리》, 2012-08-15
  5. 늅이, 〈(델파이) Delphi란 무엇이며 왜 아직까지 사용하는가?〉, 《티스토리》, 2016-07-27
  6. 비주얼 스튜디오〉, 《나무위키》
  7. 200920748, 〈1. 드림위버란?〉, 《티스토리》, 2010-12-17
  8. IT게임Blog, 〈안드로이드 스튜디오 설치 방법 및 설정 후 프로젝트 관리〉, 《도라가이드》
  9. 이클립스(통합개발환경)〉, 《나무위키》
  10. Code::Blocks〉, 《위키백과》
  11. IntelliJ IDEA〉, 《위키백과》
  12. 젯브레인스 공식 홈페이지 - https://www.jetbrains.com/ko-kr/
  13. mrchypark, 〈실무 빅데이터 분석을 위한 SQL과 R의 활용 CAMP〉, 《깃허브》
  14. yngmanie, 〈xcode란?〉, 《개인 블로그》, 2019-04-17

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 통합개발환경 문서는 소프트웨어에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.