본문 바로가기

전체 글217

HTTP 1.1 vs HTTP 2.0 HTTP 1.1과 HTTP 2.0의 가장 큰 차이는 속도입니다. HTTP 2.0은 헤더를 압축해서 보내고 한번의 연결로 동시에 에러 메시지를 주고 받을 수 있습니다. HTTP 1.1 1) Connection 한 개당 하나의 요청을 처리하도록 설계되었습니다. 동시에 리소스를 주고 받는 것이 불가능합니다. 요청과 응답이 순차적으로 이루어집니다. HTTP문서 내에 포함된 다수의 리소스(css, script, image)를 처리하려면 요청할 리소스 개수에 비례하여 Latency가 길어집니다. 2) HOL(Head of Line) 블로킹(Blocking)이 발생할 수 있습니다. 네트워크에서 같은 큐에 있는 패킷이 첫 번째 패킷에 의해 지연될 때 발생하는 성능 저하 현상 3) RTT(Round Trip Time) .. 2022. 4. 21.
도커(docker)란? 윈도우에서 VirtualBox, VMWare나 Hyper-V와 같은 가상 머신을 통해 리눅스 운영체제를 설치해 본 경험이 있으실 겁니다. 가상 머신이 사용하기 편하긴 하지만 하드웨어를 가상화해서 실행되기 때문에 성능이 좋지 않을 뿐만 아니라 실행 이미지에는 게스트 OS라는 운영체제를 통째로 포함해야 하기 때문에 용량 크기도 꽤 큰 편입니다. 가상 머신을 생성할 때 CPU, RAM, LAN 카드 및 사운드 카드와 같은 하드웨어 정보를 설정합니다. 말 그대로 가상 머신은 컴퓨터 안에 만들어진 또 다른 컴퓨터를 소프트웨어로 가상화합니다. 반면에 도커(Docker)는 게스트 OS를 설치하지 않고 내가 필요한 프로그램과 관련 라이브러리만 격리해서 설치하기 때문에 성능과 용량이라는 두 마리 토끼를 다 잡은 샘입니다.. 2022. 4. 19.
lshw,uname,... - 리눅스에서 시스템(하드웨어) 정보 확인하는 명령어 명령어 설명 lscpu CPU 하드웨어 정보를 확인하는 명령어 코어개수: $ cat /proc/cpuinfo | grep processor | wc -l lshw 하드웨어 구성 정보를 제한적으로 확인하는 명령어 예) $ sudo lshw -class processor hwinfo 하드웨어 구성(components) 정보를 확인하는 명령어 명령어를 찾을 수 없는 경우: $ sudo apt install hwinfo -y lsusb USB 정보를 확인하는 명령어 lspci PCI 슬롯 정보를 확인하는 명령어 du, df 디스크 사용량, 디스크 남은 용량을 확인하는 명령어 free 메모리 용량을 확인하는 명령어 uname 커널 및 시스템 정보를 확인하는 명령어 lsb_release -a 리눅스 배포판 버전을 .. 2022. 4. 17.
ldconfig 새로 작성한 공유 라이브러리를 사용하기 위해서는 라이브러리를 설치해야 합니다. 설치를 위해 디렉토리를 설정하고 ldconfig로 공유라이브러리 캐시를 다시 설정해야 프로그램에서 정상적으로 해당 공유 라이브러리를 로드할 수 있습니다. 즉, ldconfig는 프로그램을 실행할 때 공유 라이브러리 정보를 읽어 프로그램과 연결해 주는 링커를 설정하는 명령어로 리눅스에 *.so 파일을 인식하지 못할 때 재설정을 통해 읽도록 해 준다. 이 명령어는 존재하는 파일을 조사하고, /etc/ld.so.cache 캐시 파일을 설정하면서 필요한 라이브러리를 적재하고 심볼릭 링크를 만드는 역할을 합니다. /etc/ld.so.conf.d 디렉토리에 conf 파일을 추가/수정하거나 LD_LIBRARY_PATH를 변경할 경우에도 재.. 2022. 4. 17.
NVM (Node Version Manager) - 노드 버전 관리하기 노드(Node.js)를 사용하는 분이라면 여러 프로젝트를 관리하면서 여러 노드 버전을 사용해야 될 상황이 오게 됩니다. 프로젝트를 변경할 때마다 해당하는 특정 노드 버전을 설치해 주는 것은 굉장히 비효율적인 방법입니다. 이렇게 여러 노드 버전을 관리하기 위해 등장한 도구가 NVM(Node Version Manager)입니다. 파이썬의 pyenv와 비슷하게 NVM은 다양한 버전의 노드 리스트를 확인할 수 있고, 편하게 설치 및 삭제 그리고 전환까지 할 수 있는 매우 편리한 도구입니다. NVM 설치하기 NVM GitHub에서 최신버전 확인합니다. cURL 혹은 wget 명령어를 사용해서 nvm을 설치할 수 있습니다. (curl 혹은 wget이 설치되어 있지 않으면 설치하신 후 아래 명령어를 실행해 주세요) .. 2022. 4. 15.
파일/디렉토리 복사 cp 파일이나 디렉토리를 복사하는 명령어입니다. "cp" 명령어의 옵션은 아래와 같습니다. 옵션 설명 -a 원복 파일의 속성, 링크 정보들을 그대로 유지하면서 복사 -b 복사할 대상이 이미 있을 경우 기존 파일을 백업하고 복사 -d 복사할 원본이 심볼릭 링크일 때 심볼릭 자체를 복사 -f 복사할 대상이 이미 있으면 강제로 지우고 복사 -i 복사할 대상이 이미 있으면 사용자에게 물어보고 복사 -l 하드 링크 형식으로 복사 -P 원본 파일 지정을 경로와 같이 했을 경우 그 경로 그대로 복사 -p 파일의 소유자, 그룹, 권한, 시간 정보들이 그대로 보존되어 복사 -r 원본이 파일이면 그냥 복사하고 디렉토리이면 디렉토리 전체를 복사 -s 파일을 심볼릭 링크 형식으로 복사, 원본 파일 이름을 절대 경로로 지정해야.. 2022. 4. 14.