1. 아침 10시 쯤 big sur 11.2 업데이트를 했는데 독학하려고 vscode를 오후 2시 쯤에 켰다. 그런데 아래 그림과 같은 에러가 떴다.

당황하지 않은 게 아니다. 당황했다. 환경설정이 잘못되었나? 생각해서 찾아보니 영어로 되어 있어서 방법을 찾기 어려울 거 같았다. 그래서 10 ~ 20 분을 헤매었다.

에러가 파일의 경로를 찾지 못해서 에러가 뜨는 거 같았다. 근데 맥북에서 시스템 경로가 어떻게 지정되어 있는지 어떻게 지정하는 지 잘 몰랐다.

근데 맥북을 9 개월 전에 처음 샀을 때도 c, c++으로 프로그래밍하기 힘들어서 힘들었던 기억이 났다. 그때 이유는 모르겠지만 어떤 웹페이지에서 CommandLineTool을 설치하라고 했다. 거기에 c랑 cpp 라이브러리와 디버거, 컴파일러 등등이 내재되어 있을 거 같았다.

그래서 나는 디버거나 컴파일 등등에 대해 잘 아는 편이 아니니 그나마 잘 아는 거 같은 라이브러리의 경로를 찾으면 될 거 같았다. 가장 무난한 stdio.h을 파인더를 통해 찾기 시작했다. 그런데 anaconda에 설치된 stdio.h만 보였다. 직접적으로 설치한 적은 없는데 알아서 설치가 된 모양이다.

알고 있는 라이브러리의 파일 경로를 찾게 되면 자연스럽게 commandlinetool의 경로를 찾을 수 있을 거 같았는데 있는데 찾지 못한 것이거나 사라진 것일 수도 있겠다고 생각했다. 확실하게 찾기 위해서 CommandLineTool 경로에 대해 검색했다. ~/Library/Developer/CommandLineTool에 있다고 했다. 그래서 ~/Library/Developer/에 들어 가보니 CommandLineTool이 없었다. 역시 CommandLineTool 부재로 인한 에러였다라고 이때 확신했다.

 

그래서 CommandLineTool을 설치하는 법을 검색했다. 다음과 같이 설치하면 된다.

터미널에 xcode-select --install을 치고 엔터를 누른다.
엔터를 누르게 되면 아래와 같은 메세지가 뜬다. xcode-select 라는 명령어를 실행하기 위해서 CommandLineTool을 설치하라고 하는 것이다. 이건 Xcode를 설치하지 않고 CommandLineTool을 설치하는 방법이라고 한다. Xcode는 10GB 정도 용량을 차지했던 기억이 나서 70GB 정도 있었던 맥북에는 부담스러웠다. 그래서 간접적으로 설치하는 것이다.
다음부터 설치하는 과정 하나하나를 찍었다.

그리고 vscode에 들어오니 처음과 똑같은 에러가 떴었는데 뭔가 처리하는 과정들이 슥슥 지나가더니 아래와 같은 메세지가 떴다.

그리곤 예전처럼 정상적으로 제대로 작동한다. Xcode를 통해서 CommandLineTool을 설치했다면 big sur 업데이트 했을 때 CommandLineTool이 지워지지 않았을까? 아무튼 나와 같은 처지의 사람들이 있을 거라고 생각이 들어서 글을 작성해보았다.

마지막으로 위에서 설명했던 CommandLineTool의 경로는 ~/Library/Developer/CommandLineTool가 아니고 /Library/Developer/CommandLineTool였다. 홈 디렉토리의 라이브러리가 아니고 최상위 디렉토리의 라이브러리였다. 참고로 다른 드라이버를 마운트(정확히는 모르지만)하지 않았기 때문에 내 저장장치는 하나의 최상위 디렉토리에서 모든 파일들과 폴더들이 분포되어있다.(근데 맥은 리눅스 계열인데 단 하나의 최상위 디렉토리가 존재하는 거 아닌가?)

착각으로 확신을 해서 에러를 해결하긴 했지만 라이브러리의 쓰임새에 대해 약간 고민해볼 수 있는 시간이 되었다.

이 어플은 안드로이드, 윈도우, 아이폰/아이패드, 맥에서 사용가능하다. 일반적인 사용자는 다 해당이 될 거 같다. 다른 OS는 찾아봐야 하겠지만 아마도 되지 않을까?

알기로는 윈도우는 무료로 쓸 수 있으며, 아이폰/아이패드는 19000원, 맥은 32000원 정도 했던 거 같다. 안드로이드는 5500원이다. 아이폰/아이패드에 각각 이 어플을 살 필요가 없는 거 같다. 같은 애플 계정을 쓰는 아이폰과 아이패드 모두 한 번의 구입으로 설치가 되었다. mac의 경우도 M계열 칩(M1칩 밖엔 없지만 아직)이 달린 경우 아이패드/아이폰의 어플을 다운 받을 수 있을 거 같지만 어플을 제공하는 곳에서 막으면 다운 받지 못 한다. M1 맥북이 없어서 아직은 되는지 안되는지 모른다.

 

