목록TIL(Today I Learned) (64)
개발자공부일기
운영체제(OS)운영체제(OS, Operating System)는 컴퓨터 시스템의 핵심 소프트웨어로, 컴퓨터 하드웨어와 응용 프로그램 간의 상호작용을 관리하고 제어하는 역할을 한다. 운영체제의 목적은 사용자와 하드웨어 사이의 인터페이스를 제공해 효율적으로 응용 프로그램이 동작하도록 지원하고, 시스템 자원을 효율적으로 관리하여 응용 프로그램이 원활하게 동작할 수 있도록 한다. 운영체제의 코어(핵심) 부분을 커널(Kernel)이라고 하는데, 일반적으로는 커널에 여러가지 기능(라이브러리, 시스템 프로그램 등등)이 추가된 상태를 통칭해서 운영체제(OS)라고 한다.운영체제의 주요 역할프로세스 관리CPU와 같은 시스템 자원을 여러 프로세스가 효율적으로 사용할 수 있도록 관리합니다.프로세스 생성, 삭제, 상태 전환..
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..
대칭키 암호화대칭키 암호화(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 내의 다른 장치들과 협력하여 연산을 수행하게 합니다. 제어 장치는 데이터와 명령어 흐름을 관리하고, 프로그램 흐름을 제어하는 중요..
버퍼(Buffer)와 스트림(Stream) in Node.jsNode.js에서 버퍼와 스트림은 파일 처리, 네트워크 통신 등 대규모 데이터 처리를 효율적으로 수행하기 위한 핵심 개념입니다. 유튜브 스트리밍을 예로 들면, 이 두 개념이 어떻게 작동하는지 쉽게 이해할 수 있습니다.버퍼(Buffer)버퍼는 고정된 크기의 메모리 공간으로, 바이너리 데이터를 임시로 저장합니다. 주로 파일, 네트워크 프로토콜, 스트리밍 등에서 데이터가 처리되기 전에 저장하는 용도로 사용됩니다.유튜브 스트리밍에서 버퍼는 동영상 데이터를 재생 전에 임시로 저장하는 역할을 합니다.주요 특징고정 크기: 생성 시 크기가 결정되며, 이후 변경 불가.바이너리 데이터 처리: 데이터는 이진 형식으로 저장되어 직접 조작이 가능.임시 저장소 역할: ..