본문 바로가기

Linux

websocket 프로토콜 분석 웹소켓은 핸드세이크 과정이 있다 클라이언트의 요청 GET /ws HTTP/1.1 Host: 127.0.0.1 Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw== Sec-WebSocket-Version: 13 서버의 응답 HTTP/1.1 101 Switching Protocols Upgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: m1gerlQGO93j1SfFew3lhvMXqro= =============== 핸드세이크 설명: 클라이언트가 http 연결을 하며 필수로 보내야 하는 4개의 헤더가 있다 1. Connection, 2. Connection헤더 .. 더보기
C++ pthread pool management library GitHUB -> https://github.com/woenho/pthread_pool GitHub - woenho/pthread_pool: 사용자 프로그램과 온전히 독립적으로 동작할 수 있는 완전체 모습의 pthre 사용자 프로그램과 온전히 독립적으로 동작할 수 있는 완전체 모습의 pthread pool 관리라이브러리를 추구했다 ExampleThreadPool.cpp 라는 예제 프로그램을 이용하여 라이브러리의 작동모습을 볼 수 있 github.com 주요기능: 지정된 수 만큼의 워크 쓰레드를 생성하도록 하는 API 제공 (실행할 외부함수를 인자로 받아야함) 명시적으로 쓰레드풀을 종료 할 수 있는 api를 제공 (큐 처리 후 종료 | 큐 버리고 종료) 프로세스의 쓰레드 요청 내역을 큐에 넣는 api를 제.. 더보기
linux find 명령 예 find /var/spool/asterisk/monitor/ -iname “*wav” -type f -exec sh -c ‘ffmpeg -i {} -y -vn -aq 40 -ac 1 `echo {} | sed “s/.wav/.mp4/g”` && rm {}’ \; -name : 이름입력 -iname: 패턴 입력 -> -name과 비슷하지만 일치는 대소 문자를 구분하지 않습니다. 예를 들어 패턴 'fo *' 및 'F??' 파일 이름 'Foo ', 'FOO', 'foo ', 'fOo'등 -type : f ( regular file), d (directory) -exec : 다음 명령을 실행하라.... {} : find로 검색된 결과값 하나하나 \; : -exec 명령문의 종료로 앞글자 '}' 와 반드시 띄워 .. 더보기
vscode 에서 sftp 를 이용하여 서버소스관리하기(로칼에서 git 관리하기) 리눅스서버의 소스를 ssh로 직접 수정하는 방법은 매우 기초적인 방법이지만 원시적이다. 형상관리(git 이용)하고 싶지만 서버에서는 순수하게 소스만 관리하고자 한다. 왜냐하면 git 레포지토리를 만드는 경우 관련 파일이 많이 생긴다. 서버에 굳이 그걸 만들 필요가 없다. 로칼(나는 윈도우를 사용한다)에서 형상관리(나는 git을 사용한다)하고 서버는 최종 소스만 올리면 깔끔하다. 서버에 ssh로 접속해서 직접소스를 수정하는 것 보다는 vscode로 로칼에서 소스를 개발/관리하고 서버에는 최종본만을 업로드하는 것이 좋은 방법이 된다 나는 vscode 확장 프로그램중 "SFTP"를 사용하기로 했다 서버의 소스를 로칼에서 직접 수정하는 것처럼 지원해주는 확장 프로그램이기 때문이다. 로칼에서 수정하면 파일은 서버.. 더보기
SSH 자동 로그인 (ssh 키를 이용한) ssh 를 통해 Linux / Unix에 로그인 할 일이 있다. 이 때 있어서 아래와 같은 경우 자동 로그인 하고 싶어진다 1. 일일이 비밀번호를 누르기 싫거나 2. 관리자가 자주 암호를 변경하는 경우 암호 때문에 쪼매 골치 아프다 그러면 ssh 키를 이용하여 자동 로그인 하고 싶어진다. 그 방법을 설명한다. 키를 만들면 비공개키와 공개키가 생긴다 비공개키를 내 컴퓨터에 넣어두고 공개키를 리모트 서버에 넣어두면 된다 내 컴이 윈도우인 경우는 내 홈디렉토리에 .ssh 폴더를 만들어지고 원하면 다른 폴더를 사용해도 된다. 비공개키가 여러개면 이름을 다르게 한다 그러나 ssh키는 하나만 만들어서 여러서버에 올려두는 것이 더 편하다. 하나의 서버에 여려계정으로 연결할 때도 마찬가지로 하나의 ssh를 사용해라 그.. 더보기