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

인텔리제이 아이디어

위키원
이동: 둘러보기, 검색
인텔리제이 아이디어(IntelliJ IDEA)
인텔리제이 아이디어(IntelliJ IDEA)

인텔리제이 아이디어(IntelliJ IDEA‎)는 체코 프라하에 본사를 둔 젯브레인스(JetBrains) 사가 개발한 통합개발환경(IDE)이다.

개요

인털리제이 아이디어는 2001년에 처음 출시되었으며, 고급 코드 탐색 및 코드 리팩터링 기능 등의 특징을 자랑하여 큰 인기를 끌었다. 2009년에 무료 커뮤니티 에디션이 나온 이후 본격적으로 자바(Java) 개발을 위해 많이 사용되기 시작했다. 툴 자체도 자바(Java)와 스윙(Swing)을 이용해서 제작되었으며, 플러그인 개발에 사용되는 언어도 자바이다. 윈도우, 맥OS, 리눅스 운영체제를 모두 지원한다. 2010년 자바에 기반을 둔 최고의 프로그래밍 툴로 선정되어 넷빈즈(NetBeans), 이클립스(Eclipse), JDeveloper와 같은 기존 도구와 차별화까지 받았다. 구글이 2014년 공개한 안드로이드용 오픈소스 개발 환경도 인털리제이 아이디어를 기반으로 하고 있다. IDE는 파이썬(Python), 루아(Lua), 스칼라(Scala)와 같은 많은 다른 프로그래밍 언어를 지원한다. 자바에 기반을 둔 최고의 프로그래밍 도구들 중 하나로 간주되는 가장 큰 이유는 지원 기능 때문에 사용이 용이하고 그것에 의해 만들어진 프로그램들이 매우 잘 설계되어 있기 때문이다. 또한 오류 검사를 더 빠르고 쉽게할 수 있는 고급 오류 검사 기능을 가지고 있다. 2015년 Jolt Award의 코딩 툴 부문에서 수상하였다. 2019년에는 DeveloperWeek에서 '가장 혁신적인 코딩 툴'로 선정한 바 있다.[1]

특징

코딩 지원

IDE는 컨텍스트를 분석하여 코드 완성, 코드로 클래스 또는 선언으로 직접 이동할 수 있는 코드 탐색, 코드 리팩토링, 보푸라기 및 제안을 통해 불일치를 수정하는 옵션과 같은 특정 기능을 제공한다.[2]

내장 도구 및 통합

IDE는 grunt, bower, grable 및 SBT 와 같은 빌드 / 패키징 도구와 통합을 제공한다. Git, Mercurial, Perforce 및 SVN 과 같은 버전 제어 시스템을 지원하며, Microsoft SQL Server, 오라클, PostgreSQL, SQLite, 및 MySQL과 같은 데이터베이스는 DataGrip의 냊장 버전을 통해 얼티밋 에디션의 IDE에서 직접 액세스할 수 있다.[2]

플로그인 생태계

인텔리제이는 IDE에 추가 기능을 추가 할 수 있는 플로그인을 지원한다. 플러그인은 인텔제이의 플러그인 저장소 웹 사이트 또는 IDE의 내장 플러그인 검색 및 설치 기능을 통해 다운로드하여 설치할 수 있다.[2] 각 에디션에 별도의 플러그인 릴포지토리가 있으며, 커뮤니티 및 얼티밋 에디션은 2019년 기준으로 총 3,000개 이상의 플러그인이 있다.[3]

기능

  • 스마트 완성 : Ctrl+Shift+Space를 누르면 현재 컨텍스트에 적용할 수 있는 가장 적합한 심볼 목록이 표시된다. 이 기능을 비롯한 모든 완성 기능은 사용자 행동을 지속적으로 학습하여, 가장 자주 사용되는 클래스와 패키지의 멤버를 최상위 제안 목록으로 올려 놓기 때문에 사용자가 더 빨리 선택할 수 있다.
  • 체인 완성 : 스마트 완성보다 자세히 분석하여, 현재 컨텍스트에서 메소드나 게터로 액세스할 수 있으며 적용 가능한 심볼 목록을 표시한다. 예를 들어 Project 값을 찾으려 하는데 module이라는 모듈 선언만 가지고 있는 경우, 다른 작업을 할 필요 없이 Ctrl+Shift+Space를 두 번 눌러 module.getProject()를 얻을 수 있다.
  • 정적 멤버 완성 : 정적 메소드와 상수를 간편하게 사용할 수 있다. 입력 내용에 맞는 심볼 목록이 제공되고 필요한 import 문이 자동으로 추가된다.
  • 데이터 흐름 분석 : 인텔리제이 아이디어는 데이터 흐름을 분석하여 가능한 런타임 심볼 유형을 추측하고 해당 정보에 따라 선택지를 개선해 클래스의 형 변환을 자동으로 추가한다.
  • 언어 삽입 : 사용자가 평소에 이용하던 코드 지원의 이점이 그대로 지원되어, 선택한 언어를 다른 언어의 표현식과 문자열 리터럴에 사용할 수 있다. 예를 들어, SQL, XPath, HTML, CSS 또는 자바스크립트 코드의 일부를 자바 문자열에 삽입할 수 있다.
  • 교차 언어 리팩토링 : 인텔리제이 아이디어는 심볼의 사용 위치를 모두 파악하기 때문에 매우 효과적이며 완벽한 리팩토링을 제공한다. 예를 들어 JPA 구문에 있는 클래스의 이름을 변경하는 경우, JPA 엔티티 클래스부터 모든 JPA 표현식까지 해당 클래스가 사용되고 있는 모든 요소를 빠짐없이 업데이트한다.
  • 중복 탐지 : 중복된코드 부분을 바로 찾아낸다. 변수나 상수, 메소드만 추출하려고 하는 경우에도 인텔리제이 아이디어는 작업 중인 코도를 대체할 수 있는 유사한 코드가 있음을 알려 준다.
  • 검사 및 빠른 수정 : 인텔리제이 아이디어에서 사용자의 실수를 탐지할 때마다 에디터에 작은 전구를 표시한다. 전구를 클릭하거나 Alt+Enter를 누르면 오류 수정을 위해 선택할 수 있는 액션 목록이 열린다.[4]

버전

커뮤니티 에디션

커뮤니티 에디션은 아파치 라이선스 2.0을 따르는 오픈 소스로 배포되며 웹 개발을 비롯한 여러 기능들이 제한된다. 이 기능들을 사용하고 싶다면 유료 정기 구독권으로 판매되는 얼티밋 에디션을 구입해야 한다. 자바의 핵심 기능과 Maven, Gradle, Git 등은 커뮤니티 에디션에서도 지원하는 것들이기 때문에 그 외의 용도가 아니라면 회사 차원에서도 사용할 만하다. 커뮤니티 에디션은 기본적으로 버전 업데이트를 지원하지 않아 새 버전이 나오면 기존의 바이너리를 지우고 다시 설치해야 하지만, 젯브레인스 툴박스(JetBrains Toolbox)를 통해 IDE를 설치했을 경우 업데이트가 가능하다.

특징

  • 스마트 자동 완성, 자바, 그루비, 스칼라, 클로저(Clojure) 및 얼랭(Erlang)을 위한 코드 품질 분석, 쉬운 탐색, 고급 리팩토링 및 형식화 도구이다.
  • 안드로이드 애플리케이션 개발을 위한 전문 툴킷이다.
  • JavaFX 2.0 지원, SceneBuilder(Swing의 인터페이스 디자이너)와 통합한다.
  • Maven, Grable, Ant 및 기타를 포함한 자동화된 빌드 및 프로젝트 관리 도구와 통합한다.
  • JUnit, TestNG, Spock, ScalaTest 및 spec2를 지원하는 테스트 도구이다.
  • Git, Subversion, Mercurial 및 CSV를 포함한 버전 제어 시스템과 통합한다.

얼티밋 에디션

얼티밋 에디션은 연간 구독권을 구입하거나 월간 구독권을 연속해서 12개월 동안 구입하면 Perpetual Fallback License가 함께 제공되는데, 이건 자신이 구입한 그 버전을 제한 없이 영구적으로 쓸 수 있는 라이선스이다. 대신 이 라이선스는 동일 버전(X.Y.Z의 'X.Y')의 IDE에 대한 버그 픽스(X.Y.Z의 'Z')만 제공되며, 이후 버전에서 추가된 기능을 사용하고 싶으면 새 구독권을 다시 구입해야 한다. 이 때는 월간/연간 상관없이 12개월 내 갱신시 갱신한 시점의 버전(X.Y)이 제공된다.

특징

  • 스마트 자동 완성, 코드 품질 분석 도구, 쉬운 탐색, 자바, 그루비, 스칼라, CSS, 자바스크립트, 커피스크립트, 액션스크립트, LESS, XML 및 기타 여러 언어의 고급 리팩토링 및 서식을 지정한다.
  • Java EE, 스프링 프레임워크, Grails, 플레이 프레임워크, GWT, 스트릿츠(Struts), 노드제이에스(Node.js), 앵귤러제이에스(AngularJS), 안드로이드(Android), Flex, AIR Mobile 및 기타 여러 가지를 포함한 모든 인기있는 프레임워크 및 플랫폼을 지원한다.
  • 톰캣(Tomcat), Tom EE, 글래스피시(GlassFish), 제이보스(JBoss), 웹로직(WebLogic), 웹스피어(WebSphere), 제로니모(Geronimo), 레진(Resin), 제티(Jetty) 및 Virgo를 포함한 애플리케이션 서버와 통합한다.
  • 데이터베이스 스키마를 위한 편리한 클라이언트 및 편집기를 포함하여 데이터베이스 및 SQL 파일 작업을 위한 도구이다.
  • Perforce, Team Foundation Server, ClearCase, Visual SourceSafe 등과 같은 상용 버전 제어 시스템과 통합한다.
  • 널리 사용되는 모든 테스트 프레임워크에 대한 지원을 비롯하여 테스트 실행 및 코드 적용 범위 분석 도구이다.

