로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

인텔리제이 IDEA

   
지은이 야마모토 유스케, 이마이 마사노부   |   출판사 에이콘  |   발행일 2018년 12월 20일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 28,000원25,200원 10%
마일리지 5% 1,400원
발행일 2018-12-20
ISBN 1161752439 | 9791161752433
기타정보 번역서 | 300쪽 | 일반
예상출고일 1~2일 이내 (근무일기준)
배송비 무료배송
   
일반
종합지수 0p
   
 

★ 요약 ★



체코의 젯브레인(JetBrains) 사가 개발한 인텔리제이(IntelliJ) IDEA는 편리하고 쉽게 개발할 수 있도록 지원하는 기능과 다양한 언어 지원이 장점인 통합 개발환경(IDE)이다. 본래는 자바 개발자를 위해 개발된 IDE였지만, 최근에는 코틀린이나 스칼라뿐만 아니라 그 외의 언어 사용자 사이에서도 인기가 높다. 안드로이드 개발 용도의 ‘안드로이드 스튜디오(Android Studio)’ 기반 개발환경으로 적용된 IDE로도 많은 주목을 받고 있다. 이 책은 그 인텔리제이 IDEA의 입력서다. 1부에서는 편집, 실행, 디버그, 내비게이션, 버전 관리, 데이터베이스와 연결하기 등에 대해 코드를 작성해 기능을 직접 실행하고 따라 하는 방식으로 설명한다. 2부에서는 자바 EE, 스프링, 스칼라, 코틀린 프로젝트를 생성해 실무에서 개발하는 것을 가정하고 개발에 필요한 다양한 설명을 하고 있다. 무료로 사용할 수 있는 인텔리제이 IDEA 커뮤니티 에디션(Community Edition)의 기능을 중심으로 하고 상용 버전인 얼티밋 에디션(Ultimate Edition)의 고급 기능도 소개하므로 PhpStorm, RubyMine 같은 젯브레인의 다른 IDE를 사용하는 사용자에게도 유용한 책이다.





★ 이 책의 대상 독자 ★



인텔리제이 IDEA, PhpStorm, WebStorm, RubyMine, PyCharm을 포함한 젯브레인 IDE를 앞으로 사용하려는 사람이나 이미 사용 중이라도 좀 더 다양하게 활용하고 싶은 사람을 대상으로 한다. 1부에서는 기본적인 사용 방법을, 2부에서는 본격적으로 개발하는 데 도움이 되는 노하우를 살펴보도록 구성돼 있다. 우선 1부를 처음부터 자세히 읽어 기본 사용법을 배우고, 실제 개발에 대한 조언을 얻기 위해서는 2부의 필요한 내용을 적절히 찾아서 읽으면 된다.



★ 지원 환경 ★



이 책은 자바/코틀린/스칼라용 IDE인 인텔리제이 IDEA를 기준으로 설명하며, 2부의 일부는 인텔리제이 IDEA만의 독자적인 내용으로 구성돼 있다. 또한 이 책의 전체 내용은 인텔리제이 IDEA 2018.3 버전에서 동작하는 것을 확인했다. 인텔리제이 IDEA의 버전에 따라 메뉴, 기능 이름, 아이콘이 이 책과 다를 수 있다. 또한 인텔리제이 IDEA 화면의 스크린샷은 맥OS 시에라(Sierra)에서 캡처했다.





★ 지은이의 말 ★



“명필은 붓을 가리지 않는다”’라는 말이 있지만 개발자는 상급 개발자가 될수록 개발 도구를 중요하게 생각하는 사람이 많은 것 같다. 개발 도구의 선택 기준은 '점유율이 높은 것’, ‘상용이 아닌 오픈 소스인 것’, ‘자유도가 높아 자신의 손에 익숙하게 만들 수 있는 것’ 등 사람마다 제각각 다르다. 나도 마찬가지로 매일 다루는 개발 도구를 매우 중요하게 생각하며, ‘커스터마이징하지 않고도 기본 환경만으로 쉽게 사용할 수 있는 것'이 개발 도구의 선택 기준이다.

내가 즐겨 사용하는 맥(Mac)이나 아이폰(iPhone)은 ‘완벽하게 커스터마이징해 자신의 취향에 맞추는’ 사용 방법에는 그다지 맞지 않을지도 모른다. 하지만 제품을 상자에서 꺼내면 바로 최대한 활용할 수 있도록 고안됐다.

