개발에 도움이 되는 (78) 썸네일형 리스트형 DNS(Domain Name System) - DNS (Domain Name System) : Host의 Domain Name을 네트워크 주소로 변환하거나, 그 반대의 역학을 수행하는 시스템이다. 인터넷의 DNS는 이름과 숫자 간의 매핑을 관리하는 마치 전화번호부 같은 느낌 - Domain 구조 1) Domain은 전 세계적으로 고유하게 존재함 2) 정해진 규칙, 체계에 따라 만들어지며 임의로 생성, 변경이 불가능 3) 모든 Domain 은 .(Dot) 또는 Root라 불리는 Domain 아래에 계층적 구조로 구성 - DNS 구성 요소 1) Domain Name Space : DNS가 관리하는 아래와 같은 계층적 구조 2) Resolver : 웹 브라우저와 같이 DNS 클라이언트의 요청을 Name Server로 전달하고 Name Server로부터.. 정렬(Sort) 알고리즘 - 정렬 알고리즘 : 원소들을 번호순이나 사전 순서와 같이 일정한 순서대로 열거하는 알고리즘 - 대표적인 정렬의 종류 1. 버블 정렬 (Bubble Sort) : 두 인접한 원소의 대소를 비교하고, 조건에 따라 자리를 교환하며 정렬하는 방식 - 시간 복잡도 - 평균 : O(n^2) - 최악 : O(n^2) - 장점 1) 구현이 매우 간단하고, 소스 코드가 직관적이다. 2) 정렬하고자 하는 배열 안에서 교환하는 방식이므로, 다른 메모리 공간을 필요로 하지 않는다. (제자리 정렬) 3) 중복된 값을 입력 순서와 동일하게 정렬하는 안정 정렬이다. - 단점 1) 시간복잡도가 최악, 최선, 평균 모두 O(n^2)으로 굉장히 비효율적이다. 2) 정렬되어 있지 않은 원소가 정렬 되었을 때의 자리로 가기 위해서 교환 .. OSI 7 계층(OSI 7 Layer) - OSI 7 계층 (Open System Interconnection 7 Layer) : 국제 표준화 기구 (ISO)에서 개발한 모델로, 네트워크에서 일어나는 통신 과정을 7 계층으로 나눈 모델 - 계층을 나눈 이유 : 통신이 일어나는 과정을 단계별로 파악할 수 있고, 특정 계층에 문제가 발생하면 다른 계층을 건들지 않고 문제가 발생한 계층에서 해결하기 위해 1. 물리 계층 (Physical Layer) : 물리적인 장치의 전기적, 전자적인 신호를 사용하여 Data 전송 0과 1로 나열한 디지털 신호를 아날로그 신호로 바꾸거나(Encoding) 그 역으로 아날로그 신호를 디지털 신호로 바꾸는(Decoding) 과정을 거쳐 Data를 서로 주고받음 - 단위 : bit - 프로토콜 : RS-232 - 장비.. 쿠키(Cookie), 세션(Session) - 쿠키와 세션의 사용 이유 : HTTP의 특징 중 Connectionless에 의해 통신할 때마다 새로 연결을 해줘야 하고 Stateless에 의해 상태 정보가 유지되지 않는 특성이 있음. 이 특성들을 단점을 보완하기 위해 사용하며, 쿠키와 세션 덕분에 어떤 페이지에서 다른 페이지로 넘어가도 인증이 그대로 유지됨. - 쿠키 (Cookie) : 클라이언트 로컬에 저장되는 Key-Value쌍이 들어있는 작은 데이터 파일 - 특징 1. 클라이언트의 상태 정보를 로컬에 저장했다가 요청할 때 참조 2. 클라이언트에 300개까지 쿠키 저장이 가능함. 하나의 도메인당 20개의 값만 가지며, 하나의 쿠키 값은 4KB까지 저장 가능 3. 쿠키는 이름(쿠키를 구별하기 위한 이름), 값(쿠키의 이름과 관련된 값), 만료 .. HTTP(Hyper Text Transfer Protocol), HTTPS(HTTP Secure) - HTTP : 응용 계층 (Application layer)에 속해 있으며, HTML과 같은 하이퍼미디어 문서를 전송하기 위한 Protocol이다. - 특징 대부분의 파일 형식 전송 가능 : Json, Text, Image는 물론 음성 파일 등도 HTTP를 통해 전송이 가능 80번 Port를 사용 클라이언트 - 서버 구조 : 클라이언트의 요청이 있을 때 서버가 응답하는 단방향 통신 Stateless : 서버는 클라이언트의 상태를 저장하지 않는다. 애당초 요청할 때 필요한 데이터를 다 담아서 보내기 때문에 아무 서버나 호출해도 상관없음(서버 확장성에 좋음) Connectionless : 클라이언트가 서버에 요청하고 응답을 받으면 바로 연결을 끊어 연결을 유지하는 자원을 최소한으로 줄여줌. 하지만 웹 브라.. 가비지 컬렉션(Garbage Collection) - 가비지 컬렉션 (Garbage Collection) : 메모리 관리 기법 중 하나로, 프로그램이 동적으로 할당했던 메모리 영역 중에서 더 이상 사용하지 않아 필요 없게 된 영역을 해제하는 기능 가비지 컬렉터는 묵시적으로 필요 없게 된 메모리 영역을 해제함으로써 메모리 누수를 막아주고, 메모리를 효율적으로 관리할 수 있게 도와준다. - 작동 방식 1. Reference Counting : 객체를 참조하는 레퍼런스의 개수를 저장하여 이 개수가 0이 되었을 때 메모리에서 해제하는 방법 이 방법은 구현하기 쉽고 빠르다는 장점이 있지만, 순환 참조가 되었을 때 이를 탐지하지 못한다는 단점이 있다. 위의 그림과 같이 순환 참조가 되었을 때는 메모리를 해제시키지 못한다. 2. Mark & Sweep : Root .. TCP 3-way handshake, 4-way handshake - Handshake : 완전한 통신이 시작되기 전에 통신의 시작 부분에서 통신의 Protocol을 약속하는 정보를 서로 주고받는 자동화된 합의 과정 - 이 과정에서 쓰일 TCP Packet Flag 정보 1. SYN (Synchronize Sqeunce Number) : 연결 설정의 의미를 지님 2. ACK (Acknowledgement) : 응답 확인의 의미를 지님 3. FIN (Finish) : 세션 연결을 종료시킬 때 사용, 연결 해제의 의미를 지님 - 3-way handshake : 정확한 전송을 보장하기 위해 상대방과 사전에 세션을 수립하는 과정. TCP 연결은 3번의 과정을 통해 이루어짐. - 과정 1. 클라이언트가 서버와 연결하려면 랜덤으로 생성된 Seq 값을 서버에게 보냄 2. 서버는 이.. TCP(Transmission Control Protocol), UDP(User Datagram Protocol) 둘 다 OSI 7계층 중 전송 계층 (Transport Layer)에 속해 있는 통신 Protocol이다. - TCP (Transmission Control Protocol) : 신뢰성있는 데이터 통신을 가능하게 해주는 Protocol이며, IP와 함께 TCP/IP라고 불린다. - 특징 1. 연결형 서비스로 가상 회선 방식을 제공함 - 가상 회선 방식 : packet을 전송하기 전에 송수신 측간 논리적인 연결을 먼저 수행한다. 그리고 그 수행된 경로를 통해 순차적으로 전송 2. 높은 신뢰성과 순서 보장 3. 전이중 (Full-Duplex), 점대점 (Point to Point) 방식 - 전이중 (Full-Duplex) : 전송이 양방향에서 동시에 일어날 수 있음 - 점대점 (Point to Point) .. 이전 1 ··· 3 4 5 6 7 8 9 10 다음