통합 개발 환경
| 소프트웨어 개발 프로세스 | |
|---|---|
| 활동과 단계 | |
| 요구사항 분석 · 기능 명세 구조 · 설계 구현 · 테스팅 배치 · 유지보수 | |
| 개발 모형 | |
| 애자일 소프트웨어 개발 · 클린룸 DSDM · 순차점증적 개발 · 반복형 개발 RAD · RUP · 나선 모형 폭포수 모델 · 익스트림 프로그래밍 스크럼 · V 모델 · TDD | |
| 지원 활동 | |
| 구성 관리 · 문서화 품질보증 · 프로젝트 관리 사용자 경험 설계 | |
| 도구 | |
| 컴파일러 · 디버거 · 프로파일러 GUI 디자이너 · 통합 개발 환경 | |
통합 개발 환경(統合開發環境, integrated development environment, IDE)은 소프트웨어 개발을 위한 포괄적인 기능을 제공하는 소프트웨어 애플리케이션이다. IDE는 일반적으로 적어도 소스 코드 편집기, 빌드 자동화 도구 및 디버거로 구성된다. IntelliJ IDEA, 이클립스, 라자루스와 같은 일부 IDE는 필요한 컴파일러, 인터프리터 또는 둘 다를 포함한다. SharpDevelop 및 NetBeans와 같은 다른 IDE는 포함하지 않는다.
IDE와 광범위한 소프트웨어 개발 환경의 다른 부분 사이의 경계는 잘 정의되어 있지 않다. 때로는 버전 관리 시스템 또는 그래픽 사용자 인터페이스(GUI) 구축을 단순화하는 다양한 도구가 통합되기도 한다. 많은 최신 IDE에는 객체 지향 프로그래밍에서 사용되는 클래스 브라우저, 객체 브라우저 및 클래스 계층 다이어그램도 있다.
개요
통합 개발 환경은 유사한 사용자 인터페이스를 가진 긴밀한 구성 요소를 제공하여 프로그래머의 생산성을 극대화하도록 설계되었다. IDE는 모든 개발이 이루어지는 단일 프로그램을 제공한다. 이 프로그램은 일반적으로 소프트웨어 작성, 수정, 컴파일, 배포 및 디버깅을 위한 많은 기능을 제공한다. 이는 vi, GDB, GNU 컴파일러 모음, make와 같은 관련 없는 도구를 사용하는 소프트웨어 개발과는 대조적이다.
IDE의 한 가지 목표는 여러 개발 유틸리티를 한데 모으는 데 필요한 구성을 줄이는 것이다. 대신, 동일한 기능 세트를 하나의 응집력 있는 단위로 제공한다. 설정 시간을 줄이면 개발자 생산성을 높일 수 있으며, 특히 IDE를 배우는 것이 개별 도구를 수동으로 통합하고 배우는 것보다 빠른 경우에 더욱 그렇다. 모든 개발 작업을 더욱 긴밀하게 통합하면 설정 작업을 돕는 것 이상으로 전반적인 생산성을 향상시킬 수 있다. 예를 들어, 코드는 편집하는 동안 지속적으로 파싱되어 구문 오류가 발생할 때 즉각적인 피드백을 제공하므로 개발자는 IDE를 사용하여 코드를 훨씬 빠르고 쉽게 디버깅할 수 있다.
일부 IDE는 특정 프로그래밍 언어에 전념하여 해당 언어의 프로그래밍 패러다임과 가장 밀접하게 일치하는 기능 세트를 허용한다. 그러나 많은 다중 언어 IDE가 있다.
대부분의 최신 IDE가 그래픽 기반인 반면, 마이크로소프트 윈도우 및 X 윈도 시스템 (X11)과 같은 창 시스템이 나오기 전에는 터보 파스칼과 같은 텍스트 기반 IDE가 널리 사용되었다. 이들은 일반적으로 기능 키 또는 핫키를 사용하여 자주 사용하는 명령이나 매크로를 실행한다.
역사
IDE는 처음에는 시스템 콘솔 또는 단말기를 통한 개발이 가능해지면서 등장했다. 초기 시스템은 프로그램이 천공 카드, 천공 테이프 등을 통해 컴파일러 또는 어셈블러에 제출되었기 때문에 IDE를 지원할 수 없었다. 다트머스 베이직은 IDE와 함께 만들어진 최초의 언어였으며 (또한 콘솔이나 터미널 앞에 앉아서 사용하도록 설계된 최초의 언어이기도 했다). 다트머스 베이직의 IDE(다트머스 시분할 시스템의 일부)는 명령 기반이었기 때문에 그래픽 사용자 인터페이스의 등장 이후 인기를 얻은 메뉴 방식의 그래픽 IDE와는 별로 닮지 않았다. 그러나 현대적인 IDE와 일관된 방식으로 편집, 파일 관리, 컴파일, 디버깅 및 실행을 통합했다.
소프트랩 뮌헨(Softlab Munich)의 제품인 Maestro I는 소프트웨어 개발을 위한 세계 최초의 통합 개발 환경이었다.[1] Maestro I는 전 세계 22,000명의 프로그래머에게 설치되었다. 1989년까지 서독에 6,000대가 설치되었다. Maestro는 1970년대와 1980년대에 이 분야에서 세계 최고였다. 오늘날 마지막 Maestro I 중 하나는 텍사스 알링턴의 정보 기술 박물관에서 찾을 수 있다.
플러그인 개념을 가진 최초의 IDE 중 하나는 Softbench였다. 1995년 컴퓨터보헤(Computerwoche)는 IDE의 사용이 개발자들에게 창의성을 가로막을 것이라며 환영받지 못했다고 논평했다.
2023년 08월 기준[update] 기준으로 구글 검색에서 가장 많이 검색된 IDE는 Visual Studio, Visual Studio Code, Eclipse였다.[2]
주제
구문 강조
IDE 편집기는 일반적으로 구문 강조를 제공하며, 구조, 언어 키워드 및 구문 오류를 시각적으로 구별되는 색상과 글꼴 효과로 표시할 수 있다.[3]
코드 자동 완성
코드 자동 완성은 프로그래밍 속도를 높이기 위한 중요한 IDE 기능이다. 최신 IDE는 지능형 코드 자동 완성 기능도 갖추고 있다.
지능형 코드 자동 완성
리팩토링
버전 관리
IDE는 소스 저장소와 상호 작용하기 위해 통합 버전 관리를 제공해야 한다.[3]
디버그
IDE는 통합 디버거를 사용하여 디버깅에도 사용되며, 편집기에서 중단점 설정, 단계의 시각적 렌더링 등을 지원한다.[4]
코드 검색
IDE는 코드 검색을 지원할 수 있다. 코드 검색에는 두 가지 다른 의미가 있다. 첫째, 클래스 및 함수 선언, 사용, 변수 및 필드 읽기/쓰기 등을 검색하는 것을 의미한다. IDE는 코드 검색을 위해 예를 들어 폼 기반 위젯[5] 및 자연어 기반 인터페이스와 같은 다양한 종류의 사용자 인터페이스를 사용할 수 있다. 둘째, 특정 기능의 구체적인 구현을 검색하는 것을 의미한다.[6]
비주얼 프로그래밍
비주얼 프로그래밍은 IDE가 일반적으로 필요한 사용 시나리오이다. 비주얼 베이직은 사용자가 프로그래밍, 빌딩 블록 또는 코드 노드를 이동하여 플로우차트나 구조 다이어그램을 생성하고 이를 컴파일하거나 해석하여 새로운 애플리케이션을 만들 수 있게 한다. 이러한 플로우차트는 종종 통합 모델링 언어를 기반으로 한다.
이 인터페이스는 레고 마인드스톰 시스템으로 대중화되었으며, 모질라에서 발견되는 것과 같은 사용자 정의 브라우저의 힘을 활용하고자 하는 여러 회사에서 적극적으로 추구하고 있다. KTechlab은 플로우코드를 지원하며 마이크로컨트롤러용 소프트웨어 개발을 위한 인기 있는 오픈 소스 IDE 및 시뮬레이터이다. 비주얼 프로그래밍은 또한 분산 프로그래밍의 힘을 담당한다 (cf. LabVIEW 및 EICASLAB 소프트웨어). 초기 비주얼 프로그래밍 시스템인 Max는 아날로그 신시사이저 설계를 모델로 하여 1980년대부터 실시간 음악 연주 소프트웨어를 개발하는 데 사용되었다. 또 다른 초기 예는 원래 매킨토시용으로 개발된 데이터플로 프로그래밍 기반 시스템인 Prograph였다. 그래픽 프로그래밍 환경 "GRAPE"는 qfix 로봇 키트를 프로그래밍하는 데 사용된다.
이러한 접근 방식은 Openlab과 같은 전문 소프트웨어에서도 사용되는데, 최종 사용자는 기존 학습 곡선 없이 완전한 프로그래밍 언어의 유연성을 원한다.
언어 지원
GNU Emacs, IntelliJ IDEA, Eclipse, MyEclipse, NetBeans, MonoDevelop, JDoodle 또는 PlayCode와 같은 일부 IDE는 여러 언어를 지원한다.
대체 언어에 대한 지원은 종종 플러그인을 통해 제공되어 동일한 IDE에 동시에 설치할 수 있다. 예를 들어, 플라이체크는 39개 언어를 지원하는 GNU Emacs 24용 최신 즉석 구문 검사 확장이다.[7] 또 다른 예는 88개 언어를 지원하는 온라인 클라우드 기반 IDE인 JDoodle이다.[1] Eclipse 및 Netbeans에는 C/C++, Ada, GNAT (예: AdaGIDE), Perl, Python, Ruby, PHP용 플러그인이 있으며, 파일 확장자, 환경 또는 프로젝트 설정에 따라 자동으로 선택된다.
구현
IDE는 다양한 언어로 구현될 수 있다. 예를 들어:
- 이맥스 리스프 및 C를 사용하는 GNU 이맥스;
- Java를 사용하는 IntelliJ IDEA, Eclipse 및 NetBeans;
- C#를 사용하는 MonoDevelop 및 Rider.
다양한 컴퓨팅 플랫폼에서의 태도
유닉스 프로그래머는 명령줄 POSIX 도구를 완전한 개발 환경으로 결합하여 리눅스 커널 및 그 환경과 같은 대규모 프로그램을 개발할 수 있다.[8] 이런 의미에서 전체 유닉스 시스템은 IDE 역할을 한다.[9] 무료 소프트웨어 GNU 툴체인(GNU 컴파일러 모음 (GCC), GNU 디버거 (GDB), GNU make 포함)은 윈도우를 포함한 여러 플랫폼에서 사용할 수 있다.[10] "모든 것이 텍스트 스트림이다"라는 유닉스의 보편적인 철학은 명령줄 지향 도구를 선호하는 개발자들이 많은 표준 유닉스 및 GNU 빌드 도구를 지원하는 편집기를 사용하여 다음과 같은 프로그램으로 IDE를 구축할 수 있게 한다. 이맥스[11][12][13] 또는 Vim. 데이터 디스플레이 디버거는 많은 텍스트 기반 디버거 표준 도구를 위한 고급 그래픽 프런트엔드로 의도되었다. 일부 프로그래머는 완전한 IDE에 포함된 유사한 코드 빌딩 도구보다 메이크파일 및 그 파생물을 관리하는 것을 선호한다. 예를 들어, PostgreSQL 데이터베이스에 기여하는 대부분의 개발자는 새로운 기능을 개발하기 위해 make 및 GDB를 직접 사용한다.[14] 비주얼 C++를 사용하여 마이크로소프트 윈도우용 PostgreSQL을 빌드할 때도 IDE 기능에 의존하기보다는 make를 대체하는 Perl 스크립트가 사용된다.[15] Geany와 같은 일부 리눅스 IDE는 전통적인 빌드 작업에 그래픽 프런트엔드를 제공하려고 시도한다.
다양한 Microsoft Windows 플랫폼에서는 개발을 위한 명령줄 도구가 거의 사용되지 않는다. 따라서 많은 상업용 및 비상업용 제품이 있다. 그러나 각각 다른 디자인을 가지고 있어 일반적으로 호환성 문제를 일으킨다. 윈도우용 대부분의 주요 컴파일러 공급업체는 마이크로소프트 (Visual C++, 플랫폼 SDK, Framework SDK, nmake 유틸리티)를 포함하여 명령줄 도구의 무료 복사본을 여전히 제공한다.
IDE는 클래식 Mac OS와 macOS를 사용하는 애플 매킨토시에서 1980년대 중반의 Macintosh Programmer's Workshop, Turbo Pascal, THINK Pascal 및 THINK C 환경으로 거슬러 올라가며 항상 인기를 누렸다. 현재 macOS 프로그래머는 Xcode와 같은 네이티브 IDE와 Eclipse, Netbeans와 같은 오픈 소스 도구 중에서 선택할 수 있다. 액티브스테이트 코모도는 macOS에서 지원되는 독점 다국어 IDE이다.
온라인
온라인 통합 개발 환경은 웹 IDE 또는 클라우드 IDE라고도 불리며, 웹 브라우저 기반 IDE로 소프트웨어 개발 또는 웹 개발을 가능하게 한다.[16] 온라인 IDE는 웹 브라우저에서 접근할 수 있어 휴대용 작업 환경을 제공한다. 온라인 IDE는 일반적으로 기존 데스크톱 IDE와 동일한 모든 기능을 포함하지는 않지만, 구문 강조와 같은 모든 기본적인 IDE 기능은 일반적으로 존재한다.
모바일 기반 통합 개발 환경(IDE)은 모바일 플랫폼에서 소프트웨어 개발을 위한 포괄적인 도구 모음을 제공하는 소프트웨어 애플리케이션이다. 기존 데스크톱 IDE와 달리 모바일 기반 IDE는 스마트폰과 태블릿에서 실행되도록 설계되어 개발자가 모바일 장치에서 직접 코드를 작성, 디버그 및 배포할 수 있도록 한다.
통합 개발 환경의 종류
같이 보기
각주
- ↑ "Interaktives Programmieren als Systems-Schlager" from Computerwoche (German)
- ↑ “TOP IDE Top Integrated Development Environment index”. 《pypl.github.io》. 2023년 8월 8일에 확인함.
- ↑ 가 나 다 “Course CS350 Integrated Development Environments”. 《cs.odu.edu》. Old Dominion University. 2018년 10월 10일에 확인함.
- ↑ “Programming software and the IDE”. 《BBC Bitesize》. 2018년 10월 9일에 원본 문서에서 보존된 문서. 2018년 10월 10일에 확인함.
- ↑ “Eclipse Cookbook - Searching Code” (영어). 《O’Reilly》.
- ↑ Stolee, Kathryn T.; Elbaum, Sebastian; Dobos, Daniel (2014). 《Solving the Search for Source Code》 (영어). 《ACM Transactions on Software Engineering and Methodology》 23. 1–45쪽. doi:10.1145/2581377. ISSN 1049-331X. S2CID 8558710.
- ↑ “Introduction - Flycheck 0.18-cvs”. 《Read the Docs》. 2014년 3월 10일에 원본 문서에서 보존된 문서. 2014년 3월 10일에 확인함.
- ↑ Rehman, Christopher Paul, Christopher R. Paul. "The Linux Development Platform: Configuring, Using and Maintaining a Complete Programming Environment". 2002. ISBN 0-13-009115-4
- ↑ “UnixIsAnIde”.
- ↑ “"Use Emacs with Microsoft Visual C++ ... use Emacs as an IDE"”. 2013년 7월 4일에 원본 문서에서 보존된 문서.
- ↑ “Emacs: the Free Software IDE | Linux Journal”. 《www.linuxjournal.com》.
- ↑ “The Common Lisp Cookbook - Using Emacs as a Lisp IDE”. 《cl-cookbook.sourceforge.net》.
- ↑ “Emacs as a Perl IDE”. 《obsidianrook.com》. 2016년 5월 21일에 원본 문서에서 보존된 문서. 2011년 5월 11일에 확인함.
- ↑ “Developer FAQ - PostgreSQL wiki”. 《wiki.postgresql.org》.
- ↑ “Chapter 18. Installation from Source Code on Windows”. 《PostgreSQL Documentation》. 2021년 9월 29일.
- ↑ “Web-based vs. desktop-based Tools – EclipseSource”. 《eclipsesource.com》. 2018년 6월 19일.
- 스크립트 오류가 있는 문서
- CS1 - 영어 인용 (en)
- 잘못된 파일 링크가 포함된 문서
- 영어 표기를 포함한 문서
- 존재하지 않는 문서를 대상으로 하는 hatnote 틀을 사용하는 문서
- 위키데이터 속성 P18을 사용하는 문서
- 위키데이터 속성 P41을 사용하는 문서
- 위키데이터 속성 P94를 사용하는 문서
- 위키데이터 속성 P117을 사용하는 문서
- 위키데이터 속성 P154를 사용하는 문서
- 위키데이터 속성 P213을 사용하는 문서
- 위키데이터 속성 P227을 사용하는 문서
- 위키데이터 속성 P242를 사용하는 문서
- 위키데이터 속성 P244를 사용하는 문서
- 위키데이터 속성 P245를 사용하는 문서
- 위키데이터 속성 P268을 사용하는 문서
- 위키데이터 속성 P269를 사용하는 문서
- 위키데이터 속성 P271을 사용하는 문서
- 위키데이터 속성 P347을 사용하는 문서
- 위키데이터 속성 P349를 사용하는 문서
- 위키데이터 속성 P350을 사용하는 문서
- 위키데이터 속성 P373을 사용하는 문서
- 위키데이터 속성 P380을 사용하는 문서
- 위키데이터 속성 P396을 사용하는 문서
- 위키데이터 속성 P409를 사용하는 문서
- 위키데이터 속성 P428을 사용하는 문서
- 위키데이터 속성 P434를 사용하는 문서
- 위키데이터 속성 P435를 사용하는 문서
- 위키데이터 속성 P436을 사용하는 문서
- 위키데이터 속성 P454를 사용하는 문서
- 위키데이터 속성 P496을 사용하는 문서
- 위키데이터 속성 P549를 사용하는 문서
- 위키데이터 속성 P650을 사용하는 문서
- 위키데이터 속성 P651을 사용하는 문서
- 위키데이터 속성 P691을 사용하는 문서
- 위키데이터 속성 P716을 사용하는 문서
- 위키데이터 속성 P781을 사용하는 문서
- 위키데이터 속성 P791을 사용하는 문서
- 위키데이터 속성 P864를 사용하는 문서
- 위키데이터 속성 P865를 사용하는 문서
- 위키데이터 속성 P886을 사용하는 문서
- 위키데이터 속성 P902를 사용하는 문서
- 위키데이터 속성 P906을 사용하는 문서
- 위키데이터 속성 P947을 사용하는 문서
- 위키데이터 속성 P950을 사용하는 문서
- 위키데이터 속성 P966을 사용하는 문서
- 위키데이터 속성 P982를 사용하는 문서
- 위키데이터 속성 P1003을 사용하는 문서
- 위키데이터 속성 P1004를 사용하는 문서
- 위키데이터 속성 P1005를 사용하는 문서
- 위키데이터 속성 P1006을 사용하는 문서
- 위키데이터 속성 P1015를 사용하는 문서
- 위키데이터 속성 P1045를 사용하는 문서
- 위키데이터 속성 P1048을 사용하는 문서
- 위키데이터 속성 P1053을 사용하는 문서
- 위키데이터 속성 P1146을 사용하는 문서
- 위키데이터 속성 P1153을 사용하는 문서
- 위키데이터 속성 P1157을 사용하는 문서
- 위키데이터 속성 P1186을 사용하는 문서
- 위키데이터 속성 P1225를 사용하는 문서
- 위키데이터 속성 P1248을 사용하는 문서
- 위키데이터 속성 P1273을 사용하는 문서
- 위키데이터 속성 P1315를 사용하는 문서
- 위키데이터 속성 P1323을 사용하는 문서
- 위키데이터 속성 P1330을 사용하는 문서
- 위키데이터 속성 P1362를 사용하는 문서
- 위키데이터 속성 P1368을 사용하는 문서
- 위키데이터 속성 P1375를 사용하는 문서
- 위키데이터 속성 P1407을 사용하는 문서
- 위키데이터 속성 P1556을 사용하는 문서
- 위키데이터 속성 P1584를 사용하는 문서
- 위키데이터 속성 P1695를 사용하는 문서
- 위키데이터 속성 P1707을 사용하는 문서
- 위키데이터 속성 P1736을 사용하는 문서
- 위키데이터 속성 P1886을 사용하는 문서
- 위키데이터 속성 P1890을 사용하는 문서
- 위키데이터 속성 P1907을 사용하는 문서
- 위키데이터 속성 P1908을 사용하는 문서
- 위키데이터 속성 P1960을 사용하는 문서
- 위키데이터 속성 P1986을 사용하는 문서
- 위키데이터 속성 P2041을 사용하는 문서
- 위키데이터 속성 P2163을 사용하는 문서
- 위키데이터 속성 P2174를 사용하는 문서
- 위키데이터 속성 P2268을 사용하는 문서
- 위키데이터 속성 P2349를 사용하는 문서
- 위키데이터 속성 P2418을 사용하는 문서
- 위키데이터 속성 P2456을 사용하는 문서
- 위키데이터 속성 P2484를 사용하는 문서
- 위키데이터 속성 P2558을 사용하는 문서
- 위키데이터 속성 P2750을 사용하는 문서
- 위키데이터 속성 P2980을 사용하는 문서
- 위키데이터 속성 P3223을 사용하는 문서
- 위키데이터 속성 P3233을 사용하는 문서
- 위키데이터 속성 P3348을 사용하는 문서
- 위키데이터 속성 P3372를 사용하는 문서
- 위키데이터 속성 P3407을 사용하는 문서
- 위키데이터 속성 P3430을 사용하는 문서
- 위키데이터 속성 P3544를 사용하는 문서
- 위키데이터 속성 P3562를 사용하는 문서
- 위키데이터 속성 P3563을 사용하는 문서
- 위키데이터 속성 P3601을 사용하는 문서
- 위키데이터 속성 P3723을 사용하는 문서
- 위키데이터 속성 P3788을 사용하는 문서
- 위키데이터 속성 P3829를 사용하는 문서
- 위키데이터 속성 P3863을 사용하는 문서
- 위키데이터 속성 P3920을 사용하는 문서
- 위키데이터 속성 P3993을 사용하는 문서
- 위키데이터 속성 P4038을 사용하는 문서
- 위키데이터 속성 P4055를 사용하는 문서
- 위키데이터 속성 P4114를 사용하는 문서
- 위키데이터 속성 P4143을 사용하는 문서
- 위키데이터 속성 P4186을 사용하는 문서
- 위키데이터 속성 P4423을 사용하는 문서
- 위키데이터 속성 P4457을 사용하는 문서
- 위키데이터 속성 P4534를 사용하는 문서
- 위키데이터 속성 P4535를 사용하는 문서
- 위키데이터 속성 P4581을 사용하는 문서
- 위키데이터 속성 P4613을 사용하는 문서
- 위키데이터 속성 P4955를 사용하는 문서
- 위키데이터 속성 P5034를 사용하는 문서
- 위키데이터 속성 P5226을 사용하는 문서
- 위키데이터 속성 P5288을 사용하는 문서
- 위키데이터 속성 P5302를 사용하는 문서
- 위키데이터 속성 P5321을 사용하는 문서
- 위키데이터 속성 P5368을 사용하는 문서
- 위키데이터 속성 P5504를 사용하는 문서
- 위키데이터 속성 P5587을 사용하는 문서
- 위키데이터 속성 P5736을 사용하는 문서
- 위키데이터 속성 P5818을 사용하는 문서
- 위키데이터 속성 P6213을 사용하는 문서
- 위키데이터 속성 P6734를 사용하는 문서
- 위키데이터 속성 P6792를 사용하는 문서
- 위키데이터 속성 P6804를 사용하는 문서
- 위키데이터 속성 P6829를 사용하는 문서
- 위키데이터 속성 P7293을 사용하는 문서
- 위키데이터 속성 P7303을 사용하는 문서
- 위키데이터 속성 P7314를 사용하는 문서
- 위키데이터 속성 P7902를 사용하는 문서
- 위키데이터 속성 P8034를 사용하는 문서
- 위키데이터 속성 P8189를 사용하는 문서
- 위키데이터 속성 P8381을 사용하는 문서
- 위키데이터 속성 P8671을 사용하는 문서
- 위키데이터 속성 P8980을 사용하는 문서
- 위키데이터 속성 P9070을 사용하는 문서
- 위키데이터 속성 P9692를 사용하는 문서
- 위키데이터 속성 P9725를 사용하는 문서
- 위키데이터 속성 P9984를 사용하는 문서
- 위키데이터 속성 P10020을 사용하는 문서
- 위키데이터 속성 P10299를 사용하는 문서
- 위키데이터 속성 P10608을 사용하는 문서
- 위키데이터 속성 P10832를 사용하는 문서
- 위키데이터 속성 P11249를 사용하는 문서
- 위키데이터 속성 P11646을 사용하는 문서
- 위키데이터 속성 P11729를 사용하는 문서
- 위키데이터 속성 P12204를 사용하는 문서
- 위키데이터 속성 P12362를 사용하는 문서
- 위키데이터 속성 P12754를 사용하는 문서
- 위키데이터 속성 P13049를 사용하는 문서
- 통합 개발 환경
- 소프트웨어 공학