JumpDesktop은 앱스토어에서 가장 좋은 원격데스크톱이라고 한다. 약간 의심해 볼 만도 하다. 너무 믿진 말길 바란다.

 

이 앱을 이용하려는 사람은 무거운 노트북을 가지고 있는 사람, 데스크톱을 밖에서 이용하고 싶은 경우 등등일 것이다.

필자는 노트북이 무거워서 이 앱을 구입하게 되었다.

아이패드 미니로 처음 이 앱을 사용했는데 화면이 조금 작은 아이패드였다. 아이패드 미니다. 더 큰 화면을 가진 기기들이 많으니 화면 크기는 그리 신경쓰지 않아도 될 거 같다. 아이패드 미니로도 어느정도 사용이 가능했기 때문이다.

아무튼 JumpDesktop이 필요하다고 생각한 이유는 JumpDesktop의 평이 나름 괜찮은 것 같았기 때문이다. 반응속도도 좋은 거 같았다. Wifi환경이 좋다면 거의 렉이 없는 느낌이었다. 그리고 이 앱은 원격데스크톱이라 그런지 노트북이나 데스크톱을 원격으로 사용하고 싶은 경우에 사용하는 것 같았다. 휴대폰이나 패드를 원격으로 접속하기 위해 사용하는 것이 아니라는 것이다.

 

공부하다가 집에 와서 새벽에 글을 적는 것이라 두서가 없는 것 같긴하지만 그냥 적어보려고 한다.

 

컴퓨터 수업을 듣는데 윈도우를 꼭 써야하는 상황이 생겼다. 무거워서 왠만하면 집에서 사용하는 편이었는데 코로나 때문에 수업을 4시간동안 원격 실습하게 되어서 밖에서 윈도우 노트북을 써야했다. 원래는 실습실의 컴퓨터를 쓰면 되는 것이었다. 실습에 사용하는 프로그램이 맥북에 깔 수 있는 방법을 찾아보았다. 맥북이 1kg이상 가벼웠기 때문이다. wine이 맞는지 모르겠지만 wine이라는 프로그램을 깔면 윈도우의 실행파일 exe을 실행시켜서 프로그램을 깔 수 있는 거 같았다. 하지만 지금은 빅서이지만 그 당시 카탈리나에서 그 앱이 지원되지 않는 거 같았다. 빠르게 포기하고 윈도우에서 실습 프로그램을 깔고 어떻게 할 지 생각했다. 막 생각하다가 구글링을 하고 유튜브를 참고해서 수많은 평가와 리뷰들을 접한 후에 JumpDesktop을 구입하게 되었다. 처음에 적응하기 힘들었다. 어떤 환경에서 JumpDesktop이 작동하는 지 알아보기 위해 테스트를 많이 했었다. 맥북은 File Vault를 사용했을 때 처음 켰을 때 원격으로 접속하지 못하고 로그인을 한 번 하고 나면 그 다음부터 접속이 가능했다. 하지만 잠자기모드로 들어가면 원격 접속이 안 되어서 카페인을 먹여서 강제로 깨워야 했다. 그 어플도 사야한다. 윈도우의 경우 처음 켰을 때 바로 JumpDesktop에 접속이 가능해서 좋았다. 하지만 절전모드로 들어가면 접속이 안 되었다. 항상 접속 가능한 상태를 만들고 싶었기 때문에 윈도우 설정에 전원설정 이런 곳에서 절전모드를 만들 수 있는 가능성을 모두 죽여놔야 했다. 한 7가지 정도는 되었던 거 같다. 노트북을 닫았을 때 절전모드에서 디스플레이 끄기로 절전모드 버튼을 눌렀을 때 절전모드에서 디스플레이 끄기로 이러한 설정도 배터리를 사용했을 때와 전원을 사용했을 때 2가지로 나뉘기 때문에 4가지가 된다. 더 있을 건데 잘 생각이 나지 않는다. 그렇게 하고 어느정도 원격접속에 익숙해졌었다. 근데 몇 가지 생각나는 것들이 있었다. 노트북을 항상 켜두면서 항상 전원연결을 해야한다는 것이다. 전원연결을 항상하기 싫었고 노트북을 항상 켜두기 싫었다. 전원연결을 원하는대로 키는 것은 생각보다 쉬웠다. IOT 전원플러그로 아이폰이나 갤럭시을 통해서 키고 끄면 되는 것이다. 하지만 노트북을 항상 켜둔다면 전원이 연결되지 않을 경우 꺼져서 나중에 원격접속을 못하는 불상사가 생기게 될 수 있었다. 그래서 노트북을 원하는 대로 키고 끄는 방법을 알아보다보니 WOL, WOA 방식이 있었다. WOL은 Wake On Lan으로 랜선을 직접적으로 연결해서 노트북을 깨우는 방식이다. 설정방법이 어렵고 시스템 설정을 잘못 건드릴 것 같아서 고수의 분야인 거 같았다. 근데 WOA은 Wake On AC(교류) 뭐 이런 거 같았는데 이건 전원이 공급되면 켜지는 방식이다. 이건 아까 봤던 IOT와 연동해서 사용할 수 있다. 근데 수많은 삽질과 검색 끝에 이 기능은 노트북에 지원되는 기기는 거의 없었다. 거의 없는 것이지 있긴 하다. 근데 데스크톱에서는 이 기능이 보편적으로 제공되는 것 같았다. 그래서 나는 노트북을 항상 켜두고 전원 연결을 항상 해두고 JumpDesktop을 사용한다. 근데 수업이 끝난 뒤 사용빈도가 줄어서 그렇게 노트북에 큰 영향을 가진 않는다. 추후에 사용하게 될 어플리케이션이다. 무게 때문에 샀던 어플리케이션이지만 지금은 무게를 무시하고 가방에 이것저것 넣어서 8kg 정도를 가지고 다닌다. 왜냐하면 오래 앉아있기 때문에 비싸고 무거운 방석을 넣어다니고 노트북을 오래 보기때문에 노트북 거치대와 무선 키보드와 무선 마우스를 넣어다닌다. 책을 모두 아이패드에 넣어다니기 때문에 아이패드와 애플펜슬을 넣어 다니고 전원 환경에서 자유롭고 싶어서 25000mA급 보조배터리를 항상 완충해서 들고 다닌다. 혹시 모르기 때문에 필요한 케이블 모두와 전원 공급하는 어댑터도 들고 다닌다. 가방이 1kg이라 더 무거운 거 같다. 그래서 무릎과 허리에 무리가 조금 와서 가방을 완전히 쭉 당겨서 등에 걸쳐서 메고 다닌다. 확실히 별로 무겁지 않고 효과가 있다. JumpDesktop의 글이지만 사실 내 생각을 마구마구 적었다. 이 블로그는 메모하는 블로그이기 때문이다.

