Category Archives: 허접프로그래머

IntelliJ IDEA Editor 기본 활용

1. 기본 설정

에디터는 기본적으로 괄호, 스코프, 세로 들여쓰기 가이드, 커서의 활용에 매칭되는 경우 하이라이팅을 합니다. 이 설정을 Setting → Editor 에 들어가서 Settings → Editor → Appearance에서 변경할 수 있습니다.

editor_basic_1

두가지 쓸만한 다른 옵션이 있습니다 :

  • 현재 커서가 위치한 라인의 끝 뒤에도 추가로 코드를 작성하는것이 기본적으로 가능합니다. 이것이 짜증날경우 비활성화 할 수 있습니다. (SettingsEditor → Virtual Space/Allow placement of caret after end of line)
  • 라인의 번호를 보여줄 수 있습니다. 기본적으로 비활성화 되어있습니다.

2. 변경사항 저장

새로운 사용자가 알게되는 특별한 기능중에 가장 좋은 기능으로 변경사항의 저장이있습니다. 인텔리J IDEA는 이것을 자동으로 처리하므로 이것에 대해 걱정할 필요가 없습니다. 몇몇 변경사항에 대해 롤백을 하고자 한다면 언제든지 Local History를 사용할 수 있습니다.

3. 상태바 인디케이터

상태바에서 현재 열려있는 파일의 유용한 정보를 찾을 수 있습니다. 가령 줄바꿈 형식(Windows/Unix), 인코딩, 버전컨트롤 시스템의 현재 브랜치 정보나 읽기전용 정보등을 표시해 줍니다.

4. 메소드 구분자

한가지 더 유용한 옵션(기본적으로 비활성화)은 메소드 구분자 보여주기 기능입니다. 메소드간 사이에 라인이 들어가서 구별하기 용이하게 해줍니다.

editor_basic_2

5. 구조적 선택

더 나은 생산성을 위해 꼭 알아야 할 기능인 구조적 선택 기능은 문법의 표현에 기초한 선택 기능을 제공합니다. Ctrl + W (맥은 Cmd + W) 를 누름으로써 커서에서 시작하여 점점 확대하며 선택을 하여줍니다. 반대로 Shift + Ctrl + W (맥은 Shift + Cmd + W)를 눌러 영역을 축소할 수 있습니다.

editor_structural_selection

이미지를 클릭하여 크게 보시면 애니메이션으로 확인하실 수 있습니다.

6. 컬럼 선택

Alt 를 누른채로 마우스를 드래그하여 컬럼 영역단위의 선택을 할 수 있습니다. 컬럼 선택을 기본 설정으로 사용하고 싶을 경우 Edit → Column Selection Mode 에서 활성화 할 수 있습니다.

editor_column_selection

7. 접기

다른 뛰어난 기능은 접기입니다. Ctrl + . (맥은 Cmd + .) 을 눌러 어떤 코드의 단위(예: 메소드, 반복문등)를 접거나 펼칠 수 있습니다.

editor_folding

이미지를 클릭하여 크게 보시면 애니메이션으로 확인하실 수 있습니다.

8. 다른 유용한 단축키

  • Shift + Ctrl + 방향키 (맥은 Shift + Cmd + 방향키)를 눌러 현재의 라인 또는 선택된 블록을 이동
  • Ctrl + (맥은 Cmd + D)를 눌러 현재의 코드 라인을 복제
  • Ctrl + Y (맥은 Cmd + Y)를 눌러 현재의 라인을 삭제
  • Ctrl + / (맥은 Cmd + /)를 눌러 현재의 라인을 주석화 또는 주석 해제. 또는 Shift + Ctrl + /을 눌러 선택된 영역만큼의 주석화
  • Ctrl + O (맥은 Cmd + O)를 눌러 Import 최적화 (하지만 저의 경우에는 Cmd + Alt + O로 동작하는군요. 왜지…)
  • Alt + F3 (F3을 계속눌러 다음 검색 또는 Shift + F3을 눌러 이전검색)을 눌러 현재 열려진 파일에서 검색 또는 Ctrl + R (맥은 Cmd + R)을 눌러 문자열 교체
  • Shift + Ctrl + V (맥은 Shift + Cmd + V)를 눌러 스택에서 복사한 내역을 조회
  • Shift + Ctrl + V (맥은 Shift + Cmd + V)를 눌러 열려있는 탭간 이동
  • Shift + Ctrl + F (맥은 Shift + Cmd + F)를 눌러 전체 파일에서 검색
  • Shift + Ctrl + O (맥은 Shift + Cmd + O)를 눌러 바로 파일 열기, 경로나 파일명을 줄여서도 검색이 가능
  • 맥에서 Cmd + ; 를 눌러 프로젝트 설정창 띄우기
  • 텍스트 소프트래핑을 켤 수 있습니다. 기본적으로 꺼져있습니다. 소프트래핑의 효과는 다음과 같습니다.

