목록Computer/개념 (16)
Machineboy空

VM(Virtual Machine)의 정의 VM은 실행 중인 애플리케이션과 운영체제를 포함하여 컴퓨터와 거의 동일한 모든 기능을 수행할 수 있는 컴퓨터의 가상화된 인스턴스입니다. 가상 머신은 물리적 머신에서 실행되며 하이퍼바이저라고 불리는 소프트웨어에서 컴퓨팅 리소스에 엑세스한다. 하이퍼바이저: 물리적 머신의 리소스를 필요에 따라 프로비저닝 및 배포를 할 수 있는 풀로 추상화하여 여러 VM이 단일 물리적 머신에서 실행되도록 한다. VM(Virtual Machine)의 장단점 장점 가상 머신은 유지 및 관리가 간편하며 범용성이 뛰어나다. 하나의 물리적 컴퓨터에서 여러 운영 체제 환경을 실행할 수 있다. 멀티 플랫폼과 대응이 가능하다 (android, ios 등 모든 플랫폼에서 빌드 가능) 재해 복구 및 애..

배열(Array) 리스트(List) 개념 메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조 값과 포인터를 묶은 노드라는 것을 포인터로 연결한 자료구조 장점 인덱스를 사용하여 값에 바로 접근할 수 있다. 접근 속도가 느리다 (인덱스가 없으므로 포인터부터 순서대로 접근해야하므로) 단점 1 삽입, 삭제가 어렵다. 데이터를 삽입하거나 삭제하는 연산 속도가 빠르다. 단점 2 한 번 선언 후 크기를 늘리거나 줄이기 어렵다 크기가 가변적 * 파이썬에서의 리스트는 배열과 리스트의 장점만 모아둠 배열의 Index로 접근 가능 리스트의 가변적인 크기 연결리스트 (Linked List) //기본 노드(data, pointer) 구성 class Node{ constructor(data){ this.data = data;..

//부모 Scripts public class E_Grabbable : MonoBehaviour { E_Grabber hand; Rigidbody rb; // Start is called before the first frame update public virtual void Start() { rb = GetComponent(); } public virtual void Update() { if (hand != null) { transform.position = hand.transform.position; transform.rotation = hand.transform.rotation; } } public virtual void DoAction() { } } //자식 Scripts public class ..
정적인 언어들에서 흔히 쓰이는 Generic 정의 사용 예시 Generics - 클래스 내부에서 지정하는 것이 아닌 외부에서 사용자에 의해 지정하는 것 - 특정(specific)타입을 미리 지정하는 것이 아닌 필요에 의해 지정할 수 있도록 하는 일반(Generic)타입 리스트 자료형 List list = new ArrayList(); [ ] 배열 자료형 index { } 사전 자료형 key값 Array[] arr = {1,2,3} ( ) 함수 호출하거나 정의 def print_numbers(): return 3 print_number() # 함수 호출에 쓰이는 () numbers = [1, 2, 3] # 리스트 자료형 print(numbers[1]) # index 활용 sales = {'화장품': 1, ..

Unity에서의 객체 지향 실제로 일을 하는 단위 : component객체 is -A has-A 상속 포함 서로 함수를 Call 할 수 있는 관계 A: a는 b를 상속받았다. A 안의 변수, 필드 등

스택(Stack) 큐(Queue) Last-in First-out 후입선출 First-in First-out 선입선출 DFS(Depth First Search) 깊이 우선 탐색 백트래킹 BFS(Breadth First Search) 너비 우선 탐색 깊이우선탐색: 한 노드를 시작으로 인접한 다른 노드를 재귀적으로 탐색해가고 끝까지 탐색하면 다시 위로 와서 다음을 탐색하여 검색한다. 너비우선탐색: 더 이상 방문하지 않은 정점이 없을 때까지 방문하지 않은 모든 정점들에 대해서도 탐색 (ㄱ-ㄴ-ㄷ-ㄹ-ㅁ-ㅂ-ㅅ-ㅇ 순) * Stack에서 push() / append() 데이터를 삽입하는 연산 pop() 데이터를 삭제하고 확인하는 연산 *Queue에서 push() / append() 데이터를 삽입하는 연산 pop..
Class는 추상화: 복잡한 것들을 목적에 맞게 단순화하는 것, 단순하고 간결하면서도 핵심적인 내용은 전달 자신과의 소통, 컴퓨터와의 소통, 코드를 작성하는 동료들과의 소통, 내가 만든 프로그램을 사용하는 사용자와의 소통 프로그래밍은 추상화의 연속이다! 개념 정의 예시 구성 클래스 (Class) 객체(Object)를 만들어내기 위한 틀 객체의 속성과 기능 자동차 설계도 붕어빵 틀 속성 (데이터) 크기, 종류,파일 생성 날짜 기능 (메소드) 수정,삭제 객체 (Object) 클래스(Class)를 바탕으로 만드는 실체 클래스로 선언된 변수를 객체 실제 생산된 자동차 팥 100g, 밀가루100g으로 만들어진 붕어빵 인스턴스(Instance) 객체가 메모리에 할당이 된 상태이며, 런타임에 구동되는 객체 객체와 같..
Static(정적) Dynamic(동적) 개념 한 번 정해 놓으면 변하지 않고 계속해서 유지 상황에 따라서 실시간으로 변하는 언어에서 자료형이 고정되어 있는 언어로, 컴파일을 진행할 때 변수의 타입이 결정된다 JAVA, C, C#,C++, Kotlin 등 자료형이 그것을 처리할 함수에 따라 그때그때 바뀌는 언어 JavaScript, Python 등 메모리에서 stack heap 웹에서 이미 저장된 파일만을 클라이언트에게 전송하는 웹페이지 서버에 저장된 HTML파일이 그대로 브라우저에 나오는 것이 아니라 동적으로 만들어지는 웹페이지 배열에서 미리 정해놓은 공간만 고정적으로 사용할 수 있는 배열 (C#에서 일반적인 배열) 리스트, 그때그때 공간을 생성, 삭제하는 것 (C#에서 리스트) member즉, 클래스..