비교

IDE 이클립스

이클립스는 처음에 마이크로소프트의 비쥬얼 스튜디오(Visual Studio를 실화하기 위해 만들어졌다. 그 이후 이클립스는 오픈 소스 및 상업용 프로젝트에서 사용되는 주요 플랫폼이 되었다. 매우 다양하고 유연한 이클립스는 복잡한 엔터프라이즈 프로젝트 및 임베디드 시스템 애플리케이션 개발의 요구를 충족하도록 설계되었다. 그것은 제공하는 자바 외에 프로그래밍 언어뿐만 아니라 다양한 인기있는 프레임워크에 대한 지원과 다양한 플러그인, 철저한 문서화 및 대규모 개발자 커뮤니티를 통해 이클립스는 개발자들이 선호했다.[5]

소프트웨어 라이센스

인텔리제이 아이디어 커뮤니티 에디션은 오픈 소스가 아닌 오픈 코어이며 Apache 2.0 라이센스가 적용된다. 이는 모든 유형의 프로젝트에 IDE를 자유롭게 사용할 수 있음을 의미하지만 라이센스는 플러그인 및 확장의 개발을 다소 제한하기 때문에 플러그인 에코 시스템에도 반영된다. 그러나 상업 프로젝트로서 IntelliJ IDEA는 지역 사회 중심 비영리보다는 예산이 뒤처진 회사의 장점을 가지고 있다.[5]

이클립스 IDE는 이클립스 공개 라이센스(EPL)V2에 다라 완전히 오픈 소스이며 코드는 비영리 단체 인 이클립스 재단에 의해 유지된다. 개발 경험에 거의 영향을 미치지 않지만 IDE의 오픈 소스 라이센스보다 광범위한 플러그인 에코 시스템을 허용하며 오픈 소스 지지자들은 커뮤니티가 커뮤니티를 위해 개발 한 소프트웨어를 사용한다는 사실을 알고 따뜻한 느낌을 받았다.[5]

시스템 요구 사항

IntelliJ IDEA는 다음 하드웨어를 사용하여 Windows, MacOSLinux에 설치할 수 있다.

  • 최소 2GB RAM, 8GB RAM 권장
  • 2.5GB 하드 디스크 공간
  • 1024x768 최소 화면 해상도

이클립스 IDE는 Windows, MacOS, Linux 및 Solaris를 포함하여 JVM을 지원하는 모든 항목에서 실행될 수 있다.

  • 최소 0.5GB RAM, 1GB 이상의 RAM 권장
  • 최소 300MB의 하드 디스크 공간, 1GB이상 권장
  • 800Mhz, 1.5Ghz 이상의 프로세스 속도 권장

지원되는 프로그래밍 언어 및 프레임워크

인텔리제이 커뮤니티 에디션은 Groovy, Java, Kotlin 및 XML/XSL을 을 즉시 지원한다. Clojure, CloudSlang, Dart, Elm, Erlang, Go, Gosu, Haskell, Haxe, Julia, Lua, Perl, Python, Rust 및 Scala에서 프로그래밍 할 수 있도록 플러그인을 다운로드하여 설치할 수 있다. 지원되는 프레임워크는 Android, Ant, Gradle, JUnit, JavaFX, Maven, Python, SBT 및 TestNG이다.[5]

이클립스는 Java로 작성되었으므로 도구 및 Java 개발 용 SDK는 기본 설치의 일부이다. 그러나 오픈 소스이기 때문에 이클립스 IDE에는 하나의 IDE에서 거의 모든 언어와 프레임워크로 프로그래밍 할 수 있는 거대한 플러그인 에코 시스템이다. 현재에 이클립스 시장에서 사용 가능한 플러그인은 100개 이상의 프로그래밍 언어와 거의 200 애플리케이션 개발 프레임워크를 지원할 수 있다.[5]

시스템 요구 사항

윈도우mac OS리눅스
운영체제 버전윈도우 7 SP1 이상 x64mac OS 10.11 이상GNOME 또는 KED 데스크톱 x64
최소 2GB, 권장 8GB
디스크 공간2.5GB(하드 1.5GB + 캐시 1.0GB), SSD 권장
JDK 버전2016년부터 1.8
JRE 버전1.8 번들
화면 해상도최소 1024x768, 권장 1920x1080

각주

  1. Best Innovation in Coding Tools 2019〉, 《젯브레인스》
  2. 2.0 2.1 2.2 IntelliJ IDEA〉, 《위키백과》
  3. IntelliJ Platform Based Products〉, 《젯브레인스》
  4. 젯브레인스 공식 홈페이지 - https://www.jetbrains.com/ko-kr/
  5. 5.0 5.1 5.2 5.3 5.4 Ilana Brudo, 〈IntelliJ IDEA vs Eclipse: Which Is Better for Beginners〉, 《코도타 블로그》, 2019-03-18

참고자료

같이 보기


  검수요청.png검수요청.png 이 인텔리제이 아이디어 문서는 솔루션에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.