SlideShare a Scribd company logo
1 of 53
Download to read offline
eclipse에서
intelliJ IDEA로
2015.04.30
undefine:D mini seminar 2015-#.1
@rkjun
발표자 소개
• 박준태 (@rkjun)
• 서버사이드 웹 개발자, 언디파인드 오거나이저 (undefined.kr ,
페북그룹: bit.ly/undefinedkr),
• 그리고!! 두둥, (이제 막) 인텔리제이 사용자.
발표배경
• 시작은, 안드로이드 스튜디오 사용자 경험
• 안드로이드 스튜디오 = 인텔리제이 기반 IDE
• “짱 좋잖아!?” 웹 개발도 갈아탐. 

(이클립스에서 인텔리제이로)
• 그리고, 좋은 건 무조건 공유!
• 오늘의 목표) 인텔리제이 사용자 늘리기!
– 마르셀 프루스트
‘바뀐 것은 없다. 단지 내가 달라졌을 뿐이다.
내가 달라짐으로써 모든 것이 달라진 것이다.’
JetBrains에서 개발한 IDE
• IntelliJ IDEA, 자바 개발자
• PhpStorm, PHP 개발자
• PyCharm, 파이썬 개발자
• RubyMine, 루비 개발자
• WebStorm, 프론트엔드 개발자
• and more……
intelliJ IDEA?
• JetBrains사에서 만든 자바 IDE(통합개발환경)
• 2015.04 현재 최신버전 14.1.2

Ultimate Edition (Java EE, Spring, 유료)

Community Edition (Java SE, Groovy & scala, 무료)
라이선스
• CE 는 무료 (지만, 웹개발 플러그인 미지원)



UE 는,

시험판 30일무료 (팀 90일 무료)

Commercial $499, Personal $199

교육용 무료 (교사,학생)

오픈소스용 무료 (비상업용)
intelliJ 동일한 사용자경험
• 인텔리제이 기반 IDE는
• 동일한 코어
• 다른 번들 플러그인
• IntelliJ IDEA는 자바 관련 플러그인 내장
• WebStorm은 자바스크립트등 프론트엔드 웹개발 관련 플러그
인 내장(기본 사용법은 IntelliJ IDEA와 WebStorm 동일)
• 플러그인은 해당 IDE에서만 사용가능하거나, 다른 IDE와 호환..
IntelliJ plugin
• 모든 JetBrains사 IDE 에서 공유가능
• 예) IntelliJ IDEA에 설치한 ideaVIM 플러그인을
webStorm에 그대로 설치 가능
• 

단 내장(Bundle) 플러그인은 불가함. J2EE, Spring…

- IntelliJ IDEA (Ultimate)

- JavaEE, Spring, Web development
• - IntelliJ IDEA CE

- JavaSE (and Scala, groovy)
Eclipse와 IntelliJ IDEA
• 비슷한 개념
• 이클립스 => IDEA
• * Workspace => Project

* Project => Module

• Project-specific JRE => Module JDK

User library => Global library

Classpath variable => Path variable

Project dependency => Module dependency

Library => Module library
https://www.jetbrains.com/idea/documentation/migration_faq.html
이클립스에서
• - workspace를 지정하고, 그안에 여러 project를 생성해
서 개발.
• 예) 1 workspace, 2 project

- front_web

- admin_web
intelliJ IDEA에서
• - project를 지정하고, 그안에 여러 module을 생성해서 개
발.
• 예) 1 project, 2 module

- front_web

- admin_web
intelliJ IDEA설치전에
Java 1.6 이상 설치하기
http://www.oracle.com/technetwork/java/javase/downloads/index.html
intelliJ IDEA설치하기
• OSX
• $ brew cask install intellij-idea
• WINDOWS
• 공식사이트에서 다운로드

https://www.jetbrains.com/idea/download/
최초설정
• UI Themes (Default / Darcula)
• KeyMap (OS X 10.5+ / OS X)
• Default plugins
• Featured plugin
keymap scheme
• OSX만
• OS X 10.5+ keymap

- IDEA 최초 사용자, 맥 최적화 

(⌘N Generate / ⌘O Go to class)
• OS X keymap

- IDEA 기존버전 사용자, 모든 플랫폼에서 기본

