
★KEYWORD★CBD 개발방법론(Component Based Development) / 컴포넌트를 조합해 재사용함으로써 개발 생산성과 품질을 높이고 시스템 유지보수 비용을 최소화할 수 있는 개발방법론 컴포넌트 기반 소프트웨어 공학(Component-based software engineering, CBSE), 컴포넌트 기반 개발(component-based development, CBD)기존의 시스템이나 소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운 응용 프로그램을 만드는 소프트웨어 개발방법론이다. 기업들은 쇼핑바구니, 사용자 인증, 검색엔진, 카탈로그 등 상업적으로 이용 가능한 컴포넌트를 결합하여 그들의 전자상거래 응용 프로그램을 개발하는 컴포넌트 기반 개발을 사용한다. 이를 구현하기 위해서..

오토마타 이론(영어: Automata Theory)계산 능력이 있는 추상 기계와 그 기계를 이용해서 풀 수 있는 문제들을 연구하는 컴퓨터 과학의 분야이다.여기서 추상 기계를 오토마타(automata, 복수형) 또는 오토마톤(automaton, 단수형), 즉 자동 기계라고 부른다.이 이름은 '자동'을 의미하는 그리스어 'αὐτόματα'에서 유래하였다. 일반적으로 오토마타는 적어도 유한한 상태를 갖고, 입력을 받아 입력에 따라 일정하게 상태를 전이하며, 출력을 내놓는다. 이는 알고리즘이 요구하는 것, 즉 계산 문제를 해결할 능력과 같다. 계산 문제는 일반적으로 오토마타의 능력에 맞게 결정 문제로 환산되며, 이 때 추상 기계와 형식 언어, 형식 문법은 불가분의 관계가 된다. 따라서 오토마타는 언어와 문법과 ..

★KEYWORD★유한 상태 기계 (FSM) / 상태(state)를 기반으로 동작을 제어하는 방식을 구현하기 위한 게임 디자인 패턴 /한 번에 하나의 상태만을 가짐유한 상태 기계 (Finite-state machine)정의유한 상태 기계(finite-state machine, FSM) 또는 유한 오토마톤(finite automaton, FA; 복수형: 유한 오토마타 finite automata)는 컴퓨터 프로그램과 전자 논리 회로를 설계하는 데에 쓰이는 수학적 모델이다. 간단히 '상태 기계'라고 부르기도 한다. 유한 상태 기계는 유한한 개수의 상태를 가질 수 있는 오토마타, 즉 추상 기계라고 할 수 있다. 이러한 기계는 한 번에 오로지 하나의 상태만을 가지게 되며, 현재 상태(Current State)란 ..

★KEYWORD★셰이더, Shader, 그래픽 하드웨어의 렌더링 효과 계산, 렌더링 파이프라인 프로그래밍 Shader (셰이더)컴퓨터 그래픽스 분야에서 셰이더(shader)는 소프트웨어 명령의 집합으로 주로 그래픽 하드웨어의 렌더링 효과를 계산하는 데 쓰인다.셰이더는 그래픽 처리 장치(GPU)의 프로그래밍이 가능한 렌더링 파이프라인을 프로그래밍하는 데 쓰인다.셰이더는 표면상으로 무한해 보이는 효과를 만들기 위해 영화 후처리, CGI, 비디오 게임에 널리 쓰인다. 단순한 광원 모델을 떠나, 더 복잡한 이용에는 영상의 색조, 채도, 밝기, 대비를 변경하는 일과 블러, 라이트 블룸, 입체 광원, 심도 효과를 위한 노멀 매핑, 보케, 셀 셰이딩, 포스터리제이션, 범프 매핑, 왜곡, 크로마 키 (이른바 블루스크린..

★KEYWORD★컴파일 / CPU가 이해할 수 있는 언어로 번역하는 것 / 4가지 과정 / 전처리 / 컴파일 / 어셈블리 / 링킹컴파일(Compile) 이란?컴파일은 인간이 이해할 수 있는 언어로 작성된 소스 코드(고수준 언어 : C, C++, Java 등)를 CPU가 이해할 수 있는 언어(저수준 언어 : 기계어)로 번역(변환)하는 작업을 말한다.우리가 C, C++, Java로 작성하는 소스 코드는 컴퓨터가 이해할 수 없다. 컴퓨터는 0, 1로 이루어진 기계어만 이해할 수 있기 때문이다.따라서 우리가 작성한 소스 코드를 컴퓨터가 이해할 수 있게 0, 1로 이루어진 기계어로 번역하는 컴파일 과정이 필요하다.소스 코드는 컴파일을 통해 기계어로 이루어진 실행 파일이 된다. 이 파일을 실행하면 실행 파일 내용이..

★KEYWORD★입출력 스트림 / 바이트 스트림과 문자 스트림 / 하드웨어에 직접 접근 / InputStream / OutputStream 스트림컴퓨터 내부 또는 외부 장치와 프로그램 간의 데이터를 주고 받는것을 입출력이라 한다. 장치와 입출력을 하기 위해서는 하드웨어 장치에 직접 접근이 필요한데 다양한 매체에 존재하는 데이터들을 사용하기 위해 입출력 데이터를 처리할 공통적인 방법으로 스트림을 사용한다.바이트와 문자에 대한 스트림의 종류는 다음과 같다.바이트 스트림 : 바이트 단위문자 스트림 : 문자 단위 바이트 스트림 (Byte Stream)바이트 스트림은 데이터를 Byte(바이트) 단위로 주고받는 것을 말하고, 1byte를 입출력할 수 있는 스트림이다.또한 입.출력 스트림을 통해 흘러가는 데이터의 기..