수학의 시작은 뭘까?

우선 이 개념을 알기 위해서는 몇 가지 알아야 할 개념들이 있다.

공리, 무정의, 정의, 정리


공리

 

정확한 의미는 아닐 수 있지만 나름대로 설명해보자면,

참이라고 가정하는 명제들이다.

여기서 의문이 들 수 있다. 공리가 왜 참인 지? 참이라면 왜 그렇게 생각하는지?

 

답변: 공리가 왜 참인 지? 참이라면 왜 그렇게 생각하는지?

공리가 참이 아닐 수도 있다. 하지만 그런 가치 판단은 자기 자신이 참이라고 생각하는 것들을 가정한 상태에서 말하는 것들이다. 그렇다면 되려 이렇게 물을 수도 있겠다. 왜 자기가 믿는 것들을 참이라고 생각하는지? 전자, 후자가 같은 말이다. 따라서 무엇이 참이라는 절대적인 기준은 없는 것이다. 공리란 참이라고 가정한 상태인 것이다. 여기서 말하는 것들의 범주는 우선 수학에 국한해서 생각해야 한다.


무정의

 

무정의란 정의 없이 받아들이는 무언가 이다.

 

집합의 사전적 정의를 보면 특정한 조건에 맞는 원소들의 모임이다. 또 모임은 특정한 성질을 만족하는 집합이다. 이렇게 정의가 끝없이 돌고 돈다. 따라서 집합이라는 정확한 단어를 정의할 수 없다. 하지만 우리는 집합이 어떤 것들을 의미하는지 안다. 이럴 때 쓰는 것이 무정의 이다.


정리

 

공리나 정리로부터 모순이 발생하지 않은 명제들이다.


정의

 

공리나 정리로부터 모순이 발생하지 않은 명제들이다.

 

다만, 정의가 정리와 차이가 있다면 정의는 정리에 비해 좀 더 자주 쓰이고 좀 더 근본적인 느낌이 있다. 사실 가장 근본적인 것은 공리이지만 말이다.

 


칸토어는 공리가 불완전하다는 것을 증명했다. 즉 어떠한 공리계든 불완전하다는 것이다. 여기서 공리계란 공리들이 모여있는 것이다. 하지만 이러한 불완전한 공리계도 충분하다고 한다. 신기하게도 우리가 더하기 빼기를 하는 것도 공리계로 구축된 정리들이다.


이제 수학의 시작에 대한 답이 보일 것이다.

 

수학의 시작은 공리이다.

 

공리들은 매우 많은 것이 아니다. 예로 들면, 선형대수학은 공리 8개로 구성된 공리계로 설명될 수 있다. 다른 공리계로도 설명될 수 있다. 해석학은 공리 13개 정도로 구성된 공리계로 설명될 수 있다. 아주 적은 수의 공리이지만 공리로부터 새로운 사실들이 발견된 수만큼 아주 많은 정리들을 가지고 있다.


수학은 과학을 서술하는 언어이다. 따라서 수학의 공리는 과학에서 자음 모음인 것이다. 수학에서 가장 작은 단위이기 때문이다. 이때 서술의 대상은 수학적인 것이다. 숫자, 변수, 함수, 집합, 등등

여기에 개발 관련 메모를 올리면 좋겠다고 생각했다.

나중에 더 올려야지.

+ Recent posts