![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/Ie8d5/btr6OngW7rp/zx8loELkjQV5KwHBZqqM01/img.png)
macOS의 개발 패키지가 들어있는 "명령어 라인 개발자 도구"가 설치되지 않아서 발생하는 에러이다. 터미널에서 아래의 명령어를 입력해주고, xcode-select --install 이 팝업을 통해서 설치하면 된다.
스타일 복사 : 커맨드+옵션+C, 붙여넣기 : 커맨드+옵션+V
Functions assertEqual(a, b) a == b assertNotEqual(a, b) a != b assertTrue(x) bool(x) is True assertFalse(x) bool(x) is False assertIs(a, b) a is b 3.1 assertIsNot(a, b) a is not b 3.1 assertIsNone(x) x is None 3.1 assertIsNotNone(x) x is not None 3.1 assertIn(a, b) a in b 3.1 assertNotIn(a, b) a not in b 3.1 assertIsInstance(a, b) isinstance(a, b) 3.2 assertNotIsInstance(a, b) not isinstance(a, ..
오늘은 Code-Server 서버에 https를 적용해보려고 한다. sudo apt-get install certbot sudo certbot certonly --webroot -w . -d {서버주소} * 주의: 80포트로 접속 테스트를 하기 때문에, 포트포워딩시 해당 주소를 외부포트만이라도 80으로 설정해줘야 한다. 3개월에 한번씩 갱신해줘야 한다. 3개월 후에 쓰고 있을지 몰라서 crontab 작업은 하지 않았다!.! ** 작업 중 error EACCES: permission denied, open '/etc/letsencrypt/live/jonyejin.duckdns.org/fullchain.pem' 에러가 생겼는데 권한에 대한 공부중이라서 보류중 [출처] https://nhj12311.tisto..
try: print(f"연산결과") except: print("에러 발생") else: print("정상 동작") finally: print("수행 종료") Q) finally는 왜 쓰는걸까? 어차피 오류가 나던, 안나던 실행된다면 try문 바깥쪽에 적어도 되는거 아닌가? A) try나 except에 return문이 있으면 함수 자체가 종료되어 버린다. finally문에서 함수가 끝날 때 처리해야 하는 액션들을 처리하고 리턴하도록 할 수 있다. except에서 오류 종류로 판단하기 except ImportError: # 대응하기 except ValueError: # 대응하기 직접 오류 발생: raise로 오류 발생시키기 raise ValueError("입력값을 다시 확인하세요!") Custom Excep..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/LpEP9/btrUM4M2qQ9/CxBqkUnId5EnI39qMq4Xi1/img.png)
Spanning Tree input: 아무 그래프 output: 그래프 내의 모든 정점을 포함하는 트리 * 트리이므로 사이클이 있어서는 안된다. Minimum Spanning Tree input: 방향없는 weighted edge 그래프 output: cycle 없는 edge cost가 최소인 spanning tree (같은 cost인 그래프가 여러개 나올 수도 있다.) Kruskal's Algorithm input: 방향없는 weighted edge 그래프 output: cycle 없는 edge cost가 최소인 spanning tree 0) weight순으로 edge를 sorting한다 1) weight이 가장 작은 edge를 선택한다, cycle을 만들지 않는다면 추가 시간복잡도 O(NlogN) :..
Error Code: 1418. This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) SET GLOBAL log_bin_trust_function_creators = 1; 해주면 됨
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bBWzqG/btrQ1J7SeLC/hWAiLKP8ZUIAoCNr3pLWC0/img.png)
설치 cd "matlabroot/extern/engines/python" python setup.py install *matlabroot를 모를경우 matlab을 실행하고 matlab terminal에서 "matlabroot" 명령을 실행한다. --- python code --- import matlab.engine # MATLAB engine API import eng = matlab.engine.start_matlab() # MATLAB engine 객체 생성 print(eng.isprime(13)) >> True print(eng.isprime(12)) >> False 그리고 위 코드를 실행하면 잘 되는걸 볼 수 있다! matlab script 파이썬에서 실행하기 해당 폴더에 넣고, 실행해주기만 하..
파일 위치: /etc/ssh/sshd_config Port 22 - ssh가 사용할 기본 포트 지정 Allowusers user1 root - 로그인 허락할 계정을 기록한다. - user1과 root 두 계정에게만 로그인 허용 Protocol 2 - openssh는 프로토콜 버전을 원하는 대로 선택할 수 있다. protocol 2로 설정에는서버는 버전 2로만 작동하기 때문에 ssh1을 사용해 접속을 요청하는 클라이언트를 받아 들일 수 없다. - protocol 1로 설정해서 가동시킬 경우에는 버전 2를 사용하는 ssh2 사용자의 요청을 받아 들일 수 없다. 보안상 protocol 1 은 사용하지 않는다. ListenAddress 0.0.0.0 - sshd 데몬이 통신가능한 주소이다. 0.0.0...
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/br1cVq/btrOC40NBCA/isfIqHW4Kl7COO8hivkpi0/img.png)
이런 에러를 겪었는데, GROUP BY를 사용하는 경우, SELECT할 수 있는 컬럼은 GROUP BY에 나열된 컬럼과 SUM(), COUNT() 같은 집계 함수(Aggregation Function)으로 한정 한다고 한다....!!! (sql 표준 문법은 group by 사용시 select 의 칼럼중 집계함수에 쓰이는 것을 제외한 모든 칼럼을 기입해야 한다. 왜??) 해결 방법은, sql_mode 에서 ONLY_FULL_GROUP_BY 설정을 뺀다 SET SESSION sql_mode = 'NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES'; - 설정파일(my.cnf)에서 ONLY_FULL_GROUP_BY 를 찾아 삭제한다.
code-server를 통해서 서버에 웹브라우저 vscode를 통해서 접근하는데는 성공했지만, browser단에 설치한 jupyter extension이 무한로딩에 걸리는 버그가 있었는데 도저히 고칠 방법을 못찾아서(...) 로컬 웹으로 ipynb 파일을 수정하고, 서버에서 실행하는 방법을 찾아보았다. * code-server 터미널 jupyter-notebook --no-browser --ip="{inet_addr}" --port=8889 으로 실행해준다. 참고로 여기서 명령어를 입력할 때 실행중인 커널이 jupyter notebook에서 실행하는 커널이 된다. 따라서 코드를 실행하길 원하는 가상 환경이나 계정으로 미리 바꿔줘야 한다! * 공유기 사이트 8889번 포트 열어주기 그러고 나면, 원래 dd..
고급설정 > LAN 연결 설정 > 고정IP 1에 MAC주소랑 IP 넣어준다.
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dTlYC9/btrN4O6rgJo/mKwrksdI05E8zvvk73ZqIK/img.png)
Theta inner join, Natural inner join, Left outer join, Left semi join, Anti join cartesian 곱으로는 해결하기 어려운 연산을 간편하게 하기 위해서 만들어졌다. 1. Natural Join select name, course_id from student, takes where student.ID = takes.ID; 복잡한 이걸 한방에 쓸 수 있다. select name, course_id from student natural join takes 그리고 natural join을 outer join과 구별하기 위해서 'inner join'이라고 부르기도 한다. Inner join에는 3가지 종류가 있다. Theta join EQUI joi..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/b6R7ta/btrN5vY9eFA/ExT9TVpkQWaWfhWK2gaDO0/img.png)
우분투 기준 $ curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash $ sudo apt install git-lfs 레포 위치로 가서 $ git lfs install // 특정 파일을 LFS로 관리 $ git lfs track {파일명} $ git add .gitattributes 그러면 이렇게 된다. 참고로 깃헙 제한은 계정당 총 1GB인듯 하다 * 혹시 이미 큰 파일은 commit해서 push가 안되는 경우라면? 로컬에서 해당 파일을 삭제한다. 삭제한 결과를 커밋한다. git reset --soft HEAD~N 으로 N개의 커밋이 있다면 해당 커밋을 취소한다. git commit -sm..
Electron 기반 오픈소스인 VS Code를 Node.js 통해 Server를 올리고 크롬 브라우져에서 직접 VS Code 에디터를 사용할 수 있도록 만들어진 오픈소스가 vs code-server이다. 크롬 기반의 웹브라우져가 있는 환경이라면 VS code를 사용할 수 있다는 뜻이다! 포트포워딩은 이미 되어있다고 가정한다. (타 포스팅 참조) $ sudo apt-get install build-essential net-tools $ wget -q https://github.com/coder/code-server/releases/download/v4.7.1/code-server_4.7.1_amd64.deb $ sudo dpkg -i code-server_4.7.1_amd64.deb $ echo "exp..
정말 너무 헷깔렸던 내용!!! transmission delay(전송 시간): 노드에서 링크로 데이터를 밀어내는데 걸리는 시간 * 패킷 크기와 링크 전송률(대역폭)의 함수, 두 라우터 사이의 거리와는 관련 없다. = 패킷 크기 / 대역폭 propagation delay(전파 지연 시간): 링크(케이블)를 타고 다음 노드까지 가는데 걸리는 시간 * 두 라우터 사이의 거리에 대한 함수, 패킷 길이나 링크 전송률과는 관계 없다. = 거리 / 빛의 속도
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bJBjZT/btrNxa3ocoN/48yGq8lcC8rhQ4HCbd4h70/img.jpg)
아이폰 기준 먼저 학교 메일에 들어간다. 여기서 imap설정: 서버 이름 을 확인한다. 아이폰 메일 앱에서 계정추가 > 기타로 들어간다. (outlook.com 고르면 안됨) 새로운 계정에 이름, 이메일, 암호를 입력해준다. IMAP과 POP중 IMAP을 선택하고, [수신메일서버] 호스트이름: 위쪽에서 본 IMAP 서버 이름 사용자 이름: 학교 ID 암호: 학교 비밀번호 [발신메일서버] 호스트이름: 위쪽에서 본 SMTP 서버 이름 사용자 이름: 학교 ID 암호: 학교 비밀번호 으로 입력해준다.
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/pZ8uM/btrNxaB6Tn8/k958tM0n9GXbJ3s4rM8phk/img.png)
[MySQL Community 설치하기] https://dev.mysql.com/downloads/mysql/ [MySQL WorkBench 설치하기] https://dev.mysql.com/downloads/workbench/ dmg 파일 다운로드 받고 열어주면, 설치가 끝나고 나면 새로운 MySQL Connection을 하나 만들어준다. 그러고 나서 실행을 해준다. 더보기 > 혹시 실행이 안되고, workbench가 죽는 현상이 나타난다면 macOS Monterery 12.2를 사용중인데 8.0.30 대신 8.0.13 버전을 깔았더니 해당 현상이 나타나지 않았다. Q) mysql community는 이상하게 앱 아이콘이 안보이고 시스템 환경설정의 아래쪽에 아이콘이 생겼다...!!
"관찰 대상들을 잘 설명할 수 있는 잠재 공간(latent space)"
Permutation Invariance: 순열 불변성 즉, 입력 벡터 요소의 순서와 상관없이 같은 출력을 생성하는 모델 permutation invariant 모델의 대표적인 예로 MLP(Multi Layer Perceptron)가 있습니다. 반면에 CNN (Convolutional Neural Network), RNN (Recurrent Neural Network)는 permutation invariant 모델이 아닙니다. 이미지 분류를 할 때 CNN이 많이 활용되는 이유도 이와 관련 있다고 할 수 있습니다. 픽셀의 순서를 고려하지 못하는 신경망은 이미지의 특징을 학습하기 어려우니까요. Permutation Equivariance: 순열 불변성 adjacency matrix의 순서가 바뀌는대로 out..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/c4Pd0I/btrLPc1Ltz0/rT10pw40wDw4eFKx5e88eK/img.jpg)
이렇게 생겼다! byte 기준 bit 기준 Frame Control > 내용 보기 더보기 0. Protocol Ver (2bit) 현재는 0으로 고정되어 있다. 1. Type (2bit) 타입이 크게 Control(제어), Management(관리), Data(데이터) 세가지로 나누어진다. TYPE bit에 해당된다. (control = 00, management=01, data=10) 2. SubType (4bit) 0000 = Association Disassociation Re-Association Probe Authentication De-Authentication CTS RTS ACK 3. ToDS, 4. FromDS To Distribution System, From Distribution S..