(^N Generate / ⌘N Go to class)
OS X Keymap
• OS X 10.5+ 키맵

= 맥사용자 이면서, IntelliJ 최초 사용자용 (맥 최적화 키)
• OS X 키맵

= 윈도/리눅스 기본 키맵과 (비슷하거나) 동일한 단축키
• 그외 이맥스, 비쥬얼 스튜디오, 이클립스 등 키맵 지원
오늘의 키맵은
• OSX 키맵 (=윈도/리눅스 기본 키맵)
• 왜?
• OSX + 윈도 + 리눅스

(OSX의 ⌘키는 윈도에서 주로 CTRL키로 대체됨)
Default Plugins
• 자바 프레임워크
• 빌드 툴
• 웹 개발
• 버전 컨트롤
• 테스트 툴
• 어플리케이션 서버
• 클라우드, 스윙, 안드로이드, DB 툴, 기타 툴… …
Welcome to IntelliJ
IDEA
• Recently Project
• Create New Project
• Import Project
• Open
• Check out from Version Control
• Configure
• Register
프로젝트생성
• Create New Project > Spring > Spring MVC 체크
• Next > Create project from template 체크
프로젝트 가져오기
• Import Project > 

이클립스(.project) 또는 .classpath 또는 pom.xml

• Open > 이클립스 Workspace/프로젝트 선택
• Check out from Verison Control (svn, git)
메뉴 및 툴바
• 1 메인메뉴
• 2 메인 툴바
• 3 네비게이션 바
• 4 컨텍스트 메뉴
• 5 팝업 메뉴
• Find Action : ⌘ ︎A
네비게이션바
• ALT+HOME
상태바
• Line:Column
• Line Ending (Unix LF, Windows CR+LF, Mac CR)
• File Encoding
• Read-only
• Code inspection
• Notification
뷰 모드
• Full Screen Mode
• Presentation Mode
• Distraction-free mode
Tool Window
• OSX ⌘ + <Number>

WINDOWS ALT + <Number>
• ⌘ + 1 : Project Tool Window

……



Shift + F12 : Restore Default layout

F12 : Jump to Last Tool Window
• ⌘ ︎(➡| ) : Resize (Windows ⌘ -> ^)
• ALT+F1 : Select In
Tool Window
• Pinned mode / unpinned mode (고정/비고정)
• Show Views as Tabs option (탭 나열)
• 탭이동 ^+좌,우 (윈도 ALT + 좌,우)
• OSX은 운영체제와 충돌 (^⌘+좌,우) 로 재매핑
• Search for 알파벳입력
• Favorites (파일 또는 폴더) 즐겨찾기
Editor
• 파일 열기
• Tool Window, navigation bar 에서 파일 선택
• File > open
• Drag & drop
Editor
• 파일열기 (네비게이션)
• Goto By Class Name : ⌘+N (이클립스 ^+ +T)
• Goto By File Name : ⌘+ +N (이클립스 ^+ +R)
• Goto By Symbol : ⌘+ +ALT+N
• 최근파일열기 : ⌘+E, 최근 업데이트된 파일 ⌘+ +E
• (OSX ⌘키는 윈도에서 ^키로 대체)
Editor
• 새창에 열기
• IntelliJ 바깥창에 Drag & Drop
• Shift + F4
• Shift + mouse double click on a filename
Editor
• 파일닫기
• ⌘+F4 (윈도 ^+F4)
• Close Others
• Close All
Multi Cursor
• (마우스) SHIFT+ALT+CLICK
• (윈도) ^키 2번 입력 + 위/아래
• (OSX) Clone Caret Below/Above (키 리맵핑)
• Edit | Column selection mode
Multi Selection
• 무려 서브라임 텍스트의 기능이!
• Sublime Text Style Multi Selection
• OSX) CTRL+G / SHIFT+CTRL+G
• OSX Select All) CTRL+CMD+G
• 윈도) ALT+J / SHIFT+ALT+J
• 윈도 Select All) SHIFT+CTRL+ALT+J
Zooming in the Editor
• Editor > General > Change font size (zoom) with
Command + Mouse Wheel
• Command+Shift+A