soft-wrap

[Ruby] RVM에서 rbenv로 옮기기

많은 루비 개발환경에서 RVM을 사용하는것을 볼 수 있는데요, 요즘들어 rbenv로 많이들 갈아타는 추세인것 같습니다. 이유를 물어봤더니 RVM이 사용하기 복잡하고 시스템 환경을 너무 많이 변경시킨다는 말씀들을 하시더군요. rbenv(Ruby Environment)의 경우 매우 간단한 구조로 되어있다고 하여 저도 갈아타기로 하였습니다.

rbenv는 특이하게 shims라는 방식을 사용하여 루비를 관리합니다. 환경변수 PATH의 값을 확인해 보면 다음과 같이 맨 앞에 shims가 추가된것을 볼 수 있습니다.

~/.rbenv/shims:/usr/local/bin:/usr/bin:/bin

rbenv는 rehashing이라는 작업을 통해 shims디렉토리 안의 erb, gem, irb, rake, rdoc, ri, ruby, testrb를 현재 사용중인 루비의 실제 바이너리와 연결합니다.

다음의 모든 진행은 Homebrew가 설치되어있는 맥시스템이라고 가정하고 진행합니다.

1. 설치되어있는 RVM 제거 하기

다음의 명령을 사용하여 간단하게 rvm을 제거할 수 있습니다.

$ rvm implode

기존에 환경변수 (~/.bash_profile 등)에 추가했던 설정들도 찾아서 제거해줍니다. 다음과 같은 부분입니다.

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

 2. rbenv 설치하기

Homebrew를 이용하면 손쉽게 설치가 가능합니다. 다음과 같이 설치를 진행해 줍니다.

$ brew update
$ brew install rbenv
$ brew install ruby-build
$ rbenv rehash

환경변수 설정을 추가해줍니다. ~/.bash_profile이면 됩니다.

if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi

 3. 원하는 Ruby 버전 설치하기

다음과 같이 설치가능한 모든 루비 버전을 확인할 수 있습니다.

$ rbenv install -l
Available versions:
  1.8.6-p383
  1.8.6-p420
  1.8.7-p249
  1.8.7-p302
  1.8.7-p334
  1.8.7-p352

  ...

제가 쓰려는 2.0.0-p353버전을 설치해 보겠습니다.

$ rbenv install 2.0.0-p353
Downloading ruby-2.0.0-p353.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/78282433fb697dd3613613ff55d734c1
Installing ruby-2.0.0-p353...
Installed ruby-2.0.0-p353 to /Users/dennis/.rbenv/versions/2.0.0-p353

 4. Ruby 버전 변경하기

다음과 같이 현재 시스템에 설치되어있는 루비 버전을 출력할 수 있습니다.

$ rbenv versions
* system (set by /Users/dennis/.rbenv/version)
  2.0.0-p353

이제 조금전에 설치한 2.0.0-p353으로 사용하려는 루비를 변경해 보겠습니다.

$ rbenv global 2.0.0-p353
$ rbenv versions
  system
* 2.0.0-p353 (set by /Users/dennis/.rbenv/version)

변경된것을 확인할 수 있습니다. global은 전역 설정을 변경하는 옵션입니다. local을 사용할 경우 현재 디렉토리에 설정파일을 추가하며 프로젝트별로 루비 버전을 설정할 때 사용합니다. shell을 사용할 경우 현재 쉘이 종료될때까지 루비 버전이 설정됩니다.

$ ruby --version
ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-darwin13.0.0]

루비 버전이 정상적으로 변경된것을 확인할 수 있습니다.

5. Bundler 설치하기

RVM과는 달리 Bundler가 기본 설치되지 않기 때문에 다음의 명령을 사용하여 추가적으로 설치를 해주어야 합니다.

$ gem install bundler
$ rbenv rehash