컴퓨터 프로그래밍 공부 55

std::deque

C++ Standard Library 의 deque deque deque란? 덱(deque)은 양방향 큐(double-ended queue)의 약자이다. 벡터는 가변 길이 배열이고, push_front() 또는 pop_front() 같은 함수는 비용이 많이든다. std::deque를 사용하면 이러한 단점을 극복할 수 있다. 덱의 구조 C++ 표준은 어떤 기능의 동작만을 정의할 뿐이며, 어떻게 구현해야 하는지는 정의하지 않는다. deque는 list 혹은 vector보다 구현이 약간 복잡한데, deque는 다른 컨테이너만큼 단순하지는 않기 때문에 실제 구현은 좀 더 다른 형태일 수 있고, 많은 최적화 기법이 적용되었을 수 있다. 그러나 기본 개념은 같다. 즉, 이러한 컨테이너를 구현하려면 연속된 메모리 청..

C++ std::List

C++ Standard Library 의 list std::list list란? std::forward_list는 아주 기본적인 형태로 구현된 연결리스트이다. std::forward_list는 다른 유용한 기능 중에서도 리스트 끝에 원소 추가, 역방향 이동, 리스트 크기 반환 등의 기능은 제공하지 않는다. 이는 메모리를 적게 쓰고 성능을 유지하기 위함이다. 이외에도 std::forward_list의 반복자는 매우 적은 기능만 지원한다. 컨테이너의 크기를 얻어오거나 자료 구조 맨 뒤에 새로운 데이터를 추가하는 등의 기능은 매우 유용하고 빈번하게 사용되지만, std::forward_list에서는 지원되지 않는다. 그러므로 std::forward_list의 단점을 보완하기 위해 std::list를 C++에서 ..

Introduction to Computer Systems - 컴퓨터 시스템 개요

개인용 컴퓨터 개인용 컴퓨터의 등장 ( = PC의 등장)은 새로운 컴퓨터 사용 방식을 의미한다. VLSI 기술의 발전으로 1970년대 초 인텔에 의해 마이크로 프로세서가 등장하고, 이해 따라 컴퓨터가 소형화/저가화되면서 70년대 후반에 개인용 컴퓨터의 등장으로 이어지게 되었다. 개인용 컴퓨터의 등장으로 관련 시장이 급격하게 확대됨에 따라 이에 따른 소프트 웨어 및 하드웨어 관련 사업이 부흥하기 시작하였다. 모바일 컴퓨팅 모바일 컴퓨팅이 가능하기 위해서는 아래 3가지 기반 기술이 필요하다. 고속 네트워크 모바일 컴퓨팅이 가능하기 위한 고속의 네트워크 전송기술 모바일 하드웨어 휴대성을 위한 초소형, 초경량의 하드웨어 제조기술 모바일 소프트웨어 개인별 최적화된 소프트웨어 제작, 유통 기술 개인용, 모바일 모두..

데이터베이스 트리거

데이터 베이스 트리거란? 데이터 베이스 트리거는 테이블에 대한 이벤트에 반응해 자동으로 실행되는 작업을 말한다. 여기서 트리거란, 영어로 trigger 방아쇠라는 뜻인데, 방아쇠를 당기면 그로 인해 총기 내부에서 알아서 일련의 작업을 수행하고 총알이 날아간다. 이처럼 데이터 베이스에도 트리거가 있는데, 데이터 베이스에서의 트리거는 특정 테이블에 INSERT, DELETE, UPDATE 같은, DML문이 수행되었을 때, 데이터 베이스에서 자동으로 동작하도록 작성된 프로그램이다. 즉, 사용자가 직접 호출하는 것이 아닌, 데이터베이스에서 자동적으로 호출하는 것이 가장 큰 특징이다. 트리거는 테이블과 뷰 데이터베이스 작업을 대상으로 정의할 수 있으며, 전체 트랜잭션 작업에 대해 (1) 발생되는 트리거와 (2) ..

우선순위 큐와 힙 (Priority Queue & Heap)

1. 우선순위 큐 1.1 우선순위 큐란? 큐(Queue)는 먼저 들어오는 데이터가 먼저 나가는 FIFO(First In First Out) 형식의 자료구조이다. 우선순위 큐 (Priority Queue)는 먼저 들어오는 데이터가 아니라, 우선순위가 높은 데이터가 먼저 나가는 형태의 자료구조이다. 우선순위 큐는 일반적으로 힙(Heap)을 이용하여 구현한다. 1.2힙이란? 힙(Heap)은 우선순위 큐를 위해 고안된 완전이진트리 형태의 자료구조이다. 여러 개의 값 중 최댓값 또는 최솟값을 찾아내는 연산이 빠르다. 힙의 특징 완전이진트리 형태로 이루어져 있다. 부모노드와 서브트리간 대소 관계가 성립된다. (반정렬 상태) 이진탐색트리(BST)와 달리 중복된 값이 허용된다. 힙의 종류 최대 힙(Max Heap) 부..

