분류 전체보기(619)
-
오픈소스 SW개발 (9) Virtualization
Virtualization 1. Virtualization 1) Virtualization란? 물리적인 컴퓨터는 한 대지만 여러 대의 컴퓨터가 독립적으로 동작할 수 있게끔 도와주는 것 (1) Virtualization의 수준 - 하드웨어에 가까울수록 저수준, 어플리케이션과 가까울수록 고수준이다. 이는 좋고 나쁘고의 의미가 아니라 하드웨어에 얼마나 가까운지에 대해 수준을 나눈 것이다. - 라이브러리는 호환성을 지켜주기 위한 것이 크다. (2) 특징 - 앞으로 하드웨어 레벨, OS 레벨 가상화에 대한 내용을 많이 사용할 것이다. 2) ISA - 이해하기 쉬운 용어를 작성하면 컴파일을 통해 ISA로 번역한다. - 게임은 하드웨어에 맞게 가상화를 해야한다. 이를 게임 에뮬레이터라고 하기도 한다. 3) Run-t..
2022.05.13 -
자료구조 구현 (1), Unsorted list
Unsorted list 구현 C++을 통해서 Unsorted list를 구현했다. 특히 ItemType, Unsorted list, Application을 세 파트로 나누어 코드를 구현했다. Unsorted list는 각 요소로서 ItemType을 포함하고 있고, Application에서 Unsorted list를 객체로 사용했다. 또한 각각의 파트는 헤더와 cpp 파일을 구분해 각각 구현했다. 해당 실습에서의 특징적인 점은 Unsorted list를 Linked list가 아닌 Array list로 구현했다. 이에 따라 데이터 삽입, 삭제하는 방법이 다르니 이를 고려하여 코드를 확인하면 좋을 것 같다. 1. ItemType 1) ItemType h #ifndef _ITEMTYPE_H #define _..
2022.05.11 -
확률 및 랜덤변수(6), 연속랜덤변수
연속랜덤변수 - 치역이 셀 수 없는 집합인 경우 ex) 랜덤변수의 값이 실수값을 가지는 경우 - 연속적인 실수 변수 값을 가지는 경우에는 연속 랜덤변수라고 함 - 연속랜덤변수의 특징: 연속랜덤변수 x가 특정 실수 값을 가질 확률은 0이다. 하지만 특정 구간에 대해서는 확률 질량 값이 존재한다. 연속랜덤변수 각각에 대응되는 확률을 다 합치면 1인데 연속랜덤변수는 셀 수 없기에 특정 실수값에 대응되는 확률이 0이되고 PMF의 값은 0이 된다. 예시 - 연속랜덤변수의 경우에는 부피, 공간 등에 대해 확률 밀도라는 지표로 확률 모델을 설정함 밀도와 부피를 곱한 것의 적분한 것이 질량이기에 이를 통해 확률을 알 수 있다. CDF - PMF는 이산랜덤변수에서만 사용가능하지만 CDF는 이산/연속랜덤변수 모두에서 사용..
2022.05.09 -
오픈소스 SW개발 (8) LINUX
LINUX 1. Linux란? 컴퓨터 하드웨어에 접근하고 어플리케이션에게 인터페이스를 제공하는 운영체제다. 1) Kernel OS의 핵심적인 역할을 수행하는 것 (1) 커널이란? - 컴퓨터 하드웨어 리소스를 추상화한다. 예를 들어 코어를 프로세스로 추상화하거나 디스크를 파일로 추상화한다. - 시스템 자원을 관리한다. - 보안기능을 제공하거나 하나의 어플리케이션이 다른 곳에 침범하지 않도록 도와주는 역할을 진행한다. - 어플리케이션의 요청에 응답하는 것을 한다. (2) 커널의 목표 - 성능이 좋아야한다. 커널의 성능이 느리면 어플리케이션이 느리게 동작한다. - 안정성이 높아야한다. 커널의 안정성이 낮으면 어플리케이션이 동작하지 않을 수 있다. 혹은 진행 중인 작업이 날라 갈수도 있다. - 기능이 다양해야한..
2022.05.06 -
오픈소스 SW개발 (7) Express
Express NodeJS를 사용하는 웹 프레임워크 0. 기본 개념 1) Request와 Response 브라우저가 요청을 보내고 서버에서 응답을 보낸다. 네이버는 페이지를 열자마자 여러가지 요청을 보낸다. 2) HTTP 메소드 GET: 리소스를 단순히 요청하는 것으로 브라우저 페이지를 여는 것도 이에 해당한다. POST: 새로운 리소스를 만드는 것 PUT: 기존에 존재하는 리소스를 수정하는 것 DELETE: 기존에 존재하는 리소스를 지우는 것 3) REST 브라우저에서 화면을 만들기 위함 뿐만이 아니라 클라이언트와 서버의 통신을 위해 HTTP 프로토콜로 사용하는 것으로 점차 확장되고 있다. 따라서 각 HTTP 메소드와 함께 대상이 되는 주소를 적어 요청한다. 이 방식을 RESTful 방식이라 한다. 대..
2022.05.03 -
자료구조 (6), Linked Structured
Linked Structured 1. Linked Structure을 활용한 Stack 1) ADT의 장점 내부적으로 사용하는 자료의 유형을 변경할 수 있다. - ADT의 장점은 사용된 구현 유형을 변경할 수 있다는 것이다. 2) (동적) 배열 구현 시 발생할 수 있는 문제점 자료구조의 최대 크기가 정해져있다. - Stack의 (동적) 배열 구현에는 단점이 존재한다. Stack의 최대 크기는 매개변수로 생성자에 전달한다. 이에 따라 배열의 크기를 초과하는 데이터를 삽입해야할 때는 문제가 발생할 수 있다. 따라서 데이터의 입력 예측이 어려운 경우나 예측을 벗어난 데이터가 입력된 경우에는 배열이나 동적배열을 사용할 때는 문제가 발생할 수 있다. 3) (동적) 배열 구현 시 문제 해결 링크드 리스트를 통해 사..
2022.05.02