분류 전체보기(52)
-
OSI 7계층
네트워크 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. 1 Layer - 물리 계층 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송한다. 통신 단위는 비트이다 (1,0) 데이터 전달만을 신경쓸뿐, 데이터가 무엇인지 어떤 에러가 있는지는 신경쓰지 않는다. 케이블, 리피터, 허브 2 Layer - 데이터 링크 계층 물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할을 한다. 통신의 오류를 찾고 재전송도 하는 기능을 한다. 맥 주소를 가지고 통신하게 된다. 전송되는 단위를 프레임이라고 한다. 브리지, 스위치 3 Layer - 네트워크 계층 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅) 경로를 선택하고, 주..
2021.06.01 -
Garbage Collection (GC)
메모리 관리 기법 중 하나로 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능이다. 즉, 동적 할당된 메모리 영역 가운데 어떤 변수도 가리키지 않는 메모리 영역을 탐지하여 자동으로 해제하는 기법이다. 기본적으로 C#은 메모리를 자동적으로 관리 해준다. C# 메모리 구조 : https://everyday-devup.tistory.com/10?category=934756 [Unity] C#에서의 메모리 * Heap ▶ 위치가 정해져 있지 않고 용량이 큰 대신 느림 ▶ 참조 타입 ( ex class, string, object ) ▶ 변수 선언 시 데이터가 저장되어있는 메모리를 가리키게 됨 * Stack ▶ 정렬되어 있고 빠르지만 사 everyday-devup.tistory.c..
2021.06.01 -
(C#) Coroutine
Coroutine : 일반적인 함수는 하나의 프레임에서 모두 실행되고 종료됩니다. 그렇기 때문에 FadeOut같은 여러 프레임에 걸쳐서 실행되어야하는 기능에는 어려움이 있다. Update를 사용하면 되지만 프레임 단위이므로 원하는 시간에 정확히 실행시키기 쉽지 않고, 매 프레임마다 실행되는 것을 원하지않는다면 비효율적일 것이다. Coroutine은 Unity에게서 제어권을 넘겨받아 실행하던 도중에, 함수의 끝에 도달하지 않았더라도 실행을 멈추고 제어권을 넘겨줄 수 있다(yield return ). 게임을 개발하다보면 일정간격마다 또는 어떤 시점에 원하는 동작을 발생시키고 싶을 때가 있습니다. 예를 들어 1초마다 총알을 발사합니다. 또는 x축으로 원하는 만큼 움직이고 끝이 나면, y축으로 움직이고 끝이 나..
2021.05.31 -
(C#) Virtual / Abstract / Interface
Virtual 과 Abstract는 거의 비슷하다. virtual method는 선택적으로 파생 클래스에서 override 할 수 있습니다. abstract method는 무조건적으로 파생 클래스에서 메서드를 override 해야 합니다. overriding이 선택적이기 때문에 virtual method는 무조건적으로 본문을 선언해야 하고, 무조건적으로 override하기 때문에 abstract method는 본문을 선언할 수 없습니다. 또한 abstract class는 인스턴스화할 수 없습니다. (어찌보면 메소드의 본문을 선언할 수 없기에 당연한 것이다.) Interface는 Abstract와 본문을 선언하지 못한다는 점에서 유사합니다. 하지만 멤버필드를 사용할 수 없습니다.(프로퍼티는 사용가능하다.)..
2021.05.31 -
Graph
정점과 간선으로 이루어진 자료구조 (cf. 트리는 사이클이 없는 그래프이다) 정점(V) : 노드라고도 하며, 데이터가 저장된다. 간선(E) : 링크라고도 하며, 노드 간의 관계를 나타낸다. 차수(D) : 무방향 그래프에서 하나의 정점에 인접한 정점의 수 구현 방법 인접 행렬 그래프의 노드를 2차원 배열로 만든 것 노드에 다른 노드들이 인접 정점이라면 1 아니면 0 장점 구현이 편리하다 연결 정보를 조회할 때 O(1)의 시간이 걸린다 단점 정보를 입력할 때 O(n^2)의 시간이 걸린다. 필요이상의 공간이 낭비된다. 인접 리스트 그래프의 노드들을 리스트로 표현한 것 장점 연결 정보를 탐색할 때 O(N(E))의 시간이 걸린다. 공간 낭비가 적다. O(E+V) 단점 연결 정보를 조회할 때 시간이 오래 걸림 구현..
2021.05.30 -
Tree
트리는 스택이나 큐 같은 선형 구조가 아닌 비선형 자료구조이다. 계층적 관계를 표현한다. 삽입 삭제 같은 사고보다는 자료구조 자체로 바라보는 것이 좋다. Binary Tree 자식 노드가 최대 두 개인 노드들로 구성된 트리 층별로 level을 표현하고 최고레벨을 height라 한다. 포화 이진 트리(Perfect Binary Tree) 모든 레벨이 꽉 찬 이진트리 완전 이진 트리(Complete Binary Tree) 왼쪽부터 차례로 채워져 있는 이진트리 이진 힙(Binary Heap) Max Heap 각 노드의 값이 해당 children 보다 크거나 같음 최대값을 찾을 때 O(1) Min Heap 각 노드의 값이 해당 children 보다 작거나 같음 최소값을 찾을 때 O(1) 삽입 삭제? 정 이진 트..
2021.05.30