Yaw, Roll, Pitch

Roll : x축 (종축)을 중심으로 회전하는 것. Pich : y축 (횡축)을 중심으로 회전하는 것. Yaw : z축 (수직축)을 중심으로 회전하는 것. 요 피치 롤 정리하기 map 알고리즘 개빨라서 코테에서 진짜 많이 쓴다. list에서 value 값 받아와서 텍스쳐 로드임 map이 배열 인덱스 접근보다 훨씬 빠른 1:1 접근이다 image.GetMetadata -> 이미지의전체픽셀수를 가져와야하면 저걸로 가져올 수있다. image.겟픽셀즈함수로 사운드도 채널로 1:1매칭 연발은 스탑 후 플레이

CPU와 메모리

CPU 컴퓨터의 두뇌를 담당한다. 다양한 환경에서의 작업을 빠르게 수행하기 위해 ALU의 구조가 복잡하고 명령어 하나로 처리할 수 있는 기능도 많으며 각종 제어 처리를 위한 부분이 많다. GPU 특화된 연산을 빠른 속도로 처리하기 위해 단순한 ALU를 여러 개 갖고 있는 구조로 이루어져 있다. 이 때문에 CPU 단독으로는 아무것도 처리할 수 없으나, GPU를 제어하는 것은 여전히 CPU의 역할이다. GPU는 병렬 연산으로 단순하지만 규모가 큰일에 특화되어있다. 캐시 메모리 캐시(Cache)의 개념 "캐시 되어 있어서 빠른 거야"라는 말을 들어본 적 있을 것이다. 캐시는 잠시 저장해둔다는 의미이고, 기능이다. 캐시 메모리라고 하면 실제 메모리와 CPU 사이에서 빠르게 전달을 위해서 미리 데이터들을 저장해두..

정리 230319

삼각함수란 삼각비 + 호도법 + 함수 이다. 삼각비는 직각삼각형 세 변의 길이의 비는 각에 대한 일정한 관계가 있다. 이러한 일정한 관계를 함수로 나타낸 것이 삼각함수이다. 삼각비에서는 직각삼각형에서 세 변의 길이의 비를 이용했다면 삼각함수에서는 좌표평면 위의 좌표를 이용하는 차이가 있다. 또 삼각비에서는 육십분법으로 나타낸 각을 이용했다면 삼각함수에서는 호도법으로 나타낸 각을 이용한다. 삼각함수의 뜻, 삼각함수의 정의 xy좌표평면에 반지름의 길이가 r인 원을 그리고 원 위의 임의의 점을 P라고 하면 x축 양의 방향을 시초선으로 동경하고 선분OP가 이루는 각을 세타θ라고 할 때, y/r, x/r, y/x는 θ의 크기에 따라 한 가지로 정해진다. r != 0 일 때, θ -> y/r , θ -> x/r ,..

행렬

행렬이란? 행렬이란 영어로 'matrix'라고도 하며, 수 또는 다항식 등을 직사각형 모양으로 배열한 것이다. 영단어 'matrix' 의 사전적 의미중 가장 첫 번째 뜻은 (숫자, 기호 등을 가로, 세로로 나열해 놓은) 행렬[매트릭스] 라고 정의되어 있다. 즉, 수, 문자, 함수 등을 네모꼴 괄호 안에 배치하여 놓은 것이다. - 각각의 수 또는 함수 등을 원소/ 성분/ 요소 (element, component)로 갖는다. 행렬의 용도 행렬의 용는 크게 두 가지로 나뉜다. 정적인 사용 정보를 표로써 정형화시켜, 저장하고 처리하는데 사용된다. ( ex) 엑셀 프로그램 등 ) 연립 선형 방정식의 표기를 간소화시킨다. 시각적 이미지 및 디지털 음을 전송하는 수학적 처리에 사용된다. 동적인 사용 선형 대수 방정식..

싱글톤 패턴 + 인스턴스 + 인스턴스화 + 추상화 + 더블 버퍼링 20230227

싱글톤 패턴이란? 어플리케이션이 시작될 때 어떤 클래스가 최초 한 번만 메모리를 할당하고(static) 그 메모리에 인스턴스를 만들어 사용하는 디자인 패턴이다. 싱글톤 패턴의 장점 고정된 메모리 영역을 얻으면서 new로 인스턴스를 사용하기 때문에 메모리 낭비를 방지할 수 있다. 싱글톤으로 만들어진 클래스의 인스턴스는 전역이기 때문에 다른 클래스의 인스턴스들이 데이터를 공유하기 쉽다. 인스턴스가 절대적으로 한 개만 존재하는 것을 보증하고 싶을 경우 사용한다. 두 번째 이용시 부터는 객체 로딩 시간이 줄어 성능이 좋아지는 장점이 있다. 이러한 장점을 가진 싱글톤 패턴은 DBCP (DataBaseCommection Pool) 처럼 공통된 객체를 여러개 생성해서 사용해야 하는 상황에서 많이 사용된다. 싱글톤 패..