개념
MAC 주소 개념 정리 / 스위치
스위치란?중요한 네트워크 장비로써 라우터와 쌍벽을 이루는 것이 바로 스위치다. 스위치의 역할은 주로 두 가지다PC나 서버 등을 네트워크에 연결시킨다.같은 네트워크 내부의 LAN 포트 사이에서 데이터 전송을 수행한다.스위치에는 LAN 포트가 여러 개 달려있다. 가정용 스위치에는 대개 8개 정도 달려 있지만, 기업용 스위치 중에는 몇백 개나 되는 LAN 포트를 갖춘 제품도 있다.컴퓨터를 네트워크에 연결하기 위해선 컴퓨터와 스위치의 LAN 포트를 서로 연결하면 된다. 이 때 스위치가 여러 대의 컴퓨터로부터 LAN 케이블을 모으는 것처럼 보이기 때문에 집선 장치라고 불리기도 한다.스위치에 연결된 컴퓨터들은 기본적으로 같은 네트워크에 연결되고 스위치를 여러 대 사용하는 경우에도 같은 네트워크로 취급된다.스위치는 ..
CISC / RISC 개념 및 차이
1) CISC / RISC의 개념CPU(중앙처리장치) 를 설계하는 방식이다.CPU가 작동하려면 프로그램이 있어야 하고 명령어를 주입해서 설계를 한다.-명령어가 H/W 적인 방식을 RISC라고 한다.-명령어가 S/W 적인 방식을 CISC라고 한다.2) CISC (Complex Instruction Set Computer)복잡하고 많은 종류의 명령어와 주소 지정 모드를 사용한다.가변 길이 명령어 형식이다.100개 ~ 250개 정도의 많은 명령어를 가지고 있어 설계가 어렵다.마이크로 프로그래밍(S/W) 제어 방식이다.명령어가 S/W적이므로 호환성이 좋다.명령어를 해석한 후에 명령어를 실행한다.컴파일 과정이 쉽고, 호환성이 좋다는 장점이 있지만 속도가 느리다.intel 사의 CPU에 주로 사용되었다.3) RIS..
지수의 밑변환 공식, 로그의 밑변환 공식 - 개념, 유도, 적용
1. 개요지수함수와 로그함수로부터 파생되는 지수 방정식, 로그 방정식, 지수 부등식, 로그 부등식을 풀기 위해서는 밑을 같게 만들어줘야다. 서로 다른 지수나 로그의 밑을 같게 만들어주는 작업을 밑변환이라고 하는데 밑변환을 하는 이유는 서로 다른 차원(dimension)에 있는 항들을 같은 선상에서 비교하기 위해서다. 예를들어 우리나라 돈 1000원과 일본 돈 100앤의 가치를 비교하기 위해선 환율을 적용하여 기축통화인 미국 달러로 바꿔서 비교해야 한다. 또한 평균이 60점, 표준편차 10점인 정규분포를 따르는 집단에서 75점을 받은 학생과 평균이 40점, 표준편차 20점인 정규분포를 따르는 집단에서 70점을 받은 학생중 누가 더 우수한 학생인가를 비교하기 위해선 표준화(Z=(X-m)/σ)라는 작업을..
[C++] Trie (트라이) 개념과 구현방법
트라이는 "문자열을 빠르게 탐색하게 해주는 자료구조" 이다. 즉, '문자열'을 관리하는 방법 중의 하나다 작동 원리 트라이는 주어진 문자열을 이루고 있는 문자를 앞에서 부터 하나씩 노드를 생성해가면서 만들어 진다. 이 과정에서 반복된 재귀 호출이 이루어지는데, 말로는 무슨 말인지 모르겠으니, 이 과정을 구체적으로 알아보자. 먼저, 문자열을 트라이로 생성하는 과정부터 알아보자. 간단하게 순서를 붙여보자면 다음과 같이 진행된다. ( 지금부터 '루트(Root)' 라는 말이 나올 수 있는데, 이는 가장 초기 노드라 생각하면 된다. 즉, 연결되어 있는 어떠한 노드도 없는 초기 노드이다. ) 1. 주어진 문자열에서 현재 문자를 가져온다. 2. 현재 문자로 이루어진 노드가 존재한다면, 그 노드로 그 다음 문자열을 탐..
[C#] 우선순위 큐 개념과 힙을 통한 구현
우선순위 큐란? 큐(Qeueu)는 FIFO(First In First Out) 방식을 따르기 때문에, 입력 순서대로 출력되는 데이터 구조인 반면, 우선순위 큐(Priority Qeueu)는 입력 순서와는 무관하게 우선순위대로 출력되는 데이터 구조다. 시간 복잡도 우선 순위 큐는 Enqueue()시, 내부적으로 정렬을 해주거나 또는 탐색을 해주어야하는 로직이 필요하다. 우선 순위대로 정렬하거나 탐색하는 방법으로 얼마나 효율적으로 만드느냐가 주제의 핵심 포인트다. 이 글에서는 'O(N)'과 'O(logN)' 두 가지 방식을 다룬다. 우선순위 큐 구현 방법과 종류 이진 탐색'O(logN)'과 단순 선형 탐색 차이'O(N)' Queue의 Enqueue()시, 내부적으로 효율적인 탐색 방법이 필요하다. 간단한 구..
[C++] 매크로 개념과 주의사항
매크로 -> 단순 치환 -> #define으로 정의한다. # : 전처리 지시자 -> 컴파일 이전에 수행 define : 정의하다. -> 컴파일 이전에 정의하라고 명령. #1 매크로 상수 #define 매크로이름 치환할 값 매크로 상수 사용 시 주의사항 -> 단순 치환이기 때문에 세미콜론을 작성할 경우 세미콜론까지 치환해버린다. 예) #define PI 3.14f; // 입력 cout 속도가 빠르다. -> 함수 호출을 위한 연산들이 필요 없어진다. 매크로 함수의 주의점 #1 연산을 수행할 때 연산자 우선순위를 명확하게 표시해야한다. 예) #define SQUARE(n) n * n cout
[C#] event (이벤트) 개념
이벤트는 클래스내에 특정한 일(event)이 있어났음을 외부의 이벤트 가입자(subscriber)들에게 알려주는 기능을 한다. C#에서 이벤트는 event라는 키워드를 사용하여 표시하며, 클래스 내에서 일종의 필드처럼 정의된다. 이벤트에 가입하는 외부 가입자 측에서는 이벤트가 발생했을 때 어떤 명령들을 실행할 지를 지정해 주는데, 이를 이벤트 핸들러라 한다. 이벤트에 가입하기 위해서는 += 연산자를 사용하여 이벤트핸들러를 이벤트에 추가한다. 반대로 이벤트핸들러를 삭제하기 위해서는 -= 연산자를 사용한다. 하나의 이벤트에는 여러 개의 이벤트핸들러들을 추가할 수 있으며, 이벤트가 발생되면 추가된 이벤트핸들러들을 모두 차례로 호출한다. 다음 코드는 클래스(MyButton) 내에서 이벤트(Click)를 정의하고..
[C] 재귀함수(Recursive/리쿼시브)의 개념과 공부하는 이유
재귀란 무엇인가? 컴퓨터 과학에 있어서 재귀(再歸, Recursion)는 자신을 정의할 때 자기 자신을 재참조하는 방법을 뜻하며, 이를 프로그래밍에 적용한 재귀 호출(Recursive call)의 형태로 많이 사용된다. 또 사진이나 그림 등에서 재귀의 형태를 사용하는 경우도 있다. (위키백과) 위키백과에서 가져온 재귀의 컴퓨터 과학 측면에서의 정의이다. 쉽게 말해서, "재귀적으로 정의했다" 라는 말은 자기 자신을 정의할 때 자기 자신을 이용했다는 것이다. 가령 5! (5 팩토리얼)을 정의할 때도, 5! = 5 * 4! 라고 나타낼 수 있으므로 이를 일반화하면 n! = n * (n - 1)! 라고 나타낼 수 있게 된다. 이 등식에서 팩토리얼을 정의하는데 있어서 팩토리얼을 사용했다는 것은, 재귀적 정의를 활..
[Unity] Sprite (스프라이트) 개념
1. 스프라이트 ( Sprite ) 스프라이트는 텍스쳐이며, 2D 그래픽 오브젝트이다. 스프라이트는 2D 그래픽에 사용된다. 스프라이트는 PNG, JPG와 같은 이미지 파일이 아니다. UI에 그림파일을 등록하고, Scene 화면에 드래그해보자. 이미지 파일은 단일 게임 오브젝트로 등록할 수 없다. 이미지 파일을 사용하기 위해서는, 스프라이트로 변환해야 한다. 유니티는 그림파일을 스프라이트로 변환하는 API를 제공하고 있다. 아래는 변환하는 방법이다. 그림파일 선택 → Texture Type → Sprite (2D and UI ) → Apply 스프라이트로 변환한 파일을 Scene View에 드래그하면, Scene View에 나타나는 것을 볼 수 있을 것이다. 1.1 스프라이트 모드 (Sprite mode..