반응형

공부 624

3. 물체에 대한 수학 2 - 삼각형과 정점

물체에 대한 수학 2 - 삼각형과 정점 🤗 지난 영상에 이어 이번 영상은 점에 대한 수학에 관해 이야기하겠습니다. 이전에 이야기했던 것처럼 게임에서의 벡터 공간은 크게 1. 물체를 표현하는 공간 2. 이동을 위한 공간으로 구분되어 관리합니다. 해당 공간의 각각 요소들을 점과 벡터로 구분해 부른다고 이야기했습니다. 즉, 벡터는 용도에 따라 1. 물체를 구성하는데 사용하는 점과, 2. 물체를 이동하는데 사용하는 이동 벡터로 나누어집니다. 이를 자세히 알아보기 위해서 두 공간이 어떻게 구성되는지를 설명하겠습니다. 먼저 3차원 공간에서 이동 구현을 위해서는 4차원이 필요하다고 했습니다. 그렇지만 4차원 공간을 그림으로 설명할 수 없으므로 어쩔 수 없이 2차원 물체의 2차원 이동을 3차원 공간을 통해 예를 들겠습..

2. 물체에 대한 수학 1 – 이동 변환의 구현 원리

물체에 대한 수학 1 – 이동 변환의 구현 원리 😀 물체에 대한 수학이란? 게임에서 사용하는 가상 공간의 체계와 물체를 구성하는데 사용하는 수학입니다. 지난 시간, 게임에서 사용하는 가상세계는 다차원으로 구성된 수의 데이터인 벡터 공간*으로 구성되어 있다고 설명했습니다. *벡터 공간 : 게임이 사용하는 가상 공간의 본질 벡터 공간이란? 공간이라는 단어를 사용하지만 사실 어떠한 대상이나 물체가 가진 성질을 표현하는 데이터입니다. 따라서 우리가 자유롭게 걸어 다니는 현실 세계의 공간의 개념과 조금 거리가 있습니다. 즉 이런 벡터 공간의 공간과 현실 세계의 공간은 다른 개념입니다. *벡터 공간 : 어떤 대상의 성질을 표현하는데 사용되는 데이터 이러한 벡터 공간이 현실 세계의 공간과 다른 개념을 가지더라도 우리..

윤성우의 열혈 C 프로그래밍 Chapter25 메모리 관리와 동적 할당

메모리 구조 메모리의 구성 코드 영역, 데이터 영역, 힙 영역, 스택 영역으로 나눠진다. 영역별로 저장되는 데이터 유형 코드 영역 : 실행할 프로그램의 코드가 저장되는 메모리 공간 데이터 영역 : 전역번수와 Static 변수가 할당되는 곳. 프로그램 종료시 까지 남아있게 된다는 특징이 있다. 스택 영역 : 지역변수와 전역변수가 할당되는 곳. 함수를 빠져나가면 소멸된다는 특징이 있다. 힙 영역 : 프로그래머가 원하는 시점에 변수를 할당하고 소멸하도록 지원하는 영역 메모리의 동적 할당 힙 영역의 메모리 공간 할당과 해제 | malloc, free // 힙 영역으로 메모리 공간 할당 void * malloc (size_t size); // 힙 영역으로 메모리 공간 해제 void free(void * ptr) ..

1. 공간의 수학 : 게임 수학의 개요

공간의 수학 : 게임 수학의 개요 😎 공리란? 수학에서 반박하지 못하는 자명한 전제이다. 공리에서부터 시작해 하나씩 쌓아나가기. 프로그램에 구현하는데 필요한 수학에 필요한 정의와 공식들을 쭉 나열하여 이것을 바탕으로 학생들에게 가르칠 내용을 정리하였다. 가르칠 내용의 정리된 결과를 살펴보니 게임 개발을 위해서 알아야 할 수학이 적지 않았다. 이를 또 분류해보니 다음과 같이 3가지로 나누어 볼 수 있었다. 1. 공간에 대학 수학 2. 물체에 대한 수학 3. 회전에 대한 수학 공간에 대한 수학이란? 우리가 사는 현실 세계를 모방한 가상세계라고 한다. 그렇다면 '게임 세상이 현실 세계와 똑같구나.' 라고 생각할 순 있지만, 현실 세계가 움직이는 원리와 게임 세상이 움직이는 원리는 완전히 다르다. 현실 세계의 ..

윤성우의 열혈 C 프로그래밍 Chapter26 매크로와 선행처리기