자바 IDE로 일반적으로 폭넓게 보급돼 온 이클립스(Eclipse)는 ‘높은 점유율을 자랑한다’, ‘오픈 소스로 무료로 이용할 수 있다’는 점에서 많은 사람이 선택하고 있는 듯하다. 나도 이클립스를 여러 번 사용하려고 시도했지만 플러그인을 잔뜩 설치해야 제대로 사용할 수 있다는 점과 워크스페이스나 퍼스펙티브 같은 이클립스의 독자적인 개념이 잘 와닿지 않아 사용을 포기했다.

2000년쯤부터 선택했던 자바 IDE는 인텔리제이 IDEA가 아니라 제이빌더(JBuilder)였다. 안타깝게도 제이빌더는 2005년 무렵부터 업그레이드가 중단됐고, 돌연 이클립스 플랫폼에 포팅(porting)된다고 발표했다. 제이빌더에서 유래한 UI와 사용 느낌을 계승한 이클립스 기반의 IDE가 됐다면 좋았을 텐데, ’제이빌더 브랜드를 계승하지만 사용 느낌은 이클립스 그대로라서 무엇이 장점인지 알 수 없는 IDE’가 돼 버렸다.

그래서 2007년, 작정하고 옮겨간 IDE가 이 책에서 다루는 인텔리제이 IDEA다. 인텔리제이 IDEA는 일본 최고의 젯브레인(JetBrains) IDE 전문가인 공동 저자 이마이 마사노부 씨의 블로그를 통해 알게 됐고, 이전부터 사용해볼 생각은 하고 있었다. 인텔리제이 IDEA를 사용해보니 제이빌더와 동일하게 스윙(Swing) 기반의 가벼운 UI와 기본 설치만으로도 필요한 기능이 제공되고, 자세한 사용법을 몰라도 생각대로 코드를 개발할 수 있었다. 바로 내가 중요시하는 ‘커스트마이징하지 않아도 기본 환경만으로도 사용하기 쉬운’ IDE로 사용하자마자 매력에 빠져버렸다.

젯브레인 사는 당시 회사의 캐치프레이즈로 ‘즐겁게 개발하자(Develop with pleasure)’를 내걸었다. 번거로운 설정이나 특별한 사용법을 배울 필요가 없고, 사용자에게 필요한 작업을 예상해 스스로 알아서 제시해주는 감각은 바로 ‘즐겁게 개발하자’ 그 자체라고 할 수 있었다.

그 후에도 한동안 인텔리제이 IDEA는 ‘아는 사람은 아는’ IDE였으나 주목을 끌기 시작한 것은 2014년 자바 8버전 출시 무렵이었다. 자바 8에서는 람다(lambda)라는 새로운 언어 사양이 추가됐는데, 인텔리제이 IDEA는 자바 8이 정식으로 출시되기 2년 정도 전부터 얼리 액세스(Early Access) 버전을 지원했으며 사양 책정 단계에서 자주 바뀌는 변경 사항도 반영해왔다. 정식 출시 시기에는 단순한 코드 보완에 그치지 않고, 기존 코드를 람다를 사용한 코드로 리팩토링하는 기능 등 강력한 람다 지원 기능을 갖춰 '람다를 학습하려면 인텔리제이 IDEA로’라는 평판이 만들어졌다. 또한 스프링 부트(Spring Boot), AngularJS, TypeScript, 도커(Docker) 등 다양한 계층의 최신 기술을 재빠르게 지원하는 것으로도 주목받았다. 2016년에 이클립스의 점유율을 넘었다는 조사 결과도 나왔다. 구글이 안드로이드의 표준 개발 환경으로 이클립스를 포기하고 인텔리제이 IDEA 기반으로 안드로이드 스튜디오(Android Studio)를 발표한 것이나, 안드로이드의 표준 언어로 젯브레인이 개발하는 코틀린(Kotlin)을 도입한 것에 힘입어 현재는 ‘모르면 부끄러운’ 정도의 IDE로 성장했다고 말할 수 있지 않을까?

