센로그

[ED] 25. 작업 환경 최적화하기 본문

Effective/Effective Debugging

[ED] 25. 작업 환경 최적화하기

seeyoun 2024. 11. 19. 00:56

사용하는 도구를 적절히 설정하여 생산성을 향상시킨다.

예를들어 배시 명령과 관련된 설정 사항을 몇가지 소개하면 다음과 같다.

  • PATH 환경 변수에 실행할 프로그램에 관련된 디렉터리가 빠짐없이 담겨 있는지 확인한다. 디버깅 과정에서 시스템 관리자 권한의 명령을 실행해야 하는 경우도 종종 있다. 따라서 이러한 명령에 대한 경로도 포함해야 한다.
  • 쉘과 편집기에서 자동 완성 기능을 사용하도록 설정한다.
  • 쉘 프롬프트와 터미널 바에 사용자 계정과 현재 디렉터리, 호스트 이름이 표시되도록 설정한다. 디버깅하는 과정에서 여러 호스트와 계정을 오갈 수 있기 때문에 현재 상태를 명확히 알 수 있도록 계정과 위치 정보를 표시한다.
  • 명령줄에서 편집할 때 자신이 사용할 편집기와 연동하도록 키 바인딩을 설정한다. 이렇게 해두면 데이터 분석 파이프라인을 점진적으로 만들어나가는 작업을 훨씬 효율적으로 수행할 수 있다.
  • 자주 사용하는 명령과 흔히 저지르는 입력 오류에 대해 앨리어스나 단축키를 만든다.
  • 버전 관리 시스템을 비롯한 다양한 유틸리티에서 자신이 주로 사용하는 페이징 프로그램(less나 more처럼 파일의 내용을 페이지 단위로 출력하는 프로그램)과 편집기를 활용하도록 환경변수를 설정한다.
  • 입력한 명령을 모두 히스토리 파일에 기록하도록 설정한다. 이렇게 하면 디버깅할 때 자주 사용하거나 중요한 구문을 몇 달이 지난 뒤에도 쉽게 찾아낼 수 있다. 이때 구문 앞에 공백을 붙여서 (패스워드를 담은 부분처럼) 명령을 호출하는 부분은 기록하지 않도록 설정한다.
  • 쉘의 경로 이름 확장 기능 또는 *과 같은 와일드카드 문자로 표현하는 글로빙(globbing)을 실행할 때 서브 디렉터리에 있는 파일도 포함하도록 설정한다. 이렇게 하면 하위 계층에 있는 모든 디렉터리에 대해 적용되는 ** 와일드 카드를 사용할 수 있기 때문에, 계층이 깊게 구성된 디렉터리에 대해 실행하는 명령을 간결하게 작성할 수 있다.

 

여러 호스트에 걸쳐 작업할 때는 디버깅 환경에 대한 설정 파일을 버전 관리 시스템을 통해 추적한다.

이런 경우에는 다음 세가지 설정을 통해 작업 시간을 크게 절약할 수 있다.

  • 패스워드를 입력하지 않고도 각각의 호스트에 원격에서 로그인하거나 명령을 실행하도록 한다.
  • 사용자 이름 뒤에 호스트의 전체 이름을 입력하지 않고 짧은 이름만으로 호스트에 접속하도록 앨리어스를 설정한다.
  • 원격 호스트에서 구동한 GUI 애플리케이션을 현재 작업하는 데스크톱에 표시하도록 설정한다.

 

Comments