선행처리기와 매크로 선행처리는 컴파일 이전의 처리를 의미 선행처리가 하는 일은 지극히 단순하다. 우리가 삽입해 놓은 선행처리 명령문대로 소스코드의 일부를 수정할 뿐인데 여기서 말하는 수정이란 단순 치환의 형태를 띠는 경우가 대부분이다. 예) #define PI 3.14 이처럼 선행처리 명령문은 # 문자로 시작하며, 컴파일러가 아닌 선행처리기에 의해 처리되는 문장이기 때문에 명령문의 끝에 세미콜론을 붙이지 않는다. 그리고 이렇게 이렇게 구성된 명령문은 성행처리기에 다음과 같은 메시지를 전달한다. PI를 만나면 3.14로 치환하여라. 참고로 여기서 말하는 선행처리란, 컴파일 이전의 처리를 의미한다. 따라서 소스파일은 컴파일러에 의허 컴파일 되기 이전에 선행처리기에 의해 선행처리의 과정을 거치게 된다고 이야기..

2020년 정보처리기사 실기 정리 #12

제품 소프트웨어 패키징 개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태로 포장하는 과정 제품 소프트웨어 패키징 특징 전체 내용을 포함 설치와 사용에 필요한 과정 및 환경 등의 전체 내용을 포함하는 매뉴얼을 작성 버전 관리 / 릴리즈 노트 제품 SW에 대한 패치 개발과 업그레이드 수행 고객 편의성을 위해 신규/변경 이력을 확인하고 이를 버전 관리 및 릴리즈 노트를 통해 지속적으로 관리 고객 중심 제품 SW 패키징은 고객 편의성 중심 제품 SW는 개발자가 아닌 사용자 중심으로 진행 모듈화 신규 및 변경 개발 소스를 식별하고 이를 모듈화하여 패키징 모듈화 모듈을 이용해 소프트웨어의 성능을 향상시키거나 시스템의 디버깅, 시험, 통합 및 수정을 용이하도록 하는 SW 설계 기법 모듈 SW 설계에서 기능..

2020년 정보처리기사 실기 정리 #11

운영체제 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해주는 소프트웨어 윈도즈 운영체제 특징 (지선자오) 그래픽 사용자 인터페이스 제공 키보드 없이 마우스로 아이콘이나 메뉴를 선택하여 작업을 수행하는 그래픽 기반의 인터페이스 방식 선점형 멀티태스킹 방식 제공 동시에 여러 개의 프로그램을 실행하면서 운영체제가 각 작업의 CPU 이용 시간을 제어 자동 감지 기능 제공 하드웨어를 설치했을 때 필요한 시스템 환경을 운영체제가 자동으로 구성해주는 기능 OLE 사용 개체를 현재 작성 중인 문서에 자유롭게 연걸 또는 삽입하여 편집할 수 있게 하는 기능 제공 유닉스 교육 및 연구 기관에서 사용되는 범용 다중 사용자 방식의 시분할 운영체제 유닉스 운영체제 특징 (대다사이계) 대화식 운영체제 기능 ..

2020년 정보처리기사 실기 정리 #10

프로그래밍 기본 용어 변수 어떤 값을 주기억장치에서 기억하기 위해서 사용하는 공간 식별자 프로그램의 구성요소를 구별하기 위한 기준 바인딩 변수와 변수에 관련된 속성을 연결하는 과정 정적 바인딩과 동적 바인딩으로 구분 정적 바인딩 : 프로그램 실행 시간 전에 속성을 연결하는 방식 동적 바인딩 : 프로그램 실행 시간에 속성을 연결하는 방식 선언 변수에 이름, 데이터 타입 등의 속성을 부여하는 직업 명시적 선언과 묵시적 선언으로 구분 명시적 선언 : 선언문을 이용하여 변수 이름을 나열하고 속성을 부여하는 방식 묵시적 선언 :별도의 선언문 없이 디폴트 규칙에 의해 속성이 부여되는 방식 영역 이름이 사용되는 범위를 의미, 정적 영역과 동적 영역으로 구분 정적 영역 : 변수를 찾을 때 구조에 기반하는 방식 동적 영..

2020년 정보처리기사 실기 정리 #9

SW 개발 보안 소스 코드 등에 존재하는 보안 취약점을 제거하고, 보안을 고려해 기능을 설계 및 구현하는 등 SW 개발 과정에서 지켜야 할 일련의 보안 활동을 말한다. SW 개발 보안의 3대 요소 (기무가) 기밀성 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단하는 특성 가용성 권한을 가진 사용자나 애플레케이션이 원하는 서비스를 지속 사용할 수 있도록 보장하는 특성 무결성 정당한 방법을 따르지 않고선 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의/악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성 SW 개발 보안 용어 (자위취위) 자산 조직의 데이터 또는 조직의 소유자가 가치를 부여한 대상 위협 조직이나 기업의 자산에 악영향을 끼칠 수 있는 사건이나 행위 취..

