[스터디] 시스템 프로그래밍 - Chapter 4. 컴퓨터 구조에 대한 두 번째 이야기
·
독서/뇌를 자극하는 윈도우즈 시스템 프로그래밍
뇌를 자극하는 윈도우즈 시스템 프로그래밍(저자, 윤성우) 01. 컴퓨터 구조의 접근방법 컴퓨터 구조의 근본적인 이해는 쓰레드와 프로세스를 이해하는 것에 큰 도움이 된다. 컴퓨터를 구성하는 요소를 가지고 가상의 컴퓨터 모델을 디자인해보자. - 컴퓨터 디자인 CPU를 구성하는 기본적인 요소는 ALU, 컨트롤 유닛 그리고 레지스터다. ALU와 컨트롤 유닛은 이미 존재한다고 가정하고 레지스터만을 가지고 디자인해보자. - 레지스터 디자인 1. 레지스터를 몇 비트로 구성할 것인가? 2. 몇 개 정도로 레지스터를 구성할 것인가? 3. 레지스터 각각을 무슨 용도로 사용할 것인가? 위에 있는 3개의 요소는 레지스터 디자인의 핵심이다. 64비트 컴퓨터라면, 64비트 레지스터로 디자인을 해야겠지만 이는 초심자의 입장에서 부..
[스터디] 시스템 프로그래밍 - Chapter 3. 64비트 기반 프로그래밍
·
독서/뇌를 자극하는 윈도우즈 시스템 프로그래밍
뇌를 자극하는 윈도우즈 시스템 프로그래밍(저자, 윤성우) 01. WIN32 vs WIN64 이전까지는 32 Bit 기반의 시스템이 대부분이었으나, 지금은 64 Bit 기반의 시스템이 주류를 이루고 있다. 32 Bit와 64 Bit 시스템은 서로 다른 부분이 존재하기 때문에 두 시스템의 차이에 대해서 살펴보자. - 64 Bit, 32 Bit 한 번에 전송 및 수신할 수 있는 데이터의 크기에 따라서 32 Bit와 64 Bit 시스템이 나뉘게 된다. 32 Bit 데이터를 송·수신한다면 32 Bit 기반 시스템이고 64 Bit 데이터를 송·수신한다면 64 Bit 기반 시스템이다. 송·수신할 수 있는 데이터의 크기가 크다면 프로그래머에게는 무척 긍정적인 일이다. 표현할 수 있는 데이터의 범위가 넓기 때문이다. 3..
[스터디] 시스템 프로그래밍 - Chapter 2. 아스키코드 vs 유니코드
·
독서/뇌를 자극하는 윈도우즈 시스템 프로그래밍
뇌를 자극하는 윈도우즈 시스템 프로그래밍(저자, 윤성우) 01. Windows에서의 유니코드(Unicode) - 문자셋Character Sets의 종류와 특성 가장 대표적인 문자셋에 해당하는 아스키코드ASCII CODE와 유니코드UNICODE에 대해서 살펴보자. 아스키코드는 미국에서 정의한 표준이며 알파벳의 개수는 26개다. 확장 문자를 포함해도 256개를 넘지 않는다. 그렇기 때문에 1바이트로 충분히 표현 가능하다. 하지만 다른 언어를 사용하는 문화권에서는 아스키코드를 사용하기에 적절하지 않다. 이때, 모든 문자를 균일하게 2바이트를 사용해서 나타내는 유니코드가 나타났다. 2바이트로는 65,536개(256 * 256)의 문자를 나타낼 수 있다. 문자셋 vs 인코딩 : 문자셋은 문자 집합을 의미하고, 인..
[스터디] 시스템 프로그래밍 - Chapter 1. 컴퓨터 구조에 대한 첫 번째 이야기
·
독서/뇌를 자극하는 윈도우즈 시스템 프로그래밍
뇌를 자극하는 윈도우즈 시스템 프로그래밍(저자, 윤성우) 01. 시스템 프로그래밍의 이해와 접근 - 시스템 프로그래밍의 정의 시스템 프로그래밍을 알아보기 위해서 시스템 프로그램에 대해서 먼저 알아보자. 시스템 프로그램은 하드웨어를 사용할 수 있도록 도와주는 소프트웨어를 말한다. 대표적으로 Window, Linux, Mac, 등과 같은 OS가 있다. 그렇다면 시스템 프로그래밍은 하드웨어의 성능을 사용해서 작업할 수 있게 프로그램을 만드는 행위라고 설명할 수 있다. - 왜 우리는 시스템 프로그래밍을 공부해야 할까? 소프트웨어를 개발하는 입장에서 시스템 프로그래밍의 중요도는 높다. 하드웨어의 성능을 이용한다고 말하면 단순히 전산학이나 전기 회로, 등의 전공에서 중요도가 부각될 것 같지만, 하드웨어의 구조를 이..
[스터디] 시스템 프로그래밍 - 0
·
독서/뇌를 자극하는 윈도우즈 시스템 프로그래밍
3. Tutorial 시스템 리팩터링 일지 (2)
·
개발 일지/퓨처리티
3. Tutorial 시스템 리팩터링 일지 (2) 앞서 이야기를 적은 내용인데, 튜토리얼 시스템에는 크게 Perform 시스템과 Dialog 시스템이 존재한다. Perform의 경우에는 튜토리얼 내부에서만의 사용이 결정되었기에 해당 스크립트를 사용하게 될 프로그래머가 나 혼자일 것이고, 사용 범위가 적으니 크게 부담이 없는 시스템이었다. 하지만, Dialog 시스템은 Perform 시스템과 다르게 게임 전역에서 광범위하게 사용이 될 예정(개발하고 있는 게임이 액션 RPG에 스토리가 있기 때문)이기 때문에 나 말고도 다른 작업자가 사용을 할 수 있다는 점에서 고민이 깊었다. 각자 시스템의 공통 요소를 찾기. Dialog 시스템에서 사용되는 타입이 4가지가 있었다. 한 마디로 디자인이 다른 4개의 Dialo..