본문 바로가기

Basic

서버와 클라이언트 개념 1. 서버 첫번째는 하드웨어적인 개념에서 컴퓨터 자체를 서버라고 한다. 두번째는 소프트웨어적인 개념에서 서버 프로그램을 의미한다. 즉 클라이언트에게 네트워크(인터넷망)를 통해서 정보나 서비스를 제공하는 컴퓨터 또는 프로그램. ex) 아파치 2. 클라이언트(사용자를 의미) 첫번째는 하드웨어적인 개념에서 컴퓨터 자체를 클라이언트라고 한다. 두번째는 소프트웨어적인 개념에서 클라이언트 프로그램을 의미한다. 즉, 네트워크를 통하여 서버라는 다른 컴퓨터 시스템 상의 원격 서비스에 접속할 수 있는 응용 프로그램 또는 사용자 컴퓨터 ex) 익스플로어,크롬
네트워크란? 1. 네트워크(Network)의 개념 Net + Work 의 합성어 = net 이라는 (통신)망, 그물, 관계안에서 work 일을 한다. 연결된 망 안에서 데이터를 주고 받는 일을 하는것이 핵심이다. 예) 네트워크는 사용자들이 파일과 소프트웨어를 공유하게 해주고 중앙 프린터를 사용할 수 있게 해준다. 2. 네트워크 종류 1) PAN ( Personal Area Network ) : 가장 작은 규모의 네트워크 2) LAN ( Local Area Network ) : 근거리 영역 네트워크- 근거리 통신 망을 의미 하며 지역적 좁은 범위 내에서 고속 통신이 가능한 통신망 3) Man ( Metropolitan Area Network ) : 대도시 영역 네트워크 4) Wan ( Wide Area Network ..
프로토콜과 osi 7계층 1. 프로토콜(통신 규약) 망 안에서 데이터를 주고받기 위한 방식이 있는데, 이 방식은 자기 마음대로의 방식이 아니라 형식 이 정해져 있다. 즉 포로토콜은 인터넷 상에서 컴퓨터 간의 데이터를 주고 받기 위한 약속된 형식이다. 다시 말해서 데이터를 주고받기 위해서는 이 형식을 아는것이 중요하다. 2. OSI 7 계층 컴퓨터 네트워크 프로토콜 디자인(형식)과 통신을 계층으로 구분하여 규정 즉 프로토콜, 형식을 기능별로 구분한 것을 OSI 7 계층라 한다. 7 계층 : Application Layer(응용 계층)6 계층 : Presentation Layer(표현 계층)5 계층 : Session Layer(세션 계층)(7 6 5계층을 통하여 data가 만들어 짐)4 계층 : Transport Layer(전송 계..
도메인 1. ip 인터넷에 연결되어 있는 장치(컴퓨터, 스마트폰, 타블릿, 서버 등등)들은 각각의 장치를 식별할 수 있는 주소를 가지고 있는데 이를 ip라고 한다. 예) 115.68.24.88 2. 도메인이란? ip는 사람이 이해하고 기억하기 어렵기 때문에 이를 위해서 각 ip에 이름을 부여할 수 있게 했는 데, 이것을 도메인이라고 한다. 예) naver.com -> 220.95.233.172 3. 도메인의 구성요소 도메인은 컴퓨터의 이름과 최상위 도메인으로 구성되어 있다. 예를들면 아래와 같다. daum.co.krdaum : 컴퓨터의 이름co : 최상위 도메인을 의미kr : 대한민국의 NIC에서 관리하는 도메인을 의미 4. URL이란 URL은 도메인 + 경로 예를 들어서 https://www.opentutor..
삽입정렬 1. 삽입정렬이란?삽입정렬은 정렬 안된 부분에 있는 데이터를 정렬 된 부분의 특정 위치에 삽입해가면서 정렬을 진행하는 것이다.전체적인 원리는 처음 5는 정렬되어있다고 생각하고 3부터 2,4,1을 차례대로 정렬을 진행한다.이를 위한 구체적인 다른 예시를 봐보자아래와 같이 데이터를 한 칸씩 뒤로 밀면서 삽입할 위치를 찾는것이다. 2. 삽입정렬 구현구현설명은 코드 주석을 봐보자1234567891011121314151617181920212223242526272829303132public class InsertionSort { public static void main(String[] args) { int[] arr = {3, 2, 4, 1}; SelSort(arr, arr.length); for(int i=0;..
선택정렬 1. 선택정렬이란?정렬 순서상 가장 앞서는 것을 선택해서 가장 왼쪽으로 이동시키고, 원래 그자리에 있던 데이터는 빈자리로 이동하는것.2. 선택정렬 구현- 버블정렬과 유사하다- for문 중첩으로 구현하였다. - 안쪽 for문의 반복조건과 바깥쪽 for문의 반복조건에 대한 이해가 정확히 필요하다.123456789101112131415161718192021222324252627282930313233public class SelectionSort { public static void main(String[] args) { int[] arr = {3, 2, 4, 1}; SelSort(arr, arr.length); for(int i=0; i
정렬-버블정렬 1. 정렬자료구조에서 정렬을 얘기하는 이유는 탐색을 설명하기 위한것이다.탐색은 어떤 기준을 근거로해서 정렬된 데이터들을 어떻게 효율적으로 탐색할것인가?그것을 논의하는게 탐색이다.탐색에 앞서 선행된 주제가 정렬이다. 2. 버블정렬 이해- 버블정렬은 구현하기는 쉬우나 성능은 떨어진다.- 인접한 두개의 데이터를 비교해가면서 바뀌어야 한다면 두 데이터를 바꾸면서 정렬을 진행한다. 1) 첫번째 : 제일 큰 값을 맨 뒤로 보낸다. 2) 두번째: 두번째로 큰 값을 맨뒤에서 한 칸 앞으로 보낸다. 3) 세번째: 나머지를 동일하게 정렬한다. 이와 같이 순서대로 비교하고 교환하는 일련의 과정이 거품이 일어나는 모습에 비유되어 버블 정렬이라 한다. 3. 버블정렬 구현- for문 중첩으로 구현하였다. - 안쪽 for문의 반복..
우선순위 큐와 힙 1. 우선순위 큐와 힙 큐와 우선순위 큐는 다르다. 큐는 선형 자료구조에 속한다.우선순위 큐는 비선형 자료구조에 속한다큐의 연장선이 아닌 트리의 연장선이라고 봐야한다 우선순위큐는 들어가는 순서와 나가는 순서가 아무런 관계가 없다단지 입구와 출구가있어서 큐라하는것이다.우선순위를 근거로 데이터 뽑아낸다.우선순위는 프로그래머가 결정함. 2. 우선순위 큐의 구현 1) 배열과 연결리스트로 구현 데이터의 수가 많아지면 배열이나 연결리스트는 성능이 떨어진다 그래서 힙을 이용해 구현하는게 좋다 2) 힙이라는 자료구조를 통한 우선순위 큐 구현 힙이 우선순위큐라고 말할수는 없다. 우선순위 큐를 만들기 위해 힙(이진트리)을 사용한것이다. 힙의 특성 2가지 - 이진트리의 일종이다 그런데 그냥이 아닌 완전 이진트리이다 위에서 ..