Ubuntu 에서 많이 쓰는 Terminal 관련 유용한 단축키 정리


  • Ctrl + Alt + T : 바탕화면에서 터미널을 실행
  • Ctrl + Shift + T : 터미널내에서 새탭으로 터미널을 실행
  • Ctrl + Shift + N : 터미널내에서 새로운 터미널을 실행
  • Ctrl + Shift + W : 탭으로 실행된 터미널을 종료
  • Ctrl + Shift + Q : 현재 터미널을 종료(탭포함)
  • Ctrl + Shift + F : 터미널내에 문자열검색
  • Alt + 숫자 : 탭간에 이동
  • Ctrl + PageUp/PageDown : 다음/이전 탭으로 이동


Posted by leechwin
,

 Node.js 로 프로젝트로 개발을 하다 보면은, javascript 파일을 하나 고치고 터미널에서 수행중인 node 를 ctrl+c 로 강제 종료한뒤에 다시 node 를 실행하는 번거로운 작업을 되풀이 하게 된다.

 이런 불편함을 줄이기 위해 supervisor 라는 npm 모듈을 사용하면 개발중 위와 같은 수고를 덜 수 가 있다.


설치는 npm 모듈이므로 npm install 로 설치한다

 $ sudo npm install -g supervisor


설치후 모듈의 실행은 다음과 같다.

 $ supervisor app.js


위와 같이 수행하면 app.js 파일 변경되면 자동으로 supervisor 모듈이 서버를 재시작 한다.



위와 같은 비슷한 기능의 nodemon 이라는 npm 모듈도 있다.

 $ sudo npm install -g nodemon

 $ nodemon app.js


Posted by leechwin
,

 Eclipse 에서 File Decorator 로 org.eclipse.ui.decorators extension point 를 확장하고 ILightweightLabelDecorator 을 implements 한 경우 파일에 Warning 이나 Error 가 발생하여도 Package Explorer 에서 Marker 가 보이지 않는 경우가 있다.


 이 경우 ILightweightLabelDecorator 인터페이스 구현 부분을 ILabelDecorator 인터페이스로 바꾸어 재구현하면 위의 현상이 나타나지 않는데, ILabelDecorator 는 ILightweightLabelDecorator 보다 퍼포먼스가 많이 좋지 않기 때문에 완전한 해결책이라고 볼수가 없다.


 이런 현상은 ILightweightLabelDecorator 버그로 bugzilla 에 보고 되어있기도 하다.


 이 경우 Preference 의  File Icon Based On Content Analysis 옵션을 체크 해제하면 문제가 해결되는 경우가 있는데 옵션해제는 다음과 같은 경로로 하면 마커가 제대로 나오는 경우가 있다.

  • Eclipse > Window > Preferences > Genaral > Appearance > Label Decorations > "File Icon Based On Content Analysis" 부분을 해제

File Icon Based On Content Analysis 의 구현은 다음과 같은데 ILightweightLabelDecorator 인터페이스를 구현하고 있는데 이부분에 버그가 있는것 같다.

  • File Icon Based On Content Analysis
    • org.eclipse.ui.ContentTypeDecorator 의 확장점으로 구현
    • public class ContentTypeDecorator implements ILightweightLabelDecorator  
      • ILightweightLabelDecorator 을 implement 하고
    • 파일의 Decoration 으로 파일기본 ContentDescription 이 있다면 이정보를 바탕으로 Decorate


프로그래밍적으로 eclipse 의 Preference 에서 이부분을 uncheck 된 상태로 시작 하려면 다음과 같이 코드를 수정한다.

  • org.eclipse.ui.startup extension point 를 확장하여 워크벤치가 로딩될때 무조건 호출되도록 StartUp class 를 생성
  • 위에서 생성한 StartUp class 에서 다음과 같이 File Icon Based On Content Analysis 부분이 uncheck 되도록 수정한다.
public void earlyStartup() {
    DecoratorDefinition[] definitions = WorkbenchPlugin.getDefault().getDecoratorManager().getAllDecoratorDefinitions();
    for (DecoratorDefinition decoratorDef : definitions) {
        if (decoratorDef.getId().equalsIgnoreCase("org.eclipse.ui.ContentTypeDecorator")) {
            decoratorDef.setEnabled(false);
            break;
        }
    }
}




Posted by leechwin
,