CS 기본 지식 4

4. CS 기본 지식 - 네트워크

* 웹 동작 방식 1. 사용자가 브라우저에 URL을 입력. 2. 브라우저는 도메인 네임 서버에 접근하여 DNS를 통해 해당 URL에 매핑된 서버의 진짜 ip 주소를 찾는다. (이때 www.google.com 일 시, 자신이 속해있는 도메인 local서버로 접근해 www.google.com을 질의한다. 여기서 local 도메인 서버가 해당 URL에 해당하는 IP 주소가 없을 시, Root DNS 정보를 전달 받는다. 그 뒤 com 도메인을 관리하는 TLD(Top-Level Domain) 서버 정보를 전달 받는다. TLD 서버에 www.google.com을 질의하고, TLD는 google.com을 관리하는 DNS 서버에 IP 주소를 질의한다. 그러면 Local DNS는 www.google.com에 대한 IP..

CS 기본 지식 2024.04.08

3. CS 기본 지식 - 알고리즘

* 정렬 - Bubble Sort 0번째 인덱스를 골라서 정렬이 안된 마지막 인덱스까지 탐색하며 규칙에 맞게 적절한 위치를 찾아주는 정렬법. 시간 복잡도는 O(n^2)이다. //ascending int a[n]; int selec_num; for(int i=0; i Divide Conquer는 큰 문제를 작은 하위 문제로 바꾸고 하위 문제를 해결한 뒤 이들을 결합하는 과정은 똑같다. 하지만 이 분할된 하위 문제들은 서로 "독립적"이며 하나의 하위 문제 해결이 다른 하위문제 해결에 도움이 되지 않는다. 그러나 Dynamic Programming에서는 각 하위 문제의 해결책을 저장하여 다른 하위 문제 해결에 도움을 준다.(재 계산 방지) 예를 들면 팩토리얼 계산법에서 5!를 계산할 때 4!까지의 수에서 5를..

CS 기본 지식 2024.04.04

2. CS 기본 지식 - 프로그래밍

* OOP란? Object-Oriented Programming 의 약어이다. 즉, 객체 지향 프로그래밍이다. 객체 지향 프로그래밍의 특징은 현실 세계를 프로그래밍으로 옮겨와 각 사물들을 객체로 보고, 그 객체로부터 개발하고자 하는 특징과 기능을 뽑아와 프로그래밍하는 기법이다. OOP로 코드를 작성하면 재사용성과 변형가능성을 높일 수 있다. 또한 세부 기능들을 캡슐화 하기 때문에 은닉 효과도 있다. 더보기 (ex : OOP로 Remote Controller를 개발했다고 치자. OOP의 특성상 최대한 추상화 시킨 RC의 Interface를 구성하고, 해당 Interface를 상속해서 구체화된 RC를 디자인할 것이다. 예를 들면 RC interface - "TV 용" RC Interface(혹은 abstra..

CS 기본 지식 2024.04.03

1. CS 기본 지식 - 자료구조

정의 * 자료구조 - 데이터를 원하는 규칙 또는 목적에 맞게 저장하기 위한 구조, * 알고리즘 - 자료구조에 쌓인 데이터를 활용해 어떠한 문제를 해결하기 위한 여러 동작들의 모임. 자료 구조의 종류 - 자료구조는 매우 다양하나, 큰 갈래로 보면 다음과 같은 종류가 있다. 1. 스택 : First-In Last-Out 구조. 물건을 쌓아놓고, 해당 물건을 다시 빼내는 과정을 생각하면 된다. 이 경우, 데이터는 먼저 들어온 것이 나중에 빠지게 된다. 2. 큐 : First-In First-Out 구조. 대기열을 생각하면 된다. 먼저 들어온 것이 먼저 빠져나간다. 3. 트리 : 정점(Vertex)와 간선(Edge)를 이용해 사이클을 이루지 않도록 구성한 Graph의 특수한 형태.(Acyclic Graph) 기..

CS 기본 지식 2024.04.02