목록분류 전체보기 (159)
개발자공부일기
1. 버퍼 객체란?Buffer는 Node.js에서 제공하는 바이너리 데이터를 처리하기 위한 객체입니다. 소켓 통신과 같은 네트워크 데이터 송수신에서 주로 사용됩니다.주요 특징:고정 크기:Buffer는 고정 크기의 메모리 공간을 사용하며, JavaScript의 동적 배열과 달리 변경할 수 없습니다.바이너리 데이터:문자 데이터뿐만 아니라 이미지, 오디오, 파일 등의 바이너리 형식 데이터도 처리할 수 있습니다.빠른 데이터 조작:네트워크 통신에서는 빠르고 효율적으로 데이터를 처리해야 하며, Buffer는 이를 가능하게 합니다.2. 소켓 통신과 버퍼소켓 통신에서 데이터는 네트워크를 통해 패킷 단위로 전송되며, 이 데이터는 Buffer 형태로 수신됩니다. 이후, 이를 문자열 또는 다른 형식으로 변환하여 처리합니다...
RAM의 정의와 역할CPU와 보조기억장치 간에는 큰 데이터 전송 속도 차이가 있고, 두 장치 사이에 운영 체제가 중재 역할을 하므로, CPU는 보조기억장치에 직접 접근할 수 없다. 이 문제를 해결하기 위해, 실행될 프로그램이나 데이터는 보조기억장치에서 먼저 주 메모리인 RAM으로 복사된다. RAM은 휘발성 메모리로, 전원이 꺼지면 그 내용이 사라지지만, CPU가 빠르게 접근하여 데이터를 읽고 쓸 수 있게 한다.RAM의 용량은 시스템 성능에 큰 영향을 미친다. RAM의 용량이 클수록 보조기억장치에서 더 많은 데이터를 미리 로드하여 저장할 수 있게 되는데, 이는 여러 프로그램을 동시에 실행하거나 대용량 데이터를 처리하는 데 매우 유리하다. CPU가 작업을 수행하기 위해 필요한 임시 데이터를 저장하고, 저장장..
선형 보간 (Linear Interpolation)1. 개념선형 보간은 두 점 사이의 값을 직선적으로 계산하는 기법입니다. 이를 통해 연속적인 움직임이나 상태를 부드럽게 보여줄 수 있습니다. 특히, 네트워크 기반 애플리케이션에서 서버와 클라이언트 간 데이터 전송이 불규칙하거나 느릴 때, 중간 상태를 계산해 끊김 없는 시각적 경험을 제공합니다.2. 공식선형 보간은 두 값 AA와 BB 사이에서 tt (0과 1 사이의 값)에 따라 중간 값을 계산합니다.Lerp(A,B,t)=A+(B−A)×tLerp(A, B, t) = A + (B - A) \times tAA: 시작 값BB: 끝 값tt: 보간 계수(0일 때 AA, 1일 때 BB)3. 예제캐릭터의 위치가 서버에서 A=(10,10)A = (10, 10), B=(20..
1. 로드밸런싱의 정의와 목적정의로드밸런싱은 클라이언트의 요청(트래픽)을 여러 서버(노드)로 분산 처리하여 시스템 과부하를 방지하고, 서비스의 안정성과 응답 속도를 높이는 기술입니다. 로드밸런싱의 이점1) 애플리케이션 가용성서버 장애나 유지 관리로 인한 애플리케이션 가동 중지 방지.서버 문제 자동 감지 및 클라이언트 트래픽을 사용 가능한 서버로 리다이렉션.활용 사례:애플리케이션 서버 유지 관리나 업그레이드 중에도 가동 중지 없음.백업 사이트를 통한 자동 재해 복구.상태 확인을 통해 가동 중지 문제 예방.2) 애플리케이션 확장성여러 서버 간 네트워크 트래픽 지능적 분산으로 확장성 지원.이점:트래픽 병목 현상 방지.서버 추가 및 제거가 용이하여 애플리케이션 트래픽 예측 가능.중복성 추가로 안정성 강화.3) ..
대칭키 암호화대칭키 암호화(Symmetric Key Encryption)는 하나의 비밀키를 사용해 데이터를 암호화하고 복호화하는 방식입니다. 송신자와 수신자가 동일한 키를 공유하며, 암호화 속도가 빠르고 구현이 간단하여 널리 사용됩니다. 하지만 키 분배 문제와 키 관리의 어려움이 단점으로 지적됩니다. 암호화 방식 1. 블록형(Block Cipher) 입력을 고정된 크기의 블록으로 나누어 암호화하며, 각 블록은 독립적이거나 이전 블록과 연관된 방식으로 처리됩니다.AES (Advanced Encryption Standard)개요: 미국 NIST에서 표준화한 알고리즘. DES의 후속으로 개발.작동 방식:데이터를 128비트 크기로 나눔.초기 라운드 키 추가 후 여러 라운드를 거침.SubBytes: 비선형 치환 ..
게임 서버에서 삼각함수와 역삼각함수의 활용 먼저 알아야할 개념들삼각비와 삼각함수란?3변중 어느 2변의 비를 삼각비라 한다. \[ \frac{a}{c}, \quad \frac{c}{a}, \quad \frac{a}{b}, \quad \frac{b}{a}, \quad \frac{b}{c}, \quad \frac{c}{b} \] 가 모두 삼각비다. 그중 우리는 중요한 3가지의 비를 sinθ,cosθ,tanθ라 한다. B= θ일때\[ \sin \theta = \frac{높이}{빗변}, \quad \cos \theta = \frac{ 밑변 }{빗변}, \quad \tan \theta = \frac{ 높이 }{ 밑변 } \] 그리고 우린 sin,cos,tan중 하나의 값만 알아도 피타고라스정리로 나머지를 구할 수 ..
CPU는 컴퓨터의 주요 기능 구성 요소로서, 컴퓨터에서 모든 연산과 제어 작업을 처리하는 중요한 장치입니다. 컴퓨터의 두뇌라고도 할 수 있는 CPU는 다양한 프로그램과 운영 체제를 실행하고, 데이터를 처리하여 결과를 출력하는 역할을 합니다. CPU는 하나의 장치가 아니라 여러 구성 요소가 협력하여 작업을 처리하는 복합적인 시스템입니다.CPU의 세 가지 주요 구성 요소제어 장치 (Control Unit, CU)제어 장치는 컴퓨터의 각 부품에 명령을 전달하고 제어하는 역할을 합니다. 제어 장치는 프로그램 카운터와 명령어 레지스터를 사용하여 실행할 명령어의 순서를 제어하며, CPU 내의 다른 장치들과 협력하여 연산을 수행하게 합니다. 제어 장치는 데이터와 명령어 흐름을 관리하고, 프로그램 흐름을 제어하는 중요..
패킷 처리 및 데이터 전송1. 패킷의 구조패킷은 네트워크를 통해 데이터를 전송할 때 사용하는 작은 데이터 단위로, 특정한 형식에 따라 데이터를 포함합니다. 주요 구성 요소는 다음과 같습니다:헤더 (Header)패킷의 출발지, 목적지, 패킷 번호, 프로토콜 정보 등을 포함.데이터 전달 경로를 결정하고 오류를 처리하는 데 사용됩니다.예: IP 헤더(출발지 IP, 목적지 IP 등), TCP 헤더(포트 번호 등).페이로드 (Payload)실제 전송하려는 데이터.응용 계층의 데이터가 여기에 포함됩니다.트레일러 (Trailer)데이터 무결성을 검증하기 위한 정보(예: 오류 검출 코드).모든 패킷에 포함되지는 않습니다.2. 직렬화와 역직렬화 (Serialization & Deserialization)직렬화 (Seri..