increase font size / decrease font size / reset
font size
Changing Indentation
• tab / shift + tab
• To fix indentation : Ctrl + Alt + I
• To toggle between tabs and spaces
• Edit | Convert Indents
• To Spaces / To Tabs
Toggling Case
• Edit | Toggle Case (Ctrl + Shift +U)
• + Plugin (Camel Case, String Manipulation ..)
Managing Editor Tabs
• Window | Editor Tabs > Pin Active Tab
• (Tab limit default : 10)
Navigating Between
Editor Tabs
• Select Next/Previous Tab
• 탭이동 ^+좌,우 (윈도 ALT + 좌,우)
• OSX은 운영체제와 충돌 (^⌘+좌,우) 로 재매핑
• ^+탭 (스위칭)
• Navigate | Back / Forward
• ⌘+ALT+좌, 우 (윈도 ^+ALT+좌,우)
Commenting /
Uncommenting
• Code | Comment with Line Comment
• // ⌘ + /
• /**/ ⌘ + Shift + /
• (OSX⌘ => 윈도 ^)
라인 추가,복사,제거,이동
• 라인 추가 : Shift + Enter
• 라인 중복 복사 : ⌘ + D
• 라인 제거 : ⌘+Y
• 라인 이동 : SHIFT + ALT + 위, 아래
• (OSX⌘ => 윈도 ^)
Joining Lines and
Literals
• To smartly join several lines : ^ + SHIFT + J
Code folding
• Collapse : ⌘ -

Expand : ⌘ +
• Collapse All : ⌘ Shift -

Expand All : ⌘ Shift +
• (OSX⌘ => 윈도 ^)
find usages
• find usages : ALT + F7
• find usages in file : ⌘ + F7
• (OSX⌘ => 윈도 ^)
refactoring
• Quick fix : ALT + ENTER
• Rename : SHIFT + F6

Copy class : F5

Move class : F6
• Introduce Variable : ⌘ + ALT + V

Introduce Field : ⌘ + ALT + F

Introduce Parameter : ⌘ + ALT + P

Extract Method : ⌘ + ALT + M

Refacter this : ⌘ + ALT + SHIFT + T
• (OSX⌘ => 윈도 ^)
Surround with a live
template
• 블럭 지정후, ⌘ + ALT + T
• (OSX⌘ => 윈도 ^)
Override/Implement
methods
• Override Methods : ⌘ + O
• Implement Methods : ⌘ + I
• Generate : ^ + N
• (OSX⌘ => 윈도 ^)
Live template
• ⌘ + J
• (OSX⌘ => 윈도 ^)
plugin
결론
• 이클립스도, 충분히 좋은 자바 IDE,

IntelliJ 제품들의 동일한 사용자 경험,



단축키를 익혀야 하는 허들은 있음.

하지만 넘고 나면, 편하고 빠르다

무엇보다, (인텔리제이와 함께라면) 개발이 즐겁다.
https://twitter.com/kenu0000/status/576444553751764992
참조
• https://www.jetbrains.com/idea/help/intellij-idea.html

https://medium.com/@fedor/intellij-tips-and-tricks-3e1dce6561a

https://www.jetbrains.com/idea/help/keyboard-shortcuts-you-cannot-miss.html

http://www.codingpedia.org/ama/is-intellij-idea-shining-through-eclipse/
감사합니다.
Thank you.

More Related Content

What's hot

전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019devCAT Studio, NEXON
 
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기Soojin Ro
 
Open Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code reviewOpen Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code reviewMinsuk Lee
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님NAVER D2
 
도도와 파이썬: 좋은 선택과 나쁜 선택
도도와 파이썬: 좋은 선택과 나쁜 선택도도와 파이썬: 좋은 선택과 나쁜 선택
도도와 파이썬: 좋은 선택과 나쁜 선택Jc Kim
 
티켓몬스터를 위한 PHP 개발 방법
티켓몬스터를 위한 PHP 개발 방법티켓몬스터를 위한 PHP 개발 방법
티켓몬스터를 위한 PHP 개발 방법Young D
 
Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기nexusz99
 
개발 방식을 바꾸는 15가지 기술
개발 방식을 바꾸는 15가지 기술개발 방식을 바꾸는 15가지 기술
개발 방식을 바꾸는 15가지 기술중선 곽
 
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기NAVER D2
 