2020년 정보처리기사 실기 정리 #8

프로시저 절차형 SQL을 활용해 특정 기능을 수행할 수 있는 트랜잭션 언어 프로시저 구성 (디비컨 SET) 선언부, 시작/종료부, 제어부, SQL, 예외부, 실행부 선언부 프로시저의 명칭, 변수와 인수 그리고 그에 대한 데이터 타입을 정의하는 부분 시작/종료부 프로시저의 시작과 종료를 표현하는 곳 BEGIN/END가 쌍을 이룸 제어부 기본적으로 순차적으로 처리 SQL DML을 주로 사용 예외부 BEGIN~END 절에서 실행되는 SQL 문이 실행될 때 예외 발생시 예외 처리 방법을 정의하는 처리부 실행부 트리거에서 수행된 DML 수행 내역의 DBMS의 적용 또는 취소 여부를 결정하는 처리부 선언부 CREAT DBMS 내 객체를 생성 OR REPLACE 기존 프로시저 존재 시 현재 컴파일하는 내용으로 덮어씀..

2020년 정보처리기사 실기 정리 #7

소프트웨어 테스트 개발된 응용 어플리케이션이나 시스템이 사용자가 요구하는 기능과 성능, 사용성, 안정성 등을 만족하는지 확인하고 노출되지 않은 숨어있는 소프트웨어의 결함을 찾아내는 활동 소프트웨어 테스트 (발예항) 오류 발견 관점 : 프로그램에 잠재된 오류를 발견하고 이를 수정하여 올바른 프로그램을 개발하기 위해 필요 오류 예방 관점 : 프로그램 실행 전에 동료 검토, 워크스루, 인스펙션 등을 통해 오류를 사전에 발견하는 예방 차원의 필요 품질 향상 관점 : 사용자의 요구사항 및 기대 수준을 만족하도록 반복적인 테스트를 거쳐 제품의 신뢰도를 향상하는 품질 보증을 위해 필요 소프트웨어 테스트 원리 (결완초집 살정오) 테스팅은 결함이 존재함을 밝히는 것 결함이 존재함을 밝히는 활동, 결함이 없다는 것을 증명..

2020년 정보처리기사 실기 정리 #6

UI 넓은 의미에서 사용자와 시스템 사이에서 의사소통 할 수 있도록 고안된 물리적, 가상의 매개체 좁은 의미에서 정보 기기나 SW의 화면 등에서 사람이 접하게 되는 화면 UI의 유형 (CGNO) CLI 텍스트 기반 인터페이스 명령어를 텍스트로 입력하여 조작하는 사용자 인터페이스 GUI 그래픽 반응 인터페이스 그래픽 환경을 기반으로 마우스나 펜을 이용하는 사용자 인터페이스 NUI 직관적 사용자 반응 기반 인터페이스 키보드나 마우스 없이 신체 부위를 이용하는 사용자 인터페이스 OUI 유기적 상호작용 인터페이스 현실에 존재하는 모든 사물이 입출력장리초 변화할 수 있는 사용자 인터페이스 UI 설계 원칙 (직유학연) 직관성 누구나 쉽게 이해하고 사용할 수 있어야 함 쉬운 검색, 사용성, 일관성 유효성 정확하고 완..

2020년 정보처리기사 실기 정리 #5

인터페이스 설계서 이 기종 시스템 및 컴포넌트 간 데이터 교환 및 처리를 위해 각 시스템의 교환되는 데이터, 업무, 송수신 주체 등이 정의된 문서 인터페이스 명세 각 인터페이스 번호 당 인터페이스가 되는 데이터, 데이터 형식, 송수신 시스템 정보 등을 구체화 하는 문서 상세 기능 인터페이스 정의서(아명오개 전후파반) 인터페이스 ID 인터페이스를 구분하기 위한 식별자 인터페이스 명 해당 인터페이스를 나타내는 고유 명칭 오퍼레이션 명 해당 인터페이스의 세부 동작 명칭 오퍼레이션 개요 해당 인터페이스의 세부 동작 프로세스에 대한 세부 설명 사전 조건 해당 인터페이스의 세부 동작이 정상적으로 작동하기 위한 사전에 완려되어야 하는 조건 기술 사후 조건 해당 인터페이스의 세부 동작이 정상적으로 작동된 이후에 발생되..

2020년 정보처리기사 실기 정리 #4

