전체 글
-
Zero-Copy내가 몰랐던 IT 용어 2023. 5. 13. 14:44
전통적인 데이터 전송 과정 디스크에 있는 데이터를 네트워크로 전송하기 위해서는 Kernel 영역과 데이터를 조작하는 Application 영역을 넘나들어야 한다. 하지만 Application 영역은 커널에 접근할 수 없다. 따라서 다음과 같은 과정이 필요 Kernel 영역에서 Application 영역으로 데이터 복사 복사된 데이터를 Application 영역에서 Kernel 영역으로 복사 위 그림을 보면 2번과 3번 데이터 복사는 실제로 필요하지 않음을 알 수 있다. Zero-copy 를 통한 데이터 전송 과정 Zero-copy 는 이러한 과정을 생략하고 커널(Read Buffer) 에서 커널(Socket Buffer)로 바로 데이터를 전송하여 성능을 높인다. C, Go 에서는 Sendfile을 이용해..
-
RPC내가 몰랐던 IT 용어 2023. 5. 13. 14:42
Remote Procedure Call(원격 프로시저 호출) 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있게 하는 프로세스 간 통신 기술 RPC를 이용하면 프로그래머는 함수가 실행 프로그램에 로컬 위치에 있든 원격 위치에 있든 동일한 코드를 이용할 수 있다. 참고 [위키백과](https://ko.wikipedia.org/wiki/%EC%9B%90%EA%B2%A9_%ED%94%84%EB%A1%9C%EC%8B%9C%EC%A0%80_%ED%98%B8%EC%B6%9C)
-
청크(Chunk)내가 몰랐던 IT 용어 2023. 5. 13. 14:39
청크(chunk)란 데이터를 일정한 크기로 나누어 전송 또는 처리하는 단위를 말합니다. 데이터를 한 번에 모두 전송하기 어려운 경우, 데이터를 작은 조각으로 분할하여 전송하거나 처리할 수 있습니다. 이때 각각의 작은 조각을 청크라고 부릅니다. 청크를 사용 이유 대용량 데이터 전송: 데이터가 매우 큰 경우, 한 번에 모두 전송하기 어려울 수 있습니다. 청크로 나누어 전송하면 작은 단위로 나누어 전송할 수 있으며, 네트워크 대역폭을 효율적으로 활용할 수 있습니다. 실시간 스트리밍: 실시간으로 데이터를 전송하거나 스트리밍하는 경우, 작은 청크로 데이터를 나누어 전송하여 지연 시간을 최소화할 수 있습니다. 메모리 사용량 제어: 대용량 데이터를 처리할 때 메모리 사용량을 제어하기 위해 청크로 나누어 처리할 수 있..
-
문맥 전환(Context Switching)내가 몰랐던 IT 용어 2023. 5. 13. 14:38
문맥 전환(Context Switching) 작업의 주체가 현재 Context를 잠시 중단하고 다른 Context를 실행하는 것을 Context Swiching이라 한다. CPU의 코어가 1개라면 동시에 하나의 프로세스만 실행이 가능하다. CPU scheduling을 통해서 하나의 CPU를 여러 작업들이 공유할 수 있게 cpu **시간을 나누어** 작업을 수행한다. 이때, 프로세서가 지금까지 실행되던 프로세스를 중지하고 다른 프로세스의 `PCB(Process Controll Block)`정보를 바탕으로 프로세스를 실행하는 것을 `Process Context Switching`이라고 한다. 동일한 프로세스 속에서 하나의 쓰레드를 중지하고 다른 쓰레드의 `TCB(Thread Control Block)`정보를..
-
Endian(엔디언)내가 몰랐던 IT 용어 2023. 5. 13. 14:35
컴퓨터의 메모리와 같은 1차원의 공간에 여러 개의 연속된 대상을 배열하는 방법을 뜻하며, 바이트를 배열하는 방법을 특히 **바이트 순서**(Byte order)라 한다. 큰 단위가 앞에 나오는 빅 엔디언(Big-endian)과 작은 단위가 앞에 나오는 리틀 엔디언(Little-endian) 으로 나눌 수 있다. 두 경우에 속하지 않거나 둘을 모두 지원하는 것을 미들 엔디언(Middle-endian) 이라 부르기도 한다. 종류 빅 엔디언(Big Endian) 가장 높은(좌측) 바이트가 가장 낮은 주소에 위치합니다. 리틀 엔디언(Little Endian) 가장 낮은(우측) 바이트가 가장 낮은 주소에 위치합니다. 예시 32비트 정수 `0x12345678`을 메모리에 저장할 때, 빅 엔디언은 메모리에 `12 3..
-
443포트와 80포트내가 몰랐던 IT 용어 2023. 5. 13. 14:34
443 포트와 80 포트는 모두 인터넷 프로토콜(IP) 기반의 통신에서 사용되는 포트 번호 중에서 가장 많이 사용되는 두 개의 포트이다. 80포트 80 포트는 HTTP(Hyper Text Transfer Protocol) 프로토콜을 사용하는 웹 사이트에서 사용하는 포트 일반적인 웹 페이지 접근 시 자동으로 지정 80 포트를 사용하는 HTTP는 인터넷 상에서 데이터를 암호화하지 않고 전송 443 포트 HTTPS(Hyper Text Transfer Protocol Secure) 프로토콜을 사용하는 웹 사이트에서 사용하는 포트 HTTP와 달리 SSL(Secure Socket Layer) 또는 TLS(Transport Layer Security) 프로토콜을 사용하여 인터넷 상에서 데이터를 암호화하여 전송 이를 ..
-
yaml 파일 errorLinux 2022. 8. 18. 15:34
명령어 kubectl apply -f test_build_server.yaml 에러 error: error parsing test_build_server.yaml: error converting YAML to JSON: yaml: line 19: found character that cannot start any token 위와 같은 에러가 발생했을 때에는 yaml 파일에 space가 아닌 tab을 사용했는지 확인해야 한다. yaml파일은 tab키를 지원하지 않는다.