오늘은 부트캠프 32일차이다. 사람은 살다보면 계획대로 되지 않는다고 하는데 그게 오늘인 것 같았다. 오전에 알고리즘을 풀고 오후부터 저녁 먹을 때까지 스프링 숙련강의와 실습을 마치고 알고리즘을 자바로 푸려고 했는데 실습이 생각보다 마음대로 안되서 못했다. 이유는 이상하게 로직과 프로젝트 구조는 맞게 흘러가고 애플리케이션을 실행시켜서 서버와 연결이 되어야 하는데 안되서 이것만 2시간 잡은거 같다. 내일은 최대한 얼른 마무리하고 다음 계획한 것을 해야겠다.
오늘 배운 것
주요 단축키
- mac 키 표기
- ⇧ : shift
- ⌃ : controll
- ⌥ : option
- ⌘ : command
- 파일
- 파일 생성
- mac : ⌘N
- windows : Alt + Insert
- 파일 이름 변경
- mac : ⇧F6
- windows : shift+ F6
- 파일 위치 변경
- mac : F6
- windows : F6
- 탭(tap)
- 탭 닫기
- mac : ⌘W
- widows : Ctrl + F4
- 탭 이동
- mac : ⌘⇧[ or ⌘⇧]
- widows : Alt + 좌우 방향키
- 최근에 연 탭 보기
- mac : ⌘E
- widows : Ctrl + E
- 커서
- 이전 커서 위치로 되돌아가기
- mac : ⌘⌥ + 좌 방향키
- windows : Alt +Shift + 좌 방향키
- 원래 커서 위치로 되돌아가기
- mac : ⌘⌥ + 우 방향키
- windows : Alt +Shift + 우 방향키
- 오류 위치로 커서 이동
- mac : F2
- widows : F2
- 코드 안으로 이동
- mac : ⌘B
- widows : Ctrl + B
- column mode (multi cursor)
- mac : ⌘ ****+ Shift + 8
- widows : Alt + Shift + Insert
- 검색
- 모든 파일에서 검색
- mac : ⌘⇧F
- widows : Ctrl + Shift + F
- 클래스 명으로 검색
- mac : ⇧⌘O
- widows : Ctrl + N
- 전체 검색 (파일, action 등 전부 포함)
- mac : ⇧⇧
- windows : Shift + Shift
- Action 검색
- mac : ⇧⌘A
- windows : Ctrl + A
- 리팩토링
- advice 사용
- mac : ⌘ + Enter
- widows : Alt + Enter
- 리팩토링 관련 전체 항목 조회
- mac : ^T
- widows : Ctrl + Alt + Shift + T
- 변수 이름 바꾸기
- mac : ⇧F6
- widows : Shift + F6
- 파라미터, 접근제어자, 리턴타입, 익셉션, 이름 등을 편집
- mac : ⌘ F6
- widows : Ctrl + F6
- 함수로 추출
- mac : ⌘⌥M
- widows : Ctrl + Alt + M
- 함수 인라인 추출
- mac : ⌘⌥N
- widows : Ctrl + Alt + N
- 필드로 추출
- mac : ⌘⌥V
- widows : Ctrl + Alt + V
- 필드로 추출
- mac : ⌘⌥F
- widows : Ctrl + Alt + F
- 불필요한 import 삭제
- mac : ⌃ + Alt + O
- widows : Ctrl + Alt + O
- 코드 formatting
- mac : ⌘⌥L
- widows : Ctrl + Alt + L
- 자동 코드 생성
- mac : ⌘N
- windows : Alt + Insert
- 주석
- 라인 단위로 주석 처리
- mac : ⌘/
- windows : Ctrl + /
- 블록 단위로 주석 처리
- mac : ⌘⇧/
- windows : Ctrl + Shift + /
- https://www.jetbrains.com/help/idea/mastering-keyboard-shortcuts.html#advanced-features
유용한 Plugin
- Key Promoter X : 마우스로 클릭했을 때 단축키를 알려주거나, 단축키가 없다면 지정할 수 있도록 도와줌.
- Rainbow Brackets : 색깔별 코드 계층 구분
- CodMetrics : 코드의 복잡도를 알려줌.
- Lombok : Java Domain(Dto, Vo)에서 반복적으로 작성되는 getters/setters나 toString, 생성자 관련 코드 등의 소스들을 간결하게 만들어줌.
부록
- **IntelliJ 한글 깨짐 문제 해결(file과 console encoding 설정) :** https://www.lesstif.com/java/intellij-file-console-encoding-121012310.html
- IntelliJ Lombok 설정 : https://gmlwjd9405.github.io/2018/11/29/intellij-lombok.html