본문 바로가기

일상,취미44

[TIL 43일차] 리눅스 파일 시스템 관련 명령어 파일 시스템- 운영체제가 디스크 상에 파일들을 구성하는 방식- 파일과 디렉터리의 집합을 구조적으로 관리하는 체계- 다양한 형식의 파일 시스템이 존재- 리눅스는 전체 파일시스템을 1개의 트리 구조로 관리ls 명령- 파일과 서브 디렉토리 목록을 나열하는 명령- 옵션에 따라 파일이 가지는 속성도 확인 가능- ls [options] , [names]ls directory- 디렉토리에 존재하는 파일과 서브 디렉터리 정보를 출력ls file- 해당 파일의 정보를 출력꿀팁ls -s = 파일 크기 순서로 결과 정렬ls -t = 최종 수정 시간 순으로 보여줌파일의 종류정규 파일- 데이터를 저장하는 데 주로 사용- 각종 텍스트 파일, 실행 파일, 이미지 파일 등 리눅스에서 사용하는 대부분의 파일- 실행 파일 이나 이미지 .. 2024. 9. 12.
[TIL 40일차] WSL 사용기 window에서는 linux 친화적인 코드는 프레임 워크는 돌아가지 않는다. 보통 linux의 POSIX 계열 함수가 들어가있으면 수행이 안되는 경우가 있는데 이는 종속성의 문제가 있다. 그래서 windows에서 docker를 사용할 때도 보통 docker desktop을 사용하는데 눈에는 안보이지만 자연스럽게 백그라운드에서 돌아갈 wsl2가 깔린다. hyper-v 기반으로 돌아가기에 활성화를 해주는게 먼저이다. WSL2는 Hyper-V를 사용하여 Linux 커널을 실행하는 경량 가상 머신을 생성하고 관리하기에 이 hyper-v를 활성화 하지 않으면 가상 머신기반 프로그램은 사용하기 어렵다. 진부한 이야기를 하자면 wsl2은 가상 머신 내에 하나의 커널을 사용한다. 그래서 아무리 wsl --install.. 2024. 8. 29.
[TIL 37일차] 비동기 동기와 비동기에 대한 이해동기 입출력은 전송 시작       전송 완료        수신 시작     수신완료send 호출     send 반환        recv호출     recv 반환TCP애서는 send로 출력버퍼에 데이터를 다 보내면 데이터가 전송이 되었다는 가정이 들어가 있다. 이는 TCP의 특성 때문에 그렇다.recv는 반환이 될때에 수신이 완료되었다고 판단한다.입출력 함수의 호출 및 반환의 시기가 데이터 전송 시작 및 완료의 시기와 일치하는 방식의 함수호출, 따라서 함수가 호출된 동안에는 다른 작업을 할 수가 없다.비동기 입출력은전송 시작        전송 완료        수신 시작      수신 완료send 호출 및 반환                         recv 호출 및 반환.. 2024. 8. 25.
[TIL 36일차] 쓰레드 프로그래밍 이전까지는 epoll 기반으로 서버를 구성해봤다.전에 해봤던  멀티 프로세스 방식의 단점 보완되었다고 보면 된다.개인적으로 생각하기에는 요즘은 쓰레드가 대세인 것 같다.멀티쓰레드 기반의 서버전체적인 모델을 멀티쓰레드로 가져갈건지 epoll로 가져갈건지 정해야 한다.요즘 뭔가 쓰레드가 대세라 쓰레드가 더 좋은거 처럼 효율이 좋을거 같지만 실제로는 멀티 플렉싱 방법이 대체적으로 한 프로세스에서 돌아가기에 더 많이 사용된다.그러면 왜 배우냐 싶은데 혼합되서 사용되는 윈도우의 IOCP에서 쓰레드가 사용되기에 알고가면 좋다.원래 기존의 프로세스는 하나의 흐름을 전담했지만 쓰레드라는 개념이 나오면서 프로세스는 쓰레드를 담는 바구니가 되었다.하나의 프로세스 내에서 메인 함수를 호출해서 실행해갈수있는 쓰레드를 담는 .. 2024. 8. 15.