지식 요소의 가공과 분석, 그리고 여러가지 도구의 활용에 관한 내용

16인치 인텔맥 도착한 김에 쓰는 생각의 흐름대로 쓰는 맥 사용의 소회 1 (현재 사용환경)

맥을 사용하기 전에는 리눅스 / 윈도우 병행해서 사용하고 있었습니다. 리눅스는 초반에는 주로 우분투 LTS쪽을 활용하다가, 나중에는 오픈수세쪽으로 넘어갔었네요. 다만, 그 당시에는 리눅스에서 상용소프트웨어에 대한 아쉬움이 남아있다보니, 비슷한 환경 + 더 많은 사용소프트웨어가 제공되는 맥으로 넘어가자 하고 개인용 맥을 구입하는게 시작이었는 듯 합니다. 

시간이 지난 지금에야 결국 리눅스에 남아있었어도 크게 다를것이 없었을 것이라는 것을 생각하게 되네요. 이는, 지금 맥 중심으로 돌아가는 소프트웨어의 가치가 낮다는 의미라기보다는, 그 환경에 남아있어도 결국 적응하고 제게 필요한 사용자 환경을 만들어 내게 되었을 것이라는 이야기입니다. 여튼, 그당시에는 페이퍼스니 데본씽크니 하는 소프트웨어들이 매우 좋아보였었네요. 막상 넘어가고 난 다음에는, 이러한 요소들보다 자잘한 디테일에서 편의성이 느껴져서 좋았던 것 같습니다. 다만,  사소하고 자잘한 디테일이다보니 지금은 막상 크게 기억나는건 없는 듯 합니다. 

업무용 (연구용)맥의 사용환경은 주로 일상적으로 논문쓰는 사람들의 그것과 비슷하리라 생각합니다. 이론연구분야다보니 오픈소스의 활용이 많고, 대부분의 경우는 LaTex를 사용하기에 최종 생산물의 핵심 환경은 terminal (iterm 2) + Emacs 입니다. 여기에 어느정도 논문의 윤곽이 나오기 시작하면 보통 git을 활용해서 프로젝트 폴더를 통채로 추적하곤 합니다. 이는 이론연구의 특성상, 여러가지 계산을 해보곤 하는데, 그 당시 사용한 코드 + 데이터셋을 추적하지 못하면 문제가 발생할수도 있어서 그렇습니다. 반면 발표용 자료는 주로 파워포인트나 키노트로 만들곤 합니다. 예전에는 LaTex (Beamer)를 사용하곤 했었는데 이론연구라도 결국은 발표의 중심은 그래프가 되기에 사용안한지 몇년된듯하네요. 중간 생성물들의 베이스캠프로 Devonthink를 사용하고 있고, 보통 rich text를 이용하여 상호링크가 되어있는 소 노트들을 구성하고 있습니다만 (해당 내용은 새로이 글타래를 여는게 좋을 것 같습니다), 이는 연구의 최종 결과물을 내기전에 활용하는 부분입니다. 사실 Devonthink의 편의성은 분명히 좋지만, 연구노트의 환경으로는 굳이 이게 아니라도 여러가지 대용이 많습니다. 

주된 코딩 환경역시 terminal (iterm 2 + tmux) + Emacs입니다. 주로 C++와 Python을 사용하고 있습니다.  C++의 경우 주로 사용하는 라이브러리들은 MKL와 GSL의 인터페이스로 묶여있고요, 여기에 제가 필요에 의해 만들어오고 있던 라이브러리들을 경우에 따라 적절히 엮어 사용하는 편입니다. Python의 경우 (데이터 분석+그래프) 과학자 기본 3종세트 numpy/scipy/matplotlib에 예전에 만들어둔 코드들을 사용하네요. 데이터분석의 경우 Jupyter notebook을 활용하는 경우가 많이 있습니다만, 최종 결과물의 경우 (논문삽입용 그래프등) 단일소스코드 형태로 인풋은 데이터, 스타일코드만 가져오도록 구성하는 편입니다. 이를 제외하고도 상용 소프트웨어로 Mathematica와 Comsol을 합니다. 

예전에는 슈퍼컴퓨터도 사용하곤 했었지만, 핵심 개발환경은 똑같이 C++ (icpc) + MKL + 개인 라이브러리였습니다. 아무래도 처음 환경 구성하고 안정적으로 쓰기시작하는데까지가 시간이 걸려서 그런지, 한번 적응하고 나면 잘 안바꾸는 듯 합니다. 그러다가 요즘 Big Sur들어서 인텔 컴파일러가 말썽이라서 clang으로 넘어가고 있네요.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *