[Network] Load Balancing
·
IT/Network
로드 밸런싱 (Load Balancing) ● 로드밸런서(Load Balancer)는 서버에 가해지는 부하(=Load)를 분산(=Balancing) 해주는 장치 또는 기술을 통칭 ● 클라이언트와 서버풀(Server Pool, 분산 네트워크를 구성하는 서버들의 그룹) 사이에 위치 ● 한 대의 서버로 부하가 집중되지 않도록 트래픽을 관리해 각각의 서버가 최적의 상태를 유지 Q1. 로드밸런싱은 모든 경우에 항상 필요한가? - 로드밸런싱 = 여러 대의 서버를 두고 서비스를 제공하는 분산 처리 시스템에서 필요한 기술 - 서비스 제공 초기 단계에서는 적은 수의 클라이언트만 접속하기에 적은 서버로 응답이 가능 - 클라이언트 접속 수가 많아지면 적은 서버만으로는 정상적인 서비스가 불가능한 시점에 사용 ● Scale-u..
[Network] 대칭키/비대칭키 암호화
·
IT/Network
대칭키 암호화 (Symmetric Key Encryption)● 암호화와 복호화에 같은 키를 사용하는 방식  → 암호화와 복호화 과정이 빠르고, 구현이 간단하다.  → Why? 단일 키를 사용하기에 암호화와 복호화 과정에서 발생하는 연산 비용이 낮기 때문! ● 대표적인 알고리즘 : AES, DES, 3DES, SEED ● AES(Advanced Encryption Standard, 고급 암호화 표준) - 128bit, 192bit, 256bit 길이의 키를 지원 - 키가 길수록 보안성이 좋다 - 블록 크기 : 한 번에 처리되는 데이터의 크기 - AES의 블록 크기는 128bit로 고정 ● 단점 :  - 키를 안전하게 공유하고 저장해야 하는 어려움이 있다.    → 유출되면 보안이 취약해짐  - 사용자 수..
[게임수학] 삼각함수 / 역삼각함수
·
IT/게임수학
수... 학이요? ● 게임을 만드는데 수학이 필요할까? YES!  - 캐릭터의 위치 동기화, 밸런스 조절 등 수치가 필요한 곳은 전부 수학이다.  - 단, 간단한 게임을 만들 때에는 그렇게 많은 수학이 필요하지는 않다.  - 대규모 게임, 혹은 본격적으로 서비스할 게임을 만들기 시작한다면 수학은 필수! ● 그중에서 위치 동기화에 단골손님인 삼각함수, 역삼각함수에 대해 알아보고자 한다. 삼각함수● 각의 크기를 삼각비로 나타내는 함수                                                  이렇게 정석적인 설명을 보면 머리가 아파진다..  ● sin, cos, tan가 어떤 것인지 알 수 있는 직관적인 그래프 ▼  ● 가장 직관적인 '직각삼각형'을 사용하여 삼각함수에 대해 알아..
[Hardware] CPU
·
IT/Hardware
CPU (Central Processing Unit)● 중앙 처리 장치(Central Processing Unit), 서버의 핵심 계산 장치인 하드웨어 구성 요소● 데이터를 디지털 신호로 변환하고 이에 대한 수학적 연산을 수행● 모든 컴퓨팅 장치의 두뇌 역할 ● 구성 요소   ○ 제어 장치 : - 명령 처리 관리 및 CPU 내부 및 다른 컴퓨터 구성 요소들 간의 데이터 흐름 조정                       - 명령 디코더 구성 요소가 메모리에서 가져온 명령을 해석하여 CPU가 실행 가능하게                         마이크로 연산으로 변환   ○ 레지스터(Register)    - CPU 내의 소형 고속 메모리 저장 위치    - 현재 작업 중인 데이터를 보관, 데이터에 빠르..
[Server] TCP Server - Buffer
·
IT/Server
JavaScript에서 Buffer란?● Node.js에서 이진 데이터를 다루기 위한 특별한 객체 ● JavaScript 문자열 = UTF-16 형식으로 인코딩 되어 있어 이진 데이터를 효율적 처리가 어렵다.더보기UTF-16?- 유니코드 문자를 16bit(2byte) 단위로 인코딩하는 방식- 대부분의 일반적인 문자는 하나의 16bit 단위로 표현되지만, 일부 문자(보조 평면의 문자 등)는  두 개의 16비트 단위(서로게이트 페어)로 표현된다.● Buffer 객체(object)는 원시적인 이진 데이터를 저장하고 조작하는데 최적화되어 있다.  그래서 Buffer 객체를 쓰면 좋은 점?● 이진 데이터를 다루기 위해 고안된 객체이기에 UTF-16의 비효율성을 해결  ○ 고정 길이 : 고정된 크기의 바이트 배열이..
[네트워크] OSI 7계층 - 세션, 표현, 응용
·
IT/Network
Session Layer (세션 계층)● OSI 7계층 모델의 5번째 계층, 주로 응용 프로그램 간의 통신 세션을 설정, 관리, 종료하는 역할을 담당● 데이터 전송 과정에서 연결을 유지하고 동기화하며, 오류 발생 시 복구를 지원● 주요 기능 :  ○ 세션 관리 : 세션 설정, 유지 및 종료를 담당  ○ 동기화 : 데이터 전송 중 체크포인트를 설정하여 오류 발생 시 복구를 지원  ○ 대화 제어 : 반이중(Half-Duplex), 전이중(Full-Duplex) 등의 통신 모드 관리더보기Half Duplex?- Sender와 Receiver 사이의 통신은 한번에 하나식이지만 '쌍방향'으로 이루어짐- Sender와 Recevier는 정해진 시간 안에 정보를 전송하고 수신→ 대표적으로 무전기 같은 느낌 Full-..
[Server] IOCP
·
IT
Input/Output Completion Port (IOCP)● Windows 운영 체제에서 비동기 입출력 작업을 처리하기 위한 작동 과정 중 하나 ● 고성능 네트워크 서버나 파일 처리 애플리케이션에서 사용됨 ● 적은 수의 스레드로 다수의 클라이언트 요청을 효율적으로 처리할 수 있도록 설계된   이벤트 기반 큐 시스템 Overlapped I/O?● Overlapped, 중첩 된다는 뜻으로, 하나의 스레드가 한 번에 하나의 I/O만을 처리하는 것이 아닌,   여러 개의 IO를 다루는 기술 ● 기존 동기식 IO는 하나 요청 한 후 완료될 때까지 기다려야함   → 비동기 IO 사용하면, 입출력 요청 보낸 이후 나중에 그 입출력 결과 받을 수 있다. Overlapped I/O → IOCP● IOCP는 Over..
[네트워크] OSI 7 계층 - 전송 계층
·
IT/Network
전송 계층 (Transport Layer)● 네트워크 통신에서 종단간(end-to-end) 데이터 전송을 신뢰성 있게 보장하는 역할● 송신 측과 수신 측 사이의 연결을 관리하고 데이터 전송의 효율성과 안정성을 제공● 대표적으로 연결형과 비연결형 프로토콜이 있는데 TCP, UDP가 있다. TCP(Transmission Contorl Protocol, 전송 제어 프로토콜)● 인터넷을 통해 디바이스에서 웹 서버로 데이터를 전송하는 프로토콜● TCP/IP 프로토콜로 불리기도 함● 메신저에서 채팅, 이메일, 온라인 동영상 시청, 웹 검색 할 때 주로 사용● 연결형 프로토콜?  ○ 데이터를 전송하는 동안 수신자와 발신자 사이에 연결을 설정하고 유지  ○ 데이터가 온전하게 도착하도록 보장  ○ 신뢰성을 보장하기 때문..
[네트워크] 서브넷 마스크
·
IT/Network
서브넷 마스크(Subnet Mask)란?● IP 주소를 나눈 작은 네트워크 조각● 32비트의 숫자로 '0'의 비트는 호스트 부분, '1'의 비트는 네트워크 부분 서브넷(Subnet)이 무엇인가?● 네트워크가 작은 조각으로 쪼개져 있는 경우 이 조각이 서브넷● 서브넷 = 작은 네트워크● 네트워크 성능 개선을 위해 네트워크 관리자가 효율적으로 자원을 분배하는 것   = Subnetting ● 장점 :  - 관리하기 쉽다.  - 고급 네트워크 보안이 가능하다.  - 네트워크 트래픽이 감소한다.  - 네트워크 서브네팅 시 인터넷 서비스 업체(ISP)로부터 추가 IP 주소 받을 필요가 없다. → 단, 추가 하드웨어가 필요한 경우가 종종 있기 때문에 추가 비용이 발생할 수 있다. 서브넷 마스크는 도로명 주소와 번지..
[네트워크] TCP/IP
·
IT/Network
TCP/IP(Transmission Control Protocol/Internet Protocol)● TCP :   - Transmission Control Protocol 전송제어 프로토콜, 한 기기에서 다른 기기로 데이터를 전송 ● IP :  - Internet Protocol 인터넷 프로토콜, 데이터 조각을 최대한 빨리 대상 IP 주소로 보내는 역할 TCP/IP 4 계층● TCP/IP는 통신 규칙의 모음이며, 프로토콜 스위트(Protocol Suite)라고 부르기도 함   ○ 응용 계층(Application Layer) - TCP/IP Protocol 제4 계층    - Application, '앱'이라 부르는 프로그램에 해당하며 사용자가 상호작용하기 가장 쉬운 계층    - 사용자가 (사람 or ..