옛날 이야기가 길어졌다. 인텔리제이 IDEA를 비롯한 젯브레인 IDE는 개발자의 생산성을 높이는 데 무엇이 필요한지 번거로운 작업을 하지 않아도, 상황을 스스로 판단해 상급 개발자와 페어 프로그래밍을 하는 것 같은 느낌을 주는 제품이다. 젯브레인 IDE를 사용하기 시작한 사람들은 ‘즐겁다’, ‘기분 좋다’, ‘잘 알아준다’라고 입을 모아 말한다.

하지만 아무리 생산성이 높은 도구라고 해도 다른 도구에서 전환하는 데는 그만한 비용이 들고 때로는 어려움도 뒤따른다. 이 책에서는 인텔리제이 IDEA를 비롯한 젯브레인 IDE로의 전환 비용을 최소화하고 불편 없이 사용할 수 있도록 프로젝트 생성, 파일 생성, 코드 완성 같은 기본 사용법부터 본격적으로 활용하기 위한 팁까지 스크린샷을 아낌없이 사용해 설명한다.

이제 컴퓨터를 켜고 젯브레인 IDE를 설치하자. 그리고 책을 읽어가며 젯브레인 IDE의 멋진 세상을 체험하길 바란다!



1부. 기본 사용법



1장. 인텔리제이 IDEA 시작하기

__1.1 인텔리제이 IDEA란?

____인텔리제이 플랫폼 IDE

____젯브레인 IDE 라이선스

__1.2 인텔리제이 IDEA 설치

____인스톨러를 통한 설치

____젯브레인 툴박스를 이용한 설치

__1.3 인텔리제이 IDEA 초기 설정

____초기 설정 위저드를 통한 초기 설정

____JDK 설정(초기 설정 위저드 완료 이후의 설정)

__1.4 인텔리제이 IDEA 커스터마이징하기

____UI 테마 설정 변경

____키맵 설정 변경

____플러그인 설치





2장. 인텔리제이 IDEA로 개발 시작하기

__2.1 프로젝트 만들기

__2.2 젯브레인 IDE 레이아웃





3장. 파일 편집

__3.1 HTML 파일 생성과 미리 보기

____파일 생성과 편집

____LiveEdit로 미리 보기

__3.2 편집과 자동 완성 기능

____완료 태그의 자동 완성 기능

____자동 완성 후보

____Intention Action

____Emmet

____Live Template

____Postfix completion

____편집 중엔 조건식 평가하기

____Expand Selection

____변수 추출

____인라인

____평가 결과를 콘솔에 출력하는 설정

____파라미터 표시

____코드 포맷

____리네임 리팩토링





4장. 실행과 디버깅

__4.1 FizzBuzz 코드 작성하기

____Maven 프로젝트 생성

____불러오기(import) 기능

____자바 파일 생성

____Inspection

____Inspection 설정과 표시

____main 메소드 작성

__4.2 FizzBuzz 실행

____실행 범위 지정

____컴파일 에러

__4.3 FizzBuzz 디버깅

____메소드 추출

____브레이크 포인트

____디버그 실행 제어

____브레이크 조건

__4.4 실행 결과 되돌리기

____Chronon 플러그인 설치와 설정

____Chronon 실행

__4.5 테스트 케이스 작성

__4.6 테스트 케이스 실행





5장. 프로젝트에서 이동하기(Navigation)

__5.1 심볼 간 내비게이션

____심볼 선언 부분으로 이동하기

____심볼 사용 위치 찾기

____심볼 사용 위치를 팝업으로 보여주기

____이동 전의 코드로 돌아가기

____클래스 간 이동

__5.2 파일 내비게이션

____최근 작업 파일 열기

____최근에 작업한 파일 목록 보기

__5.3 디렉터리 내비게이션

____내비게이션 바를 사용한 이동

____내비게이션 바의 그 외 사용법

__5.4 편집 위치로 돌아가기

__5.5 파일 이름이나 심볼 이름을 지정해서 열기

____Search Everywhere

____좁은 검색 범위의 내비게이션





6장. 버전 관리 시스템

__6.1 실행 바이너리 설정

__6.2 저장소 초기화

__6.3 Version Control 툴 윈도우

__6.4 커밋 기초

____커밋 대상 등록

____Commit Changes 다이얼로그

____커밋 전 액션 설정

____커밋하기

__6.5 브랜치 확인과 생성

__6.6 변경된 내용 커밋

____변경된 내용 비교

____커밋 전 편집

__6.7 충돌 해결

