반응형
[컴퓨터 구조] 캐시 메모리 (Cache Memory)
PROGRAMMING/01. 컴퓨터 구조2024. 4. 9. 20:31[컴퓨터 구조] 캐시 메모리 (Cache Memory)

★KEYWORD★캐시메모리 / 속도 차에 따른 병목 현상을 줄이기 위한 범용 메모리 캐시 메모리(Cache Memory) 란?캐시 메모리(cache memory)는 속도가 빠른 장치와 느린 장치 사이에서 속도 차에 따른 병목 현상을 줄이기 위한 범용 메모리이다. 대표적으로, 속도가 빠른 CPU 코어와 속도가 느린 메모리 사이에서 속도 차에 따른 병목 현상을 완화하는 역할을 한다. CPU는 메모리에 저장된 데이터를 읽어오는데, 자주 사용하는 데이터를 캐시 메모리에 저장하면 그 데이터를 다시 사용할 때는 메모리가 아닌 캐시 메모리에서 데이터를 읽어올 수 있다.캐시(cache)란 무엇일까?캐시(cache, 문화어: 캐쉬, 고속완충기, 고속완충기억기)는 컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소..

[C#] StreamWriter와 StreamReader
PROGRAMMING/03. C#2024. 4. 8. 19:05[C#] StreamWriter와 StreamReader

StreamWriter와 StreamReader우리는 C#에서 파일을 읽고 쓰기 위한 스트림으로 StreamReader와 StreamWriter를 사용할 수 있다.File 클래스도 있긴 하지만 읽고 쓸 땐 StreamReader와 StreamWriter을 더 많이 사용한다이 클래스들은 System.IO 네임스페이스에 선언되어 있으므로 사용하기 위해서는 System.IO를 using 해줘야 한다.(C# - 유니티예제) Stream Writer : 파일 쓰기( ) 부분에는 파일에 대한 절대 경로가 들어간다.WriteLine은 한 줄씩 쓰는 것이다.숫자도 가능하다.Stream Writer는 열었으면 무조건 닫아줘야 한다. 따라서 Close()를 반드시 콜 해줘야 한다. 그렇게 하지 않으면, 파일이 열린 상태로..

[C#] 박싱(Boxing), 언박싱(Unboxing)
PROGRAMMING/03. C#2024. 4. 8. 18:20[C#] 박싱(Boxing), 언박싱(Unboxing)

박싱(Boxing) 이란?값 형식의 데이터를 참조 형식으로 변환하는 것이다.항상 할당과 복사를 하기 때문에 Overhead를 초래할 가능성이 있다.123int a = 10; (값형식) Object b = a; (참조형식)cs 12345678910111213Listobject> list = new Listobject>(); list.Add("First");  //  String도 참조형식이기 때문에 Boxing은 일어나지 않는다. for (int i = 1; i  5; i++)    list.Add(i);    // Boxing : i는 int형이기 때문에 object로 변환한 것이기 때문에 Boxing이 일어난다 list.Add("Second"); for (int i = 5; i  10; i++)    ..

[C#] 구조체 (Struct)
PROGRAMMING/03. C#2024. 4. 8. 17:38[C#] 구조체 (Struct)

구조체(Struct) 란?구조체는 사용자 정의 데이터 유형(Data Type)으로 int, double 등과 같은 기본적으로 제공되는 변수 유형이 아닌 새로운 유형, 여러가지 유형을 사용하기위해 사용자가 직접 만들어 사용하는 것이다.C#에서 구조체는 일반 변수와 같이 값 형식의 데이터 형식이다.구조체(Struct) 정의하기구조체를 정의하려면 struct 문을 사용한다struct문은 두 개 이상의 멤버가 있는 새로운 데이터 형식을 정의한다.예를들어, 'Angle'이라는 변수를 만들려고할 때 필요한 멤버들은 degress, minutes, second 가 있다.이를 Student 구조체로 만드는 방법은 다음과 같다.123456public struct Angle{    private int degrees;  ..

[C#] Thread(스레드)
PROGRAMMING/03. C#2024. 4. 8. 17:12[C#] Thread(스레드)

★KEYWORD★프로레스 내에서 실행되는 흐름의 단위 / 멀티스레드 / 작업 동시 처리Thread(스레드) 란?어떠한 프로그램 내에서, 특히 프로세스(컴퓨터에서 실행되고 있는 컴퓨터 프로그램) 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 실행 방식을 멀티스레드(multithread)라고 한다.특히 게임 서버쪽에서는 멀티스레드가 중요한데, 각 플레이어의 액션, 게임 내의 이벤트, 데이터 동기화 등 다양한 작업들을 동시에 처리해야 하기 때문이다. 게임 엔진 스레드- Update (GameLogic Thread [게임 로직을 처리하기 위함])유니티 업데이트 함수 / 계속 처리될 거- R..

[C#] 직렬화 & 역직렬화
PROGRAMMING/03. C#2024. 4. 7. 16:19[C#] 직렬화 & 역직렬화

★KEYWORD★객체를 파일의 형태 등으로 저장하거나 통신하기 쉬운 포맷으로 변환하는 과정, Serilalization, 마샬링, 역직렬화, Txt, Bin직렬화 (Serialization)컴퓨터 과학의 데이터 스토리지 문맥에서 데이터 구조나 오브젝트 상태를 동일하거나 다른 컴퓨터 환경에 저장(이를테면 파일이나 메모리 버퍼에서, 또는 네트워크 연결 링크 간 전송)하고 나중에 재구성할 수 있는 포맷으로 변환하는 과정이다. 오브젝트를 직렬화하는 과정은 오브젝트를 마샬링(참고 : https://lake0989.tistory.com/125)한다고도 한다. 반대로 일련의 바이트로부터 데이터 구조를 추출하는 일은 역직렬화(Deserialization)이라고 한다. ➡️직렬화는 객체를 파일의 형태 등으로 저장하거나,..

반응형
image