(TIL) 2025-01-16
CPU(Central Processing Unit) CPU(중앙 처리 장치, Central Processing Unit)는 컴퓨터의 핵심 부품으로, 프로그램의 명령을 실행하고 데이터를 처리하는 역할을 한다. 일반적으로 CPU는 컴퓨터의 ‘두뇌’로 비유된다. CPU는 다양한 작업을 처리하는 중요한 기능을 담당한다. 구성 요소 연산장치(AL...
CPU(Central Processing Unit) CPU(중앙 처리 장치, Central Processing Unit)는 컴퓨터의 핵심 부품으로, 프로그램의 명령을 실행하고 데이터를 처리하는 역할을 한다. 일반적으로 CPU는 컴퓨터의 ‘두뇌’로 비유된다. CPU는 다양한 작업을 처리하는 중요한 기능을 담당한다. 구성 요소 연산장치(AL...
스레드(Thread) 스레드는 운영 체제에서 실행되는 프로그램의 가장 작은 실행 단위이다. 하나의 프로세스는 여러 개의 스레드를 가질 수 있으며, 같은 메모리 공간에서 동작하는 여러 실행 단위를 통해 병렬 처리가 가능하다. 특징 프로세스와의 관계: 프로세스: 독립된 실행 단위로, 고유한 메모리 공간(Code...
로드 밸런싱(Load Balancing) 네트워크 트래픽이나 작업 부하를 여러 서버, 리소스, 또는 네트워크 링크로 효율적으로 분산하여 시스템의 성능, 안정성, 그리고 가용성을 향상시키는 기술이다. 이를 통해 단일 서버(리소스)에 과도한 부하가 걸리지 않도록 하고, 사용자 요청을 신속하게 처리할 수 있다. 장점 고가용성(High Avai...
삼각함수(Trigonometric Functions) 삼각함수는 각도와 삼각형의 변 길이 사이의 관계를 나타내는 함수이다. 동경위의 점과 원점, X축에 내린 발이 직각삼각형을 이루기 때문에 삼각함수라고 한다. 주로 직각삼각형의 비율을 기반으로 하며, 수학, 물리학, 공학, 그리고 게임 개발에서 폭넓게 사용된다. 선분 OX의 길이를 r이라고 ...
트러블 슈팅 배경 과제 도전 기능 중 유저가 게임을 종료 했을 때 마지막 위치를 데이터 베이스에 위치를 저장하고 재접속을 했을 때 해당 위치에 재접속을 해야하는 기능이 있다. 게임을 종료 했을 때 저장 기능을 구현하고 테스트 하는 과정에서 유니티에서 테스트 했을 때와 빌드된 게임에서 테스트 했을 때 각각의 다른 문제가 발생했다. ...
트러블 슈팅 배경 멀티 플레이 과제 진행 중 클라이언트의 프로토 버프 타입에 맞게 서버의 프로토 버프 수정 후 테스트를 위해 값을 입력 후 접속하기 버튼을 눌렀지만 서버에는 오류가 없이 클라에서는 그림과 같이 화면이 변경되지 않는게 확인 되었다. 원인/분석 유니티에서 직접 테스트 빌드된 게임이다 보니 클라이언트 오류는 별도...
레이턴시(Latency) 레이턴시(latency)는 데이터가 전달되는 데 걸리는 시간으로, 요청이 발생한 순간부터 응답을 받기까지의 시간을 말한다. 통신 시스템, 네트워크, 컴퓨터 시스템 등에서 매우 중요한 개념으로, 시스템의 성능을 평가하는 주요 지표이다. 예시 Low Latency(낮은 레이턴시): 1ms~10ms (온라인 게...
삼각함수(Trigonometric Functions) 삼각함수는 각도와 삼각형의 변 길이 사이의 관계를 나타내는 함수이다. 동경위의 점과 원점, X축에 내린 발이 직각삼각형을 이루기 때문에 삼각함수라고 한다. 주로 직각삼각형의 비율을 기반으로 하며, 수학, 물리학, 공학, 그리고 게임 개발에서 폭넓게 사용된다. 선분 OX의 길이를 r이라고 ...
프로토파일(ProtoFile) 로드 프로토파일(ProtoFile)은 Protocol Buffers(약칭 protobuf)라는 데이터 직렬화 형식을 정의하는 파일이다. 프로토파일은 데이터 구조를 정의하는 역할을 하며, 컴퓨터 간에 데이터를 효율적으로 교환하기 위한 형식이다. 이 파일은 보통 .proto 확장자를 가지고 있고, 내부에 데이터를 어떻게...
트리(Tree) 트리(Tree)는 계층적(hierarchical) 데이터 구조로 여러 개의 노드(node)가 부모-자식 관계로 연결되어 있는 자료구조. 마치 나무가 땅에 뿌리를 내리고 가지를 뻗어나가는 것처럼, 트리도 하나의 루트(root) 노드에서 시작해 여러 개의 자식 노드를 가지며 뻗어나간다. A (루트) / \ B...
직렬화와 역직렬화 직렬화(Serialization)와 역직렬화(Deserialization)는 데이터를 효율적으로 저장하거나 전송하기 위해 데이터를 변환하고 다시 복원하는 과정을 말한다. 직렬화 정의 객체나 데이터를 연속적인 바이트(stream) 형태로 변환하는 과정. 목적 데이터 저장 또는 네트워크를 통한 전송. 사용 사례 데...
FACTS(사실, 객관) 알고리즘, 스탠다드 수업, 챌린지 수업, Websocket게임 팀 과제 FINDINGS(배운 것) 설계, 소통 FEELINGS(느낌, 주관) 여태까지 한 프로젝트 중에 아쉬움이 제일 많았던 프로젝트였다. 여태 프로젝트에서는 그래도 하고 싶었던 것들을 모두 만들고 했지만 이번에는 다 완성하지도 못했다...
FACTS(사실, 객관) 알고리즘, 스탠다드 수업, 챌린지 수업, Websocket게임 팀 과제 FINDINGS(배운 것) 설계, 소통 FEELINGS(느낌, 주관) 여태까지 한 프로젝트 중에 아쉬움이 제일 많았던 프로젝트였다. 여태 프로젝트에서는 그래도 하고 싶었던 것들을 모두 만들고 했지만 이번에는 다 완성하지도 못했다...
엔디안 엔디안(Endian)은 컴퓨터 시스템에서 데이터의 바이트 순서를 정의하는 방식이다. 컴퓨터가 데이터를 처리하거나 저장할 때, 여러 바이트로 이루어진 데이터(예: 정수, 실수 등)가 어떻게 배열되고 읽혀야 하는지를 나타낸다. 엔디안은 크게 빅 엔디안(Big Endian)과 리틀 엔디안(Little Endian) 두 가지 방식으로 나뉜다. ...
문자열 문자열(String): 문자(character)의 순서(sequence) 또는 배열(array). (예: “hello”는 문자 ‘h’, ‘e’, ‘l’, ‘l’, ‘o’로 구성된 배열) 알파벳 집합: 문자열은 특정 문자 집합(예: ASCII, Unicode)을 기반으로 정의된다. ASCII: 각 문자를 1바...
트러블 슈팅 배경 타워가 몬스터를 공격 했을 때의 핸들러 기능을 테스트 하던 중 타워의 공격 사거리가 유효한지 검증 하기 위해 몬스터의 위치 값을 확인하는 부분에서 클라이언트의 몬스터 x 값과 서버의 몬스터 x 값의 차이가 많이 나는 문제가 확인되었다. 원인 / 분석 서버 코드 xport const calculateMonster...
트러블 슈팅 배경 각 기능을 구현 한 뒤에 병합 후 테스트 하는 과정에서 일반 타워를 생성하고 해당 타워를 승급을 한 후에 신규 타워를 생성하게 되면, 신규 타워의 능력치가 초기 능력치가 아닌 이전 업그레이드 타워의 능력치로 생성되는 오류가 확인되었다. 원인 / 분석 // [1] 데이터 Asset 정보를 조회 하고 const { pawn...
FACTS(사실, 객관) 알고리즘, 스탠다드 수업, 챌린지 수업, Websocket게임 팀 과제 FINDINGS(배운 것) 메모리 주소값 FEELINGS(느낌, 주관) 이번주는 과제를 진행하면서 특별하게 배운 것은 없다. 클라이언트와 서버를 별도로 맡아 작업을 하고 있고 웹소켓의 핸들러 기능들을 구현하다 보니 해당 기능의 ...
TCP/IP 응용 계층 (Application Layer) TCP/IP 모델에서 응용 계층(Application Layer)은 네트워크 통신의 최상위 계층으로, 사용자가 직접 상호작용하는 부분을 포함한다. 주로 애플리케이션 간의 데이터 교환을 위한 서비스와 프로토콜을 제공한다. 역할 응용 계층은 네트워크를 사용하는 프로그램들에게 데이터를 전송...
GAME ROOM 과제 진행 중 게임 정보를 배열로 관리하려고 했으나 튜더님의 말씀으로 ‘ROOM 클래스’를 통해서 관리하는 방법에 대해서 생각해보라 라고 말씀하셔서 ROOM 클래스에 대해서 조사해봤다. 멀티플레이 게임에서 플레이어들이 모여 상호작용할 수 있는 공간(방)을 관리하는 데 사용되는 주요 개념이다. 이를 통해 플레이어 간의 동기화, 통...