____VCS Operations 팝업

____체크아웃

____충돌 해결 방법

__6.8 저장소 설정과 푸시





7장. 데이터베이스 관리하기

__7.1 인텔리제이 IDEA 데이터베이스 기능

__7.2 데이터베이스 접속

__7.3 Database 툴 윈도우

__7.4 테이블 데이터 편집(테이블 에디터)

____데이터 정렬과 검색

____데이터 편집

____데이터 내보내기

____CSV 파일이나 TSV 파일 내용 가져오기

__7.5 Database 콘솔에서 데이터베이스 작업

__7.6 소스 코드에서 SQL 편집

____참고 문서 보기

__7.7 여러 가지 데이터베이스 사용법JDBC 드라이버 관리

____DDL로 데이터 소스 정의

____테이블 정의

____스키마 또는 데이터 비교

____특수한 데이터 편집

____그 외 기능 소개





2부. 본격 개발편



8장. 인텔리제이 IDEA의 프로젝트 관리

__8.1 프로젝트 관리 사상

__8.2 프로젝트 설정(Project Structure 다이얼로그)

____Project 카테고리 설정

____Module 카테고리 설정

____Libraries 카테고리 설정

____Facets 카테고리 설정

____Artifacts 카테고리 설정

__8.3 프로젝트 관리

____새 프로젝트 생성

____다른 프로젝트 열기

__8.4 프로젝트 설정 시 자주 만나는 고민

____파일 인코딩을 지정하고 싶을 때

____가행 문자를 설정하고 싶을 때

____컴파일러 할당 메모리나 옵션을 설정하고 싶을 때

____Project나 Module마다 컴파일러 또는 언어 레벨을 설정하고 싶을 때

____애너테이션 프로세서를 사용하고 싶을 때

____프로젝트를 템플릿으로 저장하고 싶을 때





9장. 자바 EE 프로젝트 개발

__9.1 자바 EE 프로젝트 준비

____자바 EE 프로젝트 충족 조건

__9.2 자바 EE 프로젝트 실행

____아티팩트 준비

____애플리케이션 서버 실행 설정

____애플리케이션 서버 실행 설정

__9.3 자바 EE 프로젝트 개발

____CDI 지원과 Bean Validation 개발 지원

____서블릿/JSP 개발 지원

____JSF/Facelets 개발 지원

____JPA 개발 지원

____EJB 개발 지원

____웹 서비스(JAX-WS/JAX-RS) 개발 지원





10장. 다양한 프로젝트 개발하기

__10.1 스프링 프로젝트

____네이티브 형식 스프링 프로젝트

____Spring Initializr로 생성하는 프로젝트

____스프링 프로젝트 특징

____스프링 부트 프로젝트 생성

____스프링 부트 프로젝트로 개발하기

__10.2 자바 VM 기반 개발 언어 사용하기

____그루비 사용하기

____코틀린 사용하기

____스칼라 사용하기

__10.3 다양한 개발 언어 사용하기

____젯브레인 이외의 IDE 익히기

____WebStorm처럼 HTML과 JavaScript를 사용하기

__10.4 PhpStorm처럼 PHP 사용하기

__10.5 RubyMine처럼 루비 사용하기

____Pycharm처럼 파이썬 사용하기

야마모토 유스케(山本裕介)

