본문 바로가기

Linux & Mac

(21)
Mac 에서 한/영 키 변경하기 최신 애플 기기들의 기본 키보드 설정에서 한/영 변환은 `Caps Lock`입니다. 물론 향후에도 계속 애플 기기들을 이용한다면, 변경된 키에 적응해야겠죠. 하지만 우리나라에서 Windows를 아예 이용하지 않을 수 없어서 듀얼 부팅을 하거나, 패러렐즈와 같은 버츄얼 머신을 이용합니다. 그래서 저의 경우에는 'Shift + Space'로 한/영 키를 통일시켜서 이용합니다. 이 글은 해마다 계속되는 ( OS 버전업으로 인한 클린 설치 ) 저의 삽질을 줄이기 위한 한/영 키 설정 방법입니다. 1. Caps Lock 해제 'Caps Lock' 해제는 위의 4 스텝을 따라 해 주시면 됩니다. 2. 한/영 키 변경 `Shortcuts`에서 변경이 되는 경우 맥 OS의 일반적인 키 변경은 `Shortcuts`에서 ..
Vi 사용법 3 (Tip과 플러그인) 이전 글들에서는 명령 모드와 ex모드를 다루었으니 입력 모드를 다루어야겠죠. 하지만 입력 모드는 일반 텍스트 에디터와 동일하게 동작하는 모드입니다. 그러니 딱히 설명할 부분이 없습니다. 그래서 이번 글에서는 입력 모드를 간단히 설명한 후, Vi를 이용하면서 유용한 팁들과 플러그인의 설정 및 사용에 대해서 작성했습니다. 먼저 이전 글들에 대한 링크를 남겨 두고 시작하겠습니다. 2021.04.13 - [Linux & Mac] - Vi 사용법 1 (명령 모드) Vi 사용법 1 (명령 모드) Vi의 사용법에 대한 글은 10여 년 전에 이미 올렸었습니다. 그 후 계속 다양한 환경에서 Vi를 사용하면서 꾸준히 사용하는 기능과 사용하지 않는 기능, 그리고 여러 가지 팁들도 생겨서 업데이트 sbinroom.tistor..
Vi 사용법 2 (ex 모드 : 검색과 치환) 먼저 기본 설명과 명령 모드에 대한 설명은 이전 글을 참조해 주시기 바랍니다. 2021.04.13 - [Linux & Mac] - Vi 사용법 1 (명령 모드) Vi 사용법 1 (명령 모드) Vi의 사용법에 대한 글은 10여 년 전에 이미 올렸었습니다. 그 후 계속 다양한 환경에서 Vi를 사용하면서 꾸준히 사용하는 기능과 사용하지 않는 기능, 그리고 여러 가지 팁들도 생겨서 업데이트 sbinroom.tistory.com ex 모드는 명령 모드에서 ':', '/', '?' 로 이용합니다. 도움말 사실 노하우를 남기기 위한 글로서 열기, 닫기 부터 해야 하겠지만, 중요도를 생각해서 도움말로 시작 합니다. 명령모드에서 ":help" 를 입력하면 터미널 화면이 분할 되며, 도움말이 나오게 됩니다. 아래 스냅숏은..
Vi 사용법 1 (명령 모드) Vi의 사용법에 대한 글은 10여 년 전에 이미 올렸었습니다. 그 후 계속 다양한 환경에서 Vi를 사용하면서 꾸준히 사용하는 기능과 사용하지 않는 기능, 그리고 여러 가지 팁들도 생겨서 업데이트하는 글을 게재합니다. 이 글은 vi의 모든 기능을 담지 않습니다. 10년 넘게 vi를 이용하면서 항상 이용하고 있는 것들 위주의 노하우 형식으로만 설명 하겠습니다. 혹시 그 이상의 정보를 원하시면 다른 분들의 글이나 서적을 찾아보시기 바랍니다. Vi의 장점 (주관적인 의견임) 가볍다 : 대용량 파일과 같이 다른 에디터가 열지 못하는 파일도 쉽게 확인 할수 있다. 빠르다 : 키보드만 이용해서 모든 편집이 가능 하며, 심지어 표준 키보드의 60% 규격의 키보드(Ex 해피해킹 등) 영역만을 이용한다. 확장성 : 다양한..
Inter Process Communication : Message Queue 사용법 다양한 소프트웨어를 만들다 보면, 소프트웨어 간 통신이 필요한 경우가 생기기도 합니다. 이때 이용하는 소프트웨어 공학 기술이 Inter Process Communication(IPC)입니다. 이 글에서는 IPC 기법 중 하나인 Message Queue를 이용하는 방법을 다루겠습니다. 데이터 구조 메시지 큐는 미리 협약된 key값을 공유하여 운영체제가 관리하는 저장 위치를 이용해 소프트웨어 간 통신을 하는 IPC 기법 입니다. 메시지 큐를 이용할 때는 아래와 같이 협의된 데이터 구조를 활용합니다. struct myStruct{ // 반드시 0 이상 이어야 함. long myType; // 아래 데이터 형식과 크기는 변경 가능. char data[1]; }; 구조체를 이용하며, long 형식의 메시지 타입과..
프로세스 관리툴 : 리눅스에서 프로그램 강제 종료하기 (htop) 컴퓨터를 이용하다 보면 다양한 이유로 컴퓨터가 느려질 수 있죠. 그 이유 중 가장 높은 확률로 발생하는 문제는 특정 프로세스가 CPU를 과도하게 이용하거나, 메모리를 너무 많이 써서 SWAP을 이용하게 된 경우죠. 이럴 때 우린 프로세스 관리자를 켜고, 문제가 된 프로세스를 강제 종료시킵니다. 그런데 만약 이런 문제가 터미널로 접속하여 이용하는 고성능 컴퓨팅 머신 혹은 AWS 서버 등에서 발생하면 어떻게 해야 할까요. 우리에겐 비주얼로 메모리와 CPU의 사용량을 보여줄 툴이 없습니다. 숙련자는 "ps" 커맨드를 이용하여, 문제가 된 프로세스를 찾고 "kill" 명령어로 프로세스를 강제 종료시킵니다. 방법은 아래와 같습니다. 그보다 쉬운 툴을 이용하는 방법은 구분선 밑에 있습니다. 터미널에서 구동된 프로세..
zsh profile 설정 ( HOME, END 키 맵핑 ) 언제부터인지 OSX의 기본 shell이 zsh로 변경되었더군요. 그러면서 여러 가지 변경점에 맞추어 터미널을 편하게 사용하기 위한 설정들을 포스트 합니다. 일단 profile 설정 파일의 위치는 아래와 같습니다. 해당 파일을 vi등으로 열어서 편집하시면 되겠죠. /home/[user name]/.zprofile 제 맥북의 프로파일 내용은 아래 스냅샷과 같습니다. 1. 터미널 색상 지정. 기본 터미널에서 "ls"와 같은 명령을 내리면 color가 매핑되어 있지 않아 디렉터리와 파일의 구분 등이 어렵습니다. 6,7번째 줄은 색상을 매핑하는 키워드입니다. 정확한 명령어는 아래를 참조하시고, 색상을 변경하고 싶으시면 LSCOLORS를 변경하시면 됩니다. export CLICOLOR=1 export LSCOLOR..
Mac OSX에서 OpenMP 사용하기 (Catalina) 이번 글은 간단하게 포스팅하고 마치겠습니다. 이전의 OSX에서는 OpenMP의 소스를 다운받아 설치하고 이를 활용하는 방식으로 OpenMP를 이용했으나, 최근 추천되는 방식은 다음과 같습니다. 1. homebrew 설치 2020/10/12 - [Mac] - Mac 에 Brew 설치하기 (Catalina) 2. OpenMP 라이브러리 설치 brew install libomp 3. 컴파일시 OpenMP 지정 g++ -Xpreprocessor -fopenmp -lomp -o [target] [source] gcc 여도 파라미터는 같습니다. 관련하여 makefile 만드는 법에 대해서 향후 포스팅하겠습니다. 감사합니다.