반응형 분류 전체보기401 [Python] argparse를 이용한 파이썬 실행 시 매개변수 받기 이전, 실행 시 sys.argv를 이용한 매개변수 인자값 전달받는 방법을 확인했다. 2023.03.18 - [프로그래밍/Python] - [Python] 파이썬 실행 시 매개변수 전달 [Python] 파이썬 실행 시 매개변수 전달 파이썬 input과 같은 함수로 유저에게 값을 직접 받을 수 있는데 파이썬을 실행시 값을 전달받을 수도 있다. 아래의 코드로 확인가능하다. import sys if __name__ == '__main__': print(sys.argv[0]) # main.py print(s park-duck.tistory.com 단점이 1. 매개변수의 조건에 따라 코드가 길어지거나 더러워질 수 있어 가독성이 떨어진다. 2. 시간이 지나면 매개변수의 사용 조건을 까먹어서 코드를 다시 봐야 한다. .. 프로그래밍/Python 2023. 3. 18. [Python] 파이썬 실행 시 매개변수 전달 파이썬 input과 같은 함수로 유저에게 값을 직접 받을 수 있는데 파이썬을 실행 시 값을 전달받을 수도 있다. 아래의 코드로 확인가능하다. import sys if __name__ == '__main__': print(sys.argv[0]) # main.py print(sys.argv[1]) # a print(sys.argv[2]) # b 단점은 sys.argv가 배열이기 때문에 매개변수가 없으면 sys.argv의 len값은 1이기 때문에 sys.argv[1], sys.argv[2]와 같은 값을 호출하면 out of range 에러가 발생한다. 아래와 같이 코딩하거나 또는 for, if문등을 적절히 사용하면 에러는 피할 수 있다. import sys if __name__ == '__main__': pr.. 프로그래밍/Python 2023. 3. 18. [Linux] ssh 연결 끊겨도 지속시키기 putty 등으로 ssh접속을 하고 연속적인 명령어를 수행시킨 뒤 ssh접속을 끊어버리면 그 연속적인 명령어는 종료된다. ssh접속을 하나의 터미널(사용자 세션)로 보기 때문에 터미널을 종료시키면 세션이 종료되고 해당 프로세스가 종료되는 것과 같은 것이다. 실제로 ssh접속을 끊을 때 해당 터미널의 프로세스에게 hup 시그널을 보내어 실행되던 프로세스가 종료되는데 그 hup 시그널을 보내지 않는다 하여 nohup명령어인 것이다. 먼저 실제로 ssh접속을 끊으면 명령어도 종료되는지 확인한다. putty 등으로 ssh접속을 하여 npm start를 실행시킨다. npm을 종료하지 않고 putty를 끊어본다. -> 종료된다. 이제 ssh 접속이 끊기더라도 OS에서 명령어를 지속시켜 보자. nohup [comma.. 프로그래밍/Linux 2023. 3. 11. [NodeJS] Sematic URL여러개를 하나의 변수로 받아오기 시맨틱(Semantic) URL을 사용할 떄 req.rarams를 이용해 쿼리의 값을 받아올 수 있다. example) router.get('/download/:path', async function (req, res) { console.log(req.params.path); }); 라고 할 때, path의 값을 받아올 수 있다. 나의 경우 ftp 파일의 경로를 path로 받는데 /home/user/www/public/에 있는 test.txt를 받는다고 가정하자 그러면 /download/home/user/www/public/test.txt 라고 URL을 입력할텐데 위와 같이 사용하면 Error를 출력한다. 구분자 '/'를 따라 params를 나눠 받기 때문인데, /home/user/www/public/t.. 프로그래밍/NodeJS 2023. 3. 2. Git Permission denied (publickey) 에러 해결 The authenticity of host 'github.com (IP)' can't be established. ECDSA key fingerprint is SHA256. Warning: Permanently added 'github.com,IP' (ECDSA) to the list of known hosts. git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. VSCode로 라즈베리 SSH 연결을 하여 개발을 하다 Git Push를 시도하는데 만난.. 프로그래밍/Git 2023. 2. 25. [Linux]ls: reading directory : Input/output error 해결 나의 경우 reading을 못하는 문제였지만 cannot open directory 같은 경우도 있다. 나의 경우는 nodejs에서 ftp 서버 소켓을 열어놓고 안닫아서 이런 오류가 났는데 클라이언트 프로세스를 종료해도 오류가 잔여하더라. 깔끌하게 마운트를 해제하고 다시 연결하는 방법으로 해결하였다. "sudo umount [디스크 경로]" 로 마운트를 해제하고 관리자로 들어가 (마운트는 관리자만 가능) "mount -a"를 하여 다시 마운트하였다. 마운트해제를 하는데 "target is busy" 에러가 나타난다면 아래를 확인. 2023.02.19 - [프로그래밍/Linux] - [Linux] disk target is busy 에러 해결 [Linux] disk target is busy 에러 해결 디.. 프로그래밍/Linux 2023. 2. 19. [Linux] disk target is busy 에러 해결 디스크 파일시스템을 누가 사용중이다. fuser 명령어를 사용한다. 디스크 사용자 확인 fuser -cu [디스크 경로] 디스크 킬 fuser -ck [디스크 경로] 프로그래밍/Linux 2023. 2. 19. 처음 하는 자취 생활 필수템 0~ 100가지 기본적인 것들배게, 이불, 침대(또는 매트리스) : 야생에 익숙하다면 구매 X 조리기구(필수) : 배민 + 포장 + 방문이면은 굳이 필요 없겠지만 라면을 위한 냄비는 살 것이 분명하다. 온니 라면만 조리한다면 수저, 냄비, 수세미로 마무리. 요리를 좀 한다면 수저, 칼, 가위, 집게, 국자, 도마, 주걱, 수세미, 프라이팬, 냄비, 그릇 등등 기본적인 것은 필요하다. 가스레인지와 인덕션 조리기구는 다르니 참고. 냄비받침대(필?수?) : 집에서 안보는 얇은 책을 애용하자. 전자레인지/전기포트(선택) : 마찬가지로 집에서 인스턴트조차 안 먹으면 필요 없다. 옷걸이(필수): 옷 수납장이 없으면 헹거도 사야 한다. 칼, 가위 : 조리용이 아닌 택배 포장 뜯기용이다. 택배를 안 시킬 리가 없다. 조리기구랑 같.. 기타 2023. 1. 30. npm nodemodules import하기 원래 웹 쪽이 아니라 고생 좀 했다. nodemodule에서 "npm install bootstrap" 하여서 bootstrap nodemudle을 내려받았다. 목적은 icon을 외부에서 가져오는 게 아닌, 나의 로컬 서버에서 icon을 가져오기 위해서. 외부에서 가져와도 상관없지만 로컬에서 가져올 상황이 많을 것 같아서 포기 않고 방법을 찾아 구글링을 좀 많이 했다. 처음에는 static 폴더에 nodemodule 데이터를 복붙 해서 사용했는데, 낭비인 것 같아서 + 앞으로도 많이 쓰일 것 같아서 포기 않고 찾아 헤맸다. (express 환경이긴 한데 대부분 비슷한 방법일 듯) 결론은 static이 아닌 nodemodule의 데이터를 찾아오는 방법이다. 1. app js에서 nodemodule의 경로를.. 프로그래밍/NodeJS 2023. 1. 30. Throttle vs Debounce 진짜 간랸하게 요약해서 설명하자면 Throttel과 Debounce의 공통점은 잦은 요청에 의해 퍼포먼스가 떨어질 때 해결방안이라고 할 수 있다. 처음에는 DMA와 비슷하다 생각했지만 엄연히 다르고... 느낌은? 비슷하다 할 수 있다. 예를 들어보자. 임의의 인터럽트가 0.01초마다 요청된다고 생각해보자(우선순위는 최상위). 그러면 우선순위에 의해 0.01초마다 수행이 될텐데, 그동안 다른 것은 수행하지 못한다. 즉 비효율적이다. 좀 더 자세하게 예를 들어보자. javascript에서 resize 이벤트 요청을 구현했다고 했을 때, 커서를 잡고 브라우저를 resize할 때 무수히 많은 요청이 일어난다. 1에서 100까지 크기를 resize할떄 100번의 이벤트가 일어날 것인데, 과연 유저는 1에서 100.. 0. 이론 2023. 1. 28. [VSCode] ssh (Linux, Raspberry pi, Server 등) 연결하기 이때까지 putty - vim으로 작업을 해왔는데 창을 3개이상 켜놓고 작업을 하다보니 한계가 있었다. GUI 환경이라 하더라도 라즈베리가 좀 느린가 ... VSCode를 설치했다 가정한다. 1. Remote - SSH 설치 Ctrl + Shift +X또는 Extensions을 클릭하여 Remote SSH를 검색한 뒤 설치한다. 2. 연결 시도하기 왼쪽아래에 remote 창 아이콘을 클릭한다. Connect to Host를 클릭한다. +) 참고로 여기서 [Open SSH Configuration File...]을 클릭하여 접속할 정보를 입력해주면 자동으로 접속할 수 있다. Host 별칭 HostName 아이피 User 유저이름 Port 포트번호 host이름@IP -p 포트번호 형식으로 입력한다. 포트는 .. 프로그래밍/Raspberry PI 2023. 1. 21. [VSCode] could not establish connection to IP 에러 해결 could not establish connection to IP 에러 때문에 고생을 했다. 구글링도 엄청하고 영어문서 잘못 읽어서 이상한 패키지도 다운받고... 어쨌건 내가 본 다른 사람들의 에러 이유는 1. 이전 로그 정보 때문에 -> C:\Users\사용자명\.ssh에 위치하는 known_hosts파일이 해당 ip와 port에 대한 ssh public key가 존재하는데 어찌어찌하다가 ssh key pair가 매칭되지 않아 해당 에러를 뱉는다. known_hosts 파일의 구조는 [IP]:Port 암호화 이름(?) public key로 되어있다. 해결방법은 그냥 known_hosts 파일을 지워버리고 다시 접속시도를 하면 된다. 2. Config File 절대경로 -> 내가 해결된 방법인데 이거 이.. 프로그래밍/AWS 2023. 1. 21. 이전 1 ··· 6 7 8 9 10 11 12 ··· 34 다음 반응형