개발환경 구축의 개념 개발환경 구성 시 구현될 시스템 요구사항의 명확한 이해가 필요하다 개발 도구와 서버의 선정이 이루어져야 하고, 개발에 사용되는 도구들의 사용 편의성과 성능, 라이선스를 확인한다 개발 도구의 분류(빌구테형) 빌드 도구 작성한 코드의 빌드 및 배포를 수행하는 도구 각각의 구성요소와 모듈에 대한 의존성 관리를 지원 구현 도구 개발자의 코드 작성과 디버깅, 수정 등과 같은 작업을 지원하는 도구 프로그램을 개발할 때 가장 많이 사용되는 도구 테스트 도구 코드의 기능 검증과 전체의 품질을 높이기 위해 사용하는 도구 코드의 테스트, 테스트에 대한 계획, 수행 및 분석 등의 작업 가능 형상 관리 도구 개발자들이 작성한 코드와 리소스 등 산출물에 대한 버전 관리를 위한 도구 하드웨어 개발환경 – 서..

2020년 정보처리기사 실기 정리 #3

연계 요구사항 분석 서로 다른 두 시스템, 장치, SW를 이어주는 중계 역할을 하는 연계 시스템과 관련된 요구사항을 분석하는 과정 연계 요구사항 분석 기법 및 참고문서(인체설델브, 코테응시) 분석 기법 인터뷰 사용자 면담을 통해 연계 요구사항 도출 체크리스트 시스템 운영 환경, 성능, 보안, 데이터 발생 주기 등의 기준에 대한 점검을 통한 분석기법 설문지 서비스 활용 목적에 따라 연계 필요 데이터 식별 및 연계 주기 등을 설문지를 통해 분석하는 기법 델파이 기법 전문가 경험적 지식을 통한 분석 기법 업무 전문가 등 각 분야 전문가로 구성 브레인스토밍 소속된 인원들이 자발적으로 자연스럽게 제시된 아이디어 목록을 통해 분석하는 기법 분석 참고 문서 코드 정의서 공통 코드 정의서 테이블 정의서 데이터 모델링 ..

2020년 정보처리기사 실기 정리 #2

논리 데이터 모델링 데이터베이스 설계 프로세스의 기초설계 단계로 비즈니스 정보의 구조와 규칙을 명확하게 표현할 수 있는 기법 논리 데이터 모델링 특성 (정포완독) 정규화 모든 데이터를 정규화하여 모델링 포용성 모든 엔티티 타입, 속성, 관계, 포로세스 등을 포함 완전성 모든 규칙과 관계를 완전하고 정확하게 표현 독립성 성능, 제약사항에 독립적인 모델 논리 데이터 모델링 속성 (개속관) 개체 : 관리할 대상이 되는 실체 속성 : 관리할 정보의 구체적 항목 관계 : 개체 간의 대응 관계 개체–관계(E-R) 모델 현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 명확하게 표현하기 위한 모델 정규화 관계형 데이터베이스의 설계에서 중복을 최소화하여 데이터를 구조화하는 프로세스 이상현상..

2020년 정보처리기사 실기 정리 #1

현행 시스템 파악(구기인·아소·하네) 시스템이 어떤 하위 시스템으로 구성되어 있고, 제공 기능 및 연계 정보는 무엇인지 파악하는 활동 소프트웨어 아키텍처 SW 구성요소와 그 구성요소가 가진 특성 중 외부에 드러나는 특성, 그리고 구성요소 간의 관계를 표현하는 시스템의 구조나 구조체를 의미 소프트웨어 아키텍처 4+1뷰 고객의 요구사항을 정리해 놓은 시나리오를 4개의 관점에서 바라보는 소프트웨어적인 접근 방법 구성요소 : 유스케이스, 논리, 구현, 프로세스, 배포 뷰 (유논프구배) OSI 7계층 네트워크 통신에서 생긴 문제를 완화하기 위해 국제표준기구(ISO)에서 제시한 네트워크 기본 모델 아파서 티내다, 피나다(7654321) / 데새패프비(31111) 미들웨어 분산 컴퓨팅 환경에서 응용 프로그램과 프로그..

32비트 시스템과 64비트 시스템의 차이

결론부터 말하면 아래와 같다. 메모리 주소 공간 크기의 차이(Memory addressing space size) 32비트와 64비트 시스템은 먼저 기본처리 단위가 다르다보니 프로세서의 레지스터의 크기부터 차이가 납니다. 32비트 프로세서의 범용 레지스터의 크기는 32비트 즉 4바이트이고, 64비트 프로세서의 범용 레지스터의 크기는 64비트, 즉 8바이트입니다. 이렇다 보니, 프로그램 카운터(Program Counter)의 크기로 각각 4바이트 8바이트가 되는데요. 메모리의 주소 모드(address mode)는 기본적으로 바이트당 주소를 하나 할당하는 방식(byte oriented addressing)이므로, 32비트 머신은 최대 32bit의 메모리 어드레싱이 가능하게 됩니다. 2^3 2byte의 메모리..

공부/기타 2022.09.30
반응형