반응형 전체 글373 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. Blocking & Non-blocking I/O + Synchronous&Asynchronous I/O 차이점 유튜브 널널한 개발자 TV를 보다가 어떠한 댓글에 Non-blocking과 Asynchronous가 다르다는 댓글에 구글링을 좀 했다. Blocking&Synchronous와 Non-blocking / Asynchonous의 차이점을 크게 보면 이해가 빠른데 자세히 보니 헷갈리더라. 두리뭉실하게 같다고 보는 블로그가 있고 개념이 비슷한데 엄연히 다르다는 블로그도 있고 비동기와 논블록만 다르다는 글도 있고... 일단 내가 맞다고 생각하는 것들로 써본다... 편의상 I/O는 생략한다. Blocking & Synchronous 공통점은 request 후 대기한다는 것 차이점은 제어권이 누구에게 있느냐. Blocking은 request를 하게 되면(예를 들면 File I/O) Kernel에 요청을 하고 제어권을.. 0. 이론 2023. 1. 10. TCP 송/수신 원리 Client에서 요청을 받으면 데이터를 파일 시스템을 통하여 MemoryBuffer로 읽어옴 이때 메모리 버퍼 크기는 개발자가 정할 수 있다. Memory Buffer에 담긴 데이터를 TCP Buffer로 복사한다. (Buffered I/O) Memory Buffer는 보통 64KB이다. (Window Size 개념이 있는데 송신 측도 관련 있는진 모르겠다.) TCP Buffer에 담긴 데이터를 Segment화한다.(더 잘게 쪼갠다) 이때 데이터 순서를 의미하는 id번호를 부여한다. = Packet L2로 내려가게 되면서 Frame화 된다. Frame을 전송하게 되면 같은 프레임으로 온다는 보장은 없다. 택배도 판매점 - 서울 전달하는 택배기사님이 있고, 서울-부산, 부산-구매자 집으로 전달하는 택배기사.. 0. 이론 2023. 1. 8. [JS] webserver 최대 크기 문제 해결(feat. dropzone) 개인 ftp에 존재하는 파일을 웹으로 업&다운로드 하기위해 dropzone을 사용했다. dropzone의 장점인 파일을 drag&drop하는 기능보다는 파일을 web에 나눠 저장하는 기능때문에 사용한다. - 아래는 완전한 정보는 아니므로 참고만 하자 예를 들어 파일을 전송받을 때 http의 최대 전송 패킷(데이터 부분) 크기는 1500byte정도 되므로 데이터를 받을 때마다 임시폴더에 저장을 하게된다. 나의 개인 ftp서버는 라즈베리에서 진행하게 되는데 임시저장폴더인 /tmp는 10MB 밖에 되지 않는다. 그러므로 10MB 이상의 파일은 데이터를 받다가 멈춰버린다. (nginx 최대 전송 크기 문제와는 별개다. Bad Gate - Too Large에러를 본다면 nginx 파일 전송 최대 크기 변경을 검색.. 프로그래밍/NodeJS 2022. 12. 18. [청년내일채움공제] 만기신청(후기) 청년내일채움공제 2년 만기하여 만기 신청을 한다. 2020-11-05부터 시작하여 2022-11-04까지 진행하였고 미납 등은 하지 않았다. 군대와 같이 이등병~상병까진 아무 생각 없었는데 병장 시기쯤 되니 가슴이 조여 오고 시간이 안 가더라... https://www.sbcplan.or.kr 에 접속을 하고 로그인은 당연히 되어있어야 한다. 1. 먼저 [마이페이지] - [계약정보]에 접속하여 본인 납부금, 취업지원금, 기업 기여금이 모두 적립되어있는지 확인한다. 2. [마이페이지] - [변경, 해지 및 만기]를 클릭한다. 3. 해당 청약번호에 [선택]을 클릭하고 [만기금 신청]을 클릭한다. 4. 수령방법을 선택한다. 일시 수령 : 만기금 일시수령 미수령 : 청년내일채움공제 만기 후, 내일채움공제로 연계.. 기타 2022. 12. 15. 이전 1 ··· 4 5 6 7 8 9 10 ··· 32 다음 반응형