사무라이즘 주식회사(Samuraism Inc.) 대표이사로, 인텔리제이 IDEA를 너무 좋아해 젯브레인(JetBrains) 제품을 판매하는 회사(https://samuraism.com)를 설립했다. 양궁, 인라인 스케이팅, 요요, 스플래툰(Splatoon) 게임을 좋아한다.



이마이 마사노부(今井勝信)

일본 유니시스(Unisys Japan) 소속 시스템 엔지니어로 센다이에 살고 있으며, 인텔리제이 IDEA를 사랑한다.





★ 옮긴이의 말 ★



이제는 인터넷으로 다양한 정보를 얻고 자유롭게 개발한 코드를 공유할 수 있는 세상이 됐다. 일반 웹서비스뿐만 아니라 모바일, 사물인터넷(IoT), 데이터 분석 처리 등 다양한 환경과 플랫폼에서 애플리케이션을 개발하고 있으며, 개발 언어도 애플리케이션 용도에 따라 자바, 파이썬, 코틀린, 스칼라, Go 등 다양한 언어를 사용한다. 또한 오픈소스 프레임워크가 대중화 되면서 엔터프라이즈 시스템은 주로 전자정부 표준 프레임워크, DevOnFrame, AnyFrame, TERASOLUNA 등 스프링을 표준 프레임워크로 사용해 개발하고 있다. 이러한 다양한 언어나 프레임워크로 개발하기 위해서는 이제는 통합 개발환경(IDE, Integrated Development Environment) 없이는 개발을 생각할 수 없고, 이클립스(Eclipse)가 가장 대중적인 통합 개발환경으로 사용된다. 하지만 이클립스는 버전이 올라가고 다양한 기능을 제공하면서 사용자의 컴퓨터 자원을 많이 사용하게 되고, 점점 개발을 효율적으로 만들어 주는 목적보다는 사용자의 다양한 요구 사항을 받아들여 새로운 기술을 적용하기 위한 도구로 변해가고 있는 듯하다. 이에 비해 인텔리제이(IntelliJ) IDEA는 편리하고 쉽게 개발할 수 있도록 지원하는 기능과 다양한 언어 지원이 장점인 통합개발 환경이며, 인텔리제이의 모든 요소는 개발자의 생산성을 극대화하도록 설계돼 있어 해외에서는 오픈소스를 개발하거나 오픈소스 기반 개발 환경은 주로 인텔리제이 IDEA를 사용하고, 국내에서도 점점 사용자가 늘어나고 있는 추세다.

인텔리제이는 본래 자바 개발자를 위해 개발된 IDE였지만 최근에는 코틀린이나 스칼라뿐만 아니라 그 외의 언어 사용자 사이에서도 인기가 높다. 이 책은 인텔리제이 IDEA의 입문서로 기본적인 사용 개념의 이해와 사용 방법을 시작으로 실전 프로젝트에 적용하는 방법까지 체계적으로 다루고 있어 다양한 언어를 사용한다거나 스프링을 기반으로 하는 개발자에게도 상당히 유용하다. 또한 튜토리얼만으로는 알기 어려운 기능이나 실무에서 자주 사용하는 유용한 기능도 다루고 있어 저자의 숨은 노력과 배려가 깃든 책이라고 말할 수 있다. 인텔리제이 IDEA는 좀 더 나은 개발을 할 수 있게 해준다. 인텔리제이를 사용해보면 자바나 다른 언어를 사용해 개발하면서 항상 반복해오던 작업, 기존 다른 IDE를 사용하면서 불편했던 기능을 극복하고, 생각하지 못했던 정말 효율적인 방법으로 코드를 개발할 수 있도록 지원하는 등 IDE가 나아가야 할 방향을 고민하고 반영해 개발자에게 제공하고 있다는 사실을 느낄 수 있다. 이 책을 통해서 개발자들이 인텔리제이의 다양하고 강력한 기능을 접하고 익혀 좀 더 효율적으로 사고하고 개발해 한 단계 발전하는 좋은 계기가 됐으면 좋겠다.





★ 옮긴이 소개 ★



이레이

아파치 재단 커미터와 스프링 프레임워크 컨트리뷰터 활동을 하고 있다. 오픈 소스를 사랑한다.
등록된 서평이 없습니다.
데이터 통신(개정판)...
이재광 편저
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
엘라스틱서치 실무 가이드...
권택환, 김동우, 김흥래, 박진현, 최용호, 황희정
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
사물 인터넷 (IoT)...
양순옥, 김성석
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
이반 추키츠...
로버트 C. ...
앰버 케이스...
 
전체평균(0)
회원평점   회원서평수 0
에이콘 출판사의 신간
자바 데이터 분석
존 R. 허바드 [옮긴이] 김명훈 저
31,500원
(10%↓+5%)
 
보안 빅데이터 분석 플랫폼 구축과 활용
김대용 저
31,500원
(10%↓+5%)
 
Functional Programming in C++
이반 추키츠 [옮긴이]김점갑 저
31,500원
(10%↓+5%)
 
스프링 부트 2 레시피
마틴 데이넘 [옮긴이]최정호, 임진욱, 김명훈 저
27,000원
(10%↓+5%)
 
사운드 디자인
앰버 케이스, 애런 데이 저
25,200원
(10%↓+5%)
 
이메일주소수집거부