쫄지마,글로벌! 평범한 개발자의 좌충우돌 글로벌 오픈소스 도전하기
쫄지마,글로벌! 평범한 개발자의 좌충우돌 글로벌 오픈소스 도전하기쫄지마,글로벌! 평범한 개발자의 좌충우돌 글로벌 오픈소스 도전하기
쫄지마,글로벌! 평범한 개발자의 좌충우돌 글로벌 오픈소스 도전하기Sangmin Shim
 
대표적인 오픈소스 프로젝트
대표적인 오픈소스 프로젝트대표적인 오픈소스 프로젝트
대표적인 오픈소스 프로젝트licubeclub
 
[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on lab[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on labNAVER D2
 
오픈소스 그리고 기회
오픈소스 그리고 기회오픈소스 그리고 기회
오픈소스 그리고 기회Sungju Jin
 
안드로이드 개발에 유용한 도구들
안드로이드 개발에 유용한 도구들안드로이드 개발에 유용한 도구들
안드로이드 개발에 유용한 도구들Sewon Ann
 
[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)
[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)
[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)NAVER D2
 
5.yobi를 활용한 개발자 협업 및 배포 프로세스
5.yobi를 활용한 개발자 협업 및 배포 프로세스5.yobi를 활용한 개발자 협업 및 배포 프로세스
5.yobi를 활용한 개발자 협업 및 배포 프로세스NAVER D2
 
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발Jinuk Kim
 
bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포KwangSeob Jeong
 
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기현철 조
 
[NDC13] 70명이 커밋하는 라이브 개발하기 (해외 진출 라이브 프로젝트의 개발 관리) - 송창규
[NDC13] 70명이 커밋하는 라이브 개발하기 (해외 진출 라이브 프로젝트의 개발 관리) - 송창규[NDC13] 70명이 커밋하는 라이브 개발하기 (해외 진출 라이브 프로젝트의 개발 관리) - 송창규
[NDC13] 70명이 커밋하는 라이브 개발하기 (해외 진출 라이브 프로젝트의 개발 관리) - 송창규ChangKyu Song
 

What's hot (20)

전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019
 
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
 
Open Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code reviewOpen Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code review
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님
 
도도와 파이썬: 좋은 선택과 나쁜 선택
도도와 파이썬: 좋은 선택과 나쁜 선택도도와 파이썬: 좋은 선택과 나쁜 선택
도도와 파이썬: 좋은 선택과 나쁜 선택
 
티켓몬스터를 위한 PHP 개발 방법
티켓몬스터를 위한 PHP 개발 방법티켓몬스터를 위한 PHP 개발 방법
티켓몬스터를 위한 PHP 개발 방법
 
Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기
 
개발 방식을 바꾸는 15가지 기술
개발 방식을 바꾸는 15가지 기술개발 방식을 바꾸는 15가지 기술
개발 방식을 바꾸는 15가지 기술
 
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
 
쫄지마,글로벌! 평범한 개발자의 좌충우돌 글로벌 오픈소스 도전하기
쫄지마,글로벌! 평범한 개발자의 좌충우돌 글로벌 오픈소스 도전하기쫄지마,글로벌! 평범한 개발자의 좌충우돌 글로벌 오픈소스 도전하기
쫄지마,글로벌! 평범한 개발자의 좌충우돌 글로벌 오픈소스 도전하기
 
대표적인 오픈소스 프로젝트
대표적인 오픈소스 프로젝트대표적인 오픈소스 프로젝트
대표적인 오픈소스 프로젝트
 
[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on lab[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on lab
 
오픈소스 그리고 기회
오픈소스 그리고 기회오픈소스 그리고 기회
오픈소스 그리고 기회
 
안드로이드 개발에 유용한 도구들
안드로이드 개발에 유용한 도구들안드로이드 개발에 유용한 도구들
안드로이드 개발에 유용한 도구들
 
[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)
[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)
[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)
 
5.yobi를 활용한 개발자 협업 및 배포 프로세스
5.yobi를 활용한 개발자 협업 및 배포 프로세스5.yobi를 활용한 개발자 협업 및 배포 프로세스
5.yobi를 활용한 개발자 협업 및 배포 프로세스
 
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
 
bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포
 
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
 
[NDC13] 70명이 커밋하는 라이브 개발하기 (해외 진출 라이브 프로젝트의 개발 관리) - 송창규
[NDC13] 70명이 커밋하는 라이브 개발하기 (해외 진출 라이브 프로젝트의 개발 관리) - 송창규[NDC13] 70명이 커밋하는 라이브 개발하기 (해외 진출 라이브 프로젝트의 개발 관리) - 송창규
[NDC13] 70명이 커밋하는 라이브 개발하기 (해외 진출 라이브 프로젝트의 개발 관리) - 송창규
 

Similar to eclipse에서 intelliJ IDEA로

파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)
파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)
파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)Tae Young Lee
 
이클립스 플랫폼
이클립스 플랫폼이클립스 플랫폼
이클립스 플랫폼Kenu, GwangNam Heo
 
Cocos2dx와 c++11를 이용한 게임 개발
Cocos2dx와 c++11를 이용한 게임 개발Cocos2dx와 c++11를 이용한 게임 개발
Cocos2dx와 c++11를 이용한 게임 개발권 태혁
 
제로부터시작하는Git
제로부터시작하는Git제로부터시작하는Git
제로부터시작하는GitMario Cho
 
Python programming for Bioinformatics
Python programming for BioinformaticsPython programming for Bioinformatics
Python programming for BioinformaticsHyungyong Kim
 
오픈 소스 사용 매뉴얼
오픈 소스 사용 매뉴얼오픈 소스 사용 매뉴얼
오픈 소스 사용 매뉴얼Kenu, GwangNam Heo
 
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍NDOORS
 
Let'Swift 2023 iOS 애플리케이션 개발 생산성 고찰
- 정시 퇴근을 위해 우리는 어떻게 해야할 것인가?
Let'Swift 2023 iOS 애플리케이션 개발 생산성 고찰
- 정시 퇴근을 위해 우리는 어떻게 해야할 것인가? Let'Swift 2023 iOS 애플리케이션 개발 생산성 고찰
- 정시 퇴근을 위해 우리는 어떻게 해야할 것인가?
Let'Swift 2023 iOS 애플리케이션 개발 생산성 고찰
- 정시 퇴근을 위해 우리는 어떻게 해야할 것인가? 정민 안
 
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기Sumin Byeon
 
손가락이 편한 프로그래밍
손가락이 편한 프로그래밍손가락이 편한 프로그래밍
손가락이 편한 프로그래밍용규 이
 
20150306 파이썬기초 IPython을이용한프로그래밍_이태영
20150306 파이썬기초 IPython을이용한프로그래밍_이태영20150306 파이썬기초 IPython을이용한프로그래밍_이태영
20150306 파이썬기초 IPython을이용한프로그래밍_이태영Tae Young Lee
 
객체지향프로그래밍 특강
객체지향프로그래밍 특강객체지향프로그래밍 특강
객체지향프로그래밍 특강uEngine Solutions
 
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영Tae Young Lee
 
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발Jeongkyu Shin
 
[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기
[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기
[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기Chris Ohk
 

Similar to eclipse에서 intelliJ IDEA로 (20)

파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)
파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)
파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)
 
이클립스 플랫폼
이클립스 플랫폼이클립스 플랫폼
이클립스 플랫폼
 
Cocos2dx와 c++11를 이용한 게임 개발
Cocos2dx와 c++11를 이용한 게임 개발Cocos2dx와 c++11를 이용한 게임 개발
Cocos2dx와 c++11를 이용한 게임 개발
 
Vue js
Vue jsVue js
Vue js
 
제로부터시작하는Git
제로부터시작하는Git제로부터시작하는Git
제로부터시작하는Git
 
Python programming for Bioinformatics
Python programming for BioinformaticsPython programming for Bioinformatics
Python programming for Bioinformatics
 
오픈 소스 사용 매뉴얼
오픈 소스 사용 매뉴얼오픈 소스 사용 매뉴얼
오픈 소스 사용 매뉴얼
 
Deview2013 track1 session7
Deview2013 track1 session7Deview2013 track1 session7
Deview2013 track1 session7
 
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
 
Let'Swift 2023 iOS 애플리케이션 개발 생산성 고찰
- 정시 퇴근을 위해 우리는 어떻게 해야할 것인가?
Let'Swift 2023 iOS 애플리케이션 개발 생산성 고찰
- 정시 퇴근을 위해 우리는 어떻게 해야할 것인가? Let'Swift 2023 iOS 애플리케이션 개발 생산성 고찰
- 정시 퇴근을 위해 우리는 어떻게 해야할 것인가?
Let'Swift 2023 iOS 애플리케이션 개발 생산성 고찰
- 정시 퇴근을 위해 우리는 어떻게 해야할 것인가?
 
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
 
손가락이 편한 프로그래밍
손가락이 편한 프로그래밍손가락이 편한 프로그래밍
손가락이 편한 프로그래밍
 
20150306 파이썬기초 IPython을이용한프로그래밍_이태영
20150306 파이썬기초 IPython을이용한프로그래밍_이태영20150306 파이썬기초 IPython을이용한프로그래밍_이태영
20150306 파이썬기초 IPython을이용한프로그래밍_이태영
 
객체지향프로그래밍 특강
객체지향프로그래밍 특강객체지향프로그래밍 특강
객체지향프로그래밍 특강
 
파이썬으로 익히는 딥러닝
파이썬으로 익히는 딥러닝파이썬으로 익히는 딥러닝
파이썬으로 익히는 딥러닝
 
Node.js 기본
Node.js 기본Node.js 기본
Node.js 기본
 
JetsonTX2 Python
 JetsonTX2 Python  JetsonTX2 Python
JetsonTX2 Python
 
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
 
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
 
[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기
[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기
[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기
 

eclipse에서 intelliJ IDEA로

  • 2. 발표자 소개 • 박준태 (@rkjun) • 서버사이드 웹 개발자, 언디파인드 오거나이저 (undefined.kr , 페북그룹: bit.ly/undefinedkr), • 그리고!! 두둥, (이제 막) 인텔리제이 사용자.
  • 3. 발표배경 • 시작은, 안드로이드 스튜디오 사용자 경험 • 안드로이드 스튜디오 = 인텔리제이 기반 IDE • “짱 좋잖아!?” 웹 개발도 갈아탐. 
 (이클립스에서 인텔리제이로) • 그리고, 좋은 건 무조건 공유! • 오늘의 목표) 인텔리제이 사용자 늘리기!
  • 4. – 마르셀 프루스트 ‘바뀐 것은 없다. 단지 내가 달라졌을 뿐이다. 내가 달라짐으로써 모든 것이 달라진 것이다.’
  • 5. JetBrains에서 개발한 IDE • IntelliJ IDEA, 자바 개발자 • PhpStorm, PHP 개발자 • PyCharm, 파이썬 개발자 • RubyMine, 루비 개발자 • WebStorm, 프론트엔드 개발자 • and more……
  • 6. intelliJ IDEA? • JetBrains사에서 만든 자바 IDE(통합개발환경) • 2015.04 현재 최신버전 14.1.2
 Ultimate Edition (Java EE, Spring, 유료)
 Community Edition (Java SE, Groovy & scala, 무료)
  • 7. 라이선스 • CE 는 무료 (지만, 웹개발 플러그인 미지원)
 
 UE 는,
 시험판 30일무료 (팀 90일 무료)
 Commercial $499, Personal $199
 교육용 무료 (교사,학생)
 오픈소스용 무료 (비상업용)
  • 8. intelliJ 동일한 사용자경험 • 인텔리제이 기반 IDE는 • 동일한 코어 • 다른 번들 플러그인 • IntelliJ IDEA는 자바 관련 플러그인 내장 • WebStorm은 자바스크립트등 프론트엔드 웹개발 관련 플러그 인 내장(기본 사용법은 IntelliJ IDEA와 WebStorm 동일) • 플러그인은 해당 IDE에서만 사용가능하거나, 다른 IDE와 호환..
  • 9. IntelliJ plugin • 모든 JetBrains사 IDE 에서 공유가능 • 예) IntelliJ IDEA에 설치한 ideaVIM 플러그인을 webStorm에 그대로 설치 가능 • 
 단 내장(Bundle) 플러그인은 불가함. J2EE, Spring…
 - IntelliJ IDEA (Ultimate)
 - JavaEE, Spring, Web development • - IntelliJ IDEA CE
 - JavaSE (and Scala, groovy)
  • 10. Eclipse와 IntelliJ IDEA • 비슷한 개념 • 이클립스 => IDEA • * Workspace => Project
 * Project => Module
 • Project-specific JRE => Module JDK
 User library => Global library
 Classpath variable => Path variable
 Project dependency => Module dependency
 Library => Module library https://www.jetbrains.com/idea/documentation/migration_faq.html
  • 11. 이클립스에서 • - workspace를 지정하고, 그안에 여러 project를 생성해 서 개발. • 예) 1 workspace, 2 project
 - front_web
 - admin_web
  • 12. intelliJ IDEA에서 • - project를 지정하고, 그안에 여러 module을 생성해서 개 발. • 예) 1 project, 2 module
 - front_web
 - admin_web
  • 13. intelliJ IDEA설치전에 Java 1.6 이상 설치하기 http://www.oracle.com/technetwork/java/javase/downloads/index.html
  • 14. intelliJ IDEA설치하기 • OSX • $ brew cask install intellij-idea • WINDOWS • 공식사이트에서 다운로드
 https://www.jetbrains.com/idea/download/
  • 15. 최초설정 • UI Themes (Default / Darcula) • KeyMap (OS X 10.5+ / OS X) • Default plugins • Featured plugin
  • 16. keymap scheme • OSX만 • OS X 10.5+ keymap
 - IDEA 최초 사용자, 맥 최적화 
 (⌘N Generate / ⌘O Go to class) • OS X keymap
 - IDEA 기존버전 사용자, 모든 플랫폼에서 기본
 (^N Generate / ⌘N Go to class)
  • 17. OS X Keymap • OS X 10.5+ 키맵
 = 맥사용자 이면서, IntelliJ 최초 사용자용 (맥 최적화 키) • OS X 키맵
 = 윈도/리눅스 기본 키맵과 (비슷하거나) 동일한 단축키 • 그외 이맥스, 비쥬얼 스튜디오, 이클립스 등 키맵 지원
  • 18. 오늘의 키맵은 • OSX 키맵 (=윈도/리눅스 기본 키맵) • 왜? • OSX + 윈도 + 리눅스
 (OSX의 ⌘키는 윈도에서 주로 CTRL키로 대체됨)
  • 19. Default Plugins • 자바 프레임워크 • 빌드 툴 • 웹 개발 • 버전 컨트롤 • 테스트 툴 • 어플리케이션 서버 • 클라우드, 스윙, 안드로이드, DB 툴, 기타 툴… …
  • 20. Welcome to IntelliJ IDEA • Recently Project • Create New Project • Import Project • Open • Check out from Version Control • Configure • Register
  • 21. 프로젝트생성 • Create New Project > Spring > Spring MVC 체크 • Next > Create project from template 체크
  • 22. 프로젝트 가져오기 • Import Project > 
 이클립스(.project) 또는 .classpath 또는 pom.xml
 • Open > 이클립스 Workspace/프로젝트 선택 • Check out from Verison Control (svn, git)
  • 23. 메뉴 및 툴바 • 1 메인메뉴 • 2 메인 툴바 • 3 네비게이션 바 • 4 컨텍스트 메뉴 • 5 팝업 메뉴 • Find Action : ⌘ ︎A
  • 25. 상태바 • Line:Column • Line Ending (Unix LF, Windows CR+LF, Mac CR) • File Encoding • Read-only • Code inspection • Notification
  • 26. 뷰 모드 • Full Screen Mode • Presentation Mode • Distraction-free mode
  • 27. Tool Window • OSX ⌘ + <Number>
 WINDOWS ALT + <Number> • ⌘ + 1 : Project Tool Window
 ……
 
 Shift + F12 : Restore Default layout
 F12 : Jump to Last Tool Window • ⌘ ︎(➡| ) : Resize (Windows ⌘ -> ^) • ALT+F1 : Select In
  • 28. Tool Window • Pinned mode / unpinned mode (고정/비고정) • Show Views as Tabs option (탭 나열) • 탭이동 ^+좌,우 (윈도 ALT + 좌,우) • OSX은 운영체제와 충돌 (^⌘+좌,우) 로 재매핑 • Search for 알파벳입력 • Favorites (파일 또는 폴더) 즐겨찾기
  • 29. Editor • 파일 열기 • Tool Window, navigation bar 에서 파일 선택 • File > open • Drag & drop
  • 30. Editor • 파일열기 (네비게이션) • Goto By Class Name : ⌘+N (이클립스 ^+ +T) • Goto By File Name : ⌘+ +N (이클립스 ^+ +R) • Goto By Symbol : ⌘+ +ALT+N • 최근파일열기 : ⌘+E, 최근 업데이트된 파일 ⌘+ +E • (OSX ⌘키는 윈도에서 ^키로 대체)
  • 31. Editor • 새창에 열기 • IntelliJ 바깥창에 Drag & Drop • Shift + F4 • Shift + mouse double click on a filename
  • 32. Editor • 파일닫기 • ⌘+F4 (윈도 ^+F4) • Close Others • Close All
  • 33. Multi Cursor • (마우스) SHIFT+ALT+CLICK • (윈도) ^키 2번 입력 + 위/아래 • (OSX) Clone Caret Below/Above (키 리맵핑) • Edit | Column selection mode
  • 34. Multi Selection • 무려 서브라임 텍스트의 기능이! • Sublime Text Style Multi Selection • OSX) CTRL+G / SHIFT+CTRL+G • OSX Select All) CTRL+CMD+G • 윈도) ALT+J / SHIFT+ALT+J • 윈도 Select All) SHIFT+CTRL+ALT+J
  • 35. Zooming in the Editor • Editor > General > Change font size (zoom) with Command + Mouse Wheel • Command+Shift+A
 increase font size / decrease font size / reset font size
  • 36. Changing Indentation • tab / shift + tab • To fix indentation : Ctrl + Alt + I • To toggle between tabs and spaces • Edit | Convert Indents • To Spaces / To Tabs
  • 37. Toggling Case • Edit | Toggle Case (Ctrl + Shift +U) • + Plugin (Camel Case, String Manipulation ..)
  • 38. Managing Editor Tabs • Window | Editor Tabs > Pin Active Tab • (Tab limit default : 10)
  • 39. Navigating Between Editor Tabs • Select Next/Previous Tab • 탭이동 ^+좌,우 (윈도 ALT + 좌,우) • OSX은 운영체제와 충돌 (^⌘+좌,우) 로 재매핑 • ^+탭 (스위칭) • Navigate | Back / Forward • ⌘+ALT+좌, 우 (윈도 ^+ALT+좌,우)
  • 40. Commenting / Uncommenting • Code | Comment with Line Comment • // ⌘ + / • /**/ ⌘ + Shift + / • (OSX⌘ => 윈도 ^)
  • 41. 라인 추가,복사,제거,이동 • 라인 추가 : Shift + Enter • 라인 중복 복사 : ⌘ + D • 라인 제거 : ⌘+Y • 라인 이동 : SHIFT + ALT + 위, 아래 • (OSX⌘ => 윈도 ^)
  • 42. Joining Lines and Literals • To smartly join several lines : ^ + SHIFT + J
  • 43. Code folding • Collapse : ⌘ -
 Expand : ⌘ + • Collapse All : ⌘ Shift -
 Expand All : ⌘ Shift + • (OSX⌘ => 윈도 ^)
  • 44. find usages • find usages : ALT + F7 • find usages in file : ⌘ + F7 • (OSX⌘ => 윈도 ^)
  • 45. refactoring • Quick fix : ALT + ENTER • Rename : SHIFT + F6
 Copy class : F5
 Move class : F6 • Introduce Variable : ⌘ + ALT + V
 Introduce Field : ⌘ + ALT + F
 Introduce Parameter : ⌘ + ALT + P
 Extract Method : ⌘ + ALT + M
 Refacter this : ⌘ + ALT + SHIFT + T • (OSX⌘ => 윈도 ^)
  • 46. Surround with a live template • 블럭 지정후, ⌘ + ALT + T • (OSX⌘ => 윈도 ^)
  • 47. Override/Implement methods • Override Methods : ⌘ + O • Implement Methods : ⌘ + I • Generate : ^ + N • (OSX⌘ => 윈도 ^)
  • 48. Live template • ⌘ + J • (OSX⌘ => 윈도 ^)
  • 50. 결론 • 이클립스도, 충분히 좋은 자바 IDE,
 IntelliJ 제품들의 동일한 사용자 경험,
 
 단축키를 익혀야 하는 허들은 있음.
 하지만 넘고 나면, 편하고 빠르다
 무엇보다, (인텔리제이와 함께라면) 개발이 즐겁다.