반응형

전체 글 48

정렬 알고리즘 (Sorting Algoritm) 개념 정리

⛳ Big O : 알고리즘 효율성 단위 ⛳ 선택 정렬 (Selection Sort) ● 배열을 계속 순환하면서 적절한 값을 찾게 되면 현재 인덱스에 있는 값과 교환해줌 ● 배열 전체를 비교하므로 시간 복잡도는 O(N^2) 이다. ● 단 하나의 배열로 정렬을 하는 것이기 때문에 공간복잡도는 O(N) 이다. void selectionSort(int *list, const int n) { int i, j, indexMin, temp; for (i = 0; i < n - 1; i++) { indexMin = i; for (j = i + 1; j < n; j++) { if (list[j] < list[indexMin]) { indexMin = j; } } temp = list[indexMin]; list[inde..

IT Dictionary 2023.04.29

컴활 데이터베이스(Database) 기본 용어 정리

✔️ 데이터베이스(Database) : 여러 사람이 공유할 목적으로 사용되는 데이터들의 집합 ✌ 특징 1. 실시간 접근성 2. 지속적인 변화 3. 동시 공유 4. 내용에 대한 참조 5. 데이터 논리적 독립성 ✔️데이터베이스 관리 시스템(DBMS) : 데이터베이스 내의 데이터에 접근할 수 있도록 해주는 소프트웨어 ✌ 종류 1. 계층형 데이터베이스(HDBMS) : 풀더와 파일 등을 계층 구조로 저장 (부모-자식 형태) - 하드디스크 2. 네트워크형 데이터베이스(NDBMS) : 네트워크상의 대등한 노드 형태로 표현 (수평적 관계 추가) 3. 관계형 데이터베이스(RDBMS) : 행과 열을 가지는 표 형식의 데이터베이스, SQL을 이용해 접 4. 객체지향 데이터베이스(ODBMS) : 객체를 데이터베이스에 저장 ✔..

IT Dictionary 2023.04.29

IP 주소(Internet Protocol Address), IPv4와 IPv6

⛳ IP? IP 주소(Internet Protocol Address)란 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호이다. 이 주소를 이용해 출발점에서 목적지까지의 라우팅을 수행하고, 데이터를 전달한다. 이러한 IP 주소에도 다양한 종류의 규격이 존재하는데, 바로 IPv4와 IPv6이다. 오늘은 이 두 아이피 체계에 대해서 탐구 해볼려고 한다. ⛳ IPv4 IPv4(Internet Protocol Version 4)는 오늘날 일반적으로 사용되고 있는 IP 주소이다. 전세계에서 제일 첫번째로 사용된 프로토콜로, 전체 크기는 32비트(4바이트)이고, 마침표를 사용해 8비트(1바이트)인 10진수 4개로 나눈다. ex) 187.144.23.55 이렇게 4부분으로 나눈 IP..

IT Dictionary 2023.04.29

네트워크 장비 종류

⛳ 랜카드(Lan Card) 네트워크 안에서 컴퓨터간 신호를 주고받는 데 쓰이고, NIC(Network InterfaceController) 라고도 한다. 주로 메인보드에 내장되어 있으며, 유선 랜카드와 무선 랜카드로 나눠질 수 있다. OSI 1계층에 속한다. ⛳ 허브(Hub) 여러 대의 컴퓨터와 네트워크 장비들을 연결해주는 장치이다. 한 장비에서 송신된 데이터들은 연결되있는 모든 장비에게 수신이 되고, 이에 따라 많은 장비들이 연결되어 있으면 충돌이 발생할 수도 있다(브로드캐스트 전송방식). 현재 허브는 스위치로 대체되고 있으며, 잘 사용되지 않는다. OSI 1계층에 속한다. ⛳ 리피터(Repeater) 신호를 증폭하여 근거리 통신망을 구성하는 세그먼트들을 확장시켜준다. 즉, 먼거리까지 데이터를 전달하..

IT Dictionary 2023.04.29

브라우저 렌더링 과정, 자바스크립트(JS) 작동 원리

✌ 흠.. 우리가 컴퓨터를 하면서 가장 많이 이용하는것은 무엇일까? 나는 당연히 브라우저라고 생각한다. 인터넷이라는 개념 자체가 작게는 우리 지역 사람들, 크게는 전세계의 사람들과의 소통의 길을 열어준다는 의미를 담고있다. 여기서 브라우저는 이 길의 입구를 담당해주고 있기 때문에 불가피하게 클릭 횟수가 다른 서비스에 비해 많을 수 밖에 없다고 생각한다. 그래서 오늘은 이러한 브라우저의 내부를 한번 살펴볼려고 한다. 브라우저는 렌더링이라는 과정을 거치면서 컴퓨터 내부의 복잡한 사정을 우리 눈에 보이게 해준다. 이 렌더링 과정을 한번 5가지로 나눠보았다. ⛳ First, Receive 우리가 브라우저에 URL을 입력하면 DNS를 통해 해당 도메인이 IP 주소로 변환되어 해당 IP로 웹과 관련된 정보를 요청한..

IT Dictionary 2023.04.29

자바 컴파일 과정(Java Compile Process)

😞 서론 내가 코딩에 첫 걸음마를 옮겼을 때, 내가 가장 배우고 싶었던 언어는 자바였다. 초등학생때 유일하게 알고있던 프로그래밍 언어였는데, 당연히 그 이유는 마인크래프트 때문이다. 그때도 그렇고, 지금도 그렇고 여전히 나에게는 환상이 깊은 언어로 남아있다. 그래서 오늘은 해당 자바에 대해서 탐구 해볼려고 한다. ⛳ 자바(Java) 자바는 다른 언어와 다르게 JVM(Java Virtual Machine)에서의 자바 컴파일러를 이용해 컴파일을 실행하기 때문에 운영체제로부터 독립적이다. 그래서 다른 운영체제에서 자바 파일을 실행 시킬려고 할 때, 별도로 다시 컴파일을 해서 실행 파일을 만들 필요가 없는 것이 자바의 가장 큰 장점중 하나라고 할 수 있다. 그래서 먼저, JVM 위에서 작동하는 자바의 컴파일 과..

IT Dictionary 2023.04.28

메모리 영역과 메모리 구조

😞 서론 Visual Studio Code를 키고 코딩을 시작할려고 하다가, 문득 궁금증이 생겼다. 우리 눈에 보이지 않게 뒤에서 열심히 일해주고 있는 컴퓨터의 모습이 말이다... 지금 우리가 프로그램을 실행시키고 싶을때는 일일히 컴퓨터에게 힘들게 이진법으로 따로 명령을 하지 않아도 마우스로 실행시키고자 하는 프로그램을 더블 클릭 하면 컴퓨터는 우리가 하고 싶어하는 것을 알아들어 즉시 프로그램을 나의 모니터에 띄워준다. 너무 신기한 거 같다. 우리가 프로그램을 실행하면 그 프로그램은 메모리 위에 올라가게 되고, 프로그램에 대한 정보를 메모리에 저장한다. 그래서 오늘은 이 메모리 라는분에 대해서 좀 공부해볼려고 한다. ⛳메모리 영역 다음 사진과 같이 메모리 영역은 4가지로 나뉜다. 👉 텍스트(Text) 영..

IT Dictionary 2023.04.28

C언어 컴파일 과정(C Compile Process)

✍ 우리는 C언어로 컴퓨터 안에서 우리가 힘들게 만든 작품을 눈으로 보기 위해 코드 에디터에서 컴파일이라는 과정을 거치게 된다. 어떻게 고작 문자 몇줄이 이렇게 복잡한 컴퓨터 안에서 우리가 원하는 주문을 하나도 빠뜨리지 않고 정확하게 표현이 가능한걸까? ⛳컴파일이란? 인간이 이해 가능한 언어로 작성된 코드를 컴퓨터(CPU)가 이해할 수 있는 언어로 번역하는 작업 가장 많이 혼동될 수 있는 것이 컴파일과 빌드인데, 컴파일은 소스코드를 바이너리 파일로 만드는 행위 자체를 말하는 것이고, 빌드는 소스코드로 실행 파일을 만드는 과정 전체를 포괄하는 개념이다. 이제 본격적으로 컴파일에 대해서 알아보자. 컴파일의 과정으로는 크게 4가지로 나눠질 수 있다. 👉 전처리 과정 👉 컴파일 과정 👉 어셈블리 과정 👉 링킹 ..

IT Dictionary 2023.04.28
반응형