전체 글

달공의 개발기

    2-1) 프로토콜

    2-1) 프로토콜

    프로토콜이란? 통신 프로토콜 또는 통신 규약으로, 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계 호스트와 호스트 사이에서 사용하는 일종의 언어와 같은 개념이다. 송수신자가 동일한 프로토콜을 설정해야 통신이 가능하다. 프토토콜의 기본 요소 ● 구문 (Syntax) : 데이터의 형식이나 부호화 및 신호 레벨을 규정 ● 의미 (Semantics) : 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보 규정 ● 시간 (Timing) : 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정 프토토콜의 기능 1. 단편화와 재조립 - 대용량 크기의 파일은 그대로 전송할 수 없기 때문에 작은 단위로 나누어 보내고 수신측에서 이를 재조합한다. 2. ..

    1-2)  Web & HTTP

    1-2) Web & HTTP

    URI & URL URI와 URL을 혼용해서 사용하는 경우가 있다. 두 차이를 정확히 몰랐는데, 이번 기회를 통해 비교할 수 있었다. 결론부터 보면, URI는 URL의 의미를 품고 있다. ▶ URI (Uniform Resource Identifier) : 자원의 위치 뿐만 아니라 자원에 대한 고유 식별자로서 URL 의미를 포함한다. ▶ URL (Uniform Resource Locator) : 자원이 실제로 존재하는 위치를 가리킨다. 즉, URI는 식별하고, URL은 위치를 가리킨다. 예를 들어보자. 1) https://withmoonlab.tistory.com/index 위의 예시에서 withmoonlab.tistory.com에서 index라는 경로를 타나내고 있다. 서버에서 해당 라우팅에 대한 자원을..

    1-1) 웹브라우저 동작 방식

    1-1) 웹브라우저 동작 방식

    웹의 동작 방식에 대해 이해하기 위해 먼저 기본적인 개념들을 정리했다. 웹에 연결된 컴퓨터는 클라이언트와 서버라고 한다. 웹브라우저 동작 과정에서 사용되는 개념들로, 보다 쉽게 이해하기 위해 예를 들었다. ● 클라이언트 : 쉽게 말해 요청자. 서버의 서비스를 받아 사용하는 장치, 프로그램이다. (⚡ 긴 도로 한 쪽 끝에 위치한 집에서 반대 끝에 있는 무인마트로부터 물을 사려는 나) ● 서버 : 응답자. 네트워크를 통해 클라이너트에게 서비스를 제공하는 시스템이다. (⚡ 물을 요청하니 물에 대해 종류별로 제공해주는 마트) ● TCP / IP : 인터넷이 컴퓨터 네트워크 사이에서 정보를 주고 받는데 이용되는 프로토콜 통신 규약. (⚡ 주문을 하고, 물을 살 수 있게 해주는 운송 장치) ● WAS : 서버에게 ..

    [자료구조] 해시테이블

    [자료구조] 해시테이블

    해시테이블 (HashTable) 이란? - 해시함수를 사용하여 변환한 값을 색인(index)로 삼아 키(KEY)와 값(VALUE)를 대응시켜 저장하는 데이터 구조 - 키를 통해 해당 데이터에 빠르게 접근이 가능하다. - 해시 값 : 해시 테이블의 Index 해싱이란? - 키를 특정 계산식에 넣어 나온 결과를 사용하여 값에 접근하는 과정 해시테이블의 연산 ● search() - 해시테이블 내 데이터를 탐색한다. ● insert() - 해시테이블에 (값, 데이터) 추가 ● delete() - 데이터 삭제 ** HashTable과 HashMap 차이 HashTable 해시테이블 HashMap 해시맵 공통점 둘 다 Map 인터페이스를 구현한 것 차이점1 : Thread-safe O (멀티 스레드 환경에서 우수)..

    [자료구조] 데크

    [자료구조] 데크

    데크 (Dequeue) 란? - 양쪽에서 삽입과 삭제가 모두 가능한 구조 - Double-ended-queue의 줄임말 - 입력 제한 데크 : 한 쪽 입력을 제한한 데크 (Scroll) - 출력 제한 데크 : 한 쪽 출력을 제한한 데크 (Shelf) 데크의 연산 ● addFirst() : front 부분 입력 ● addLast() : last 부분 입력 ● removeFirst() / removeLast() : 출력 위 메서드 말고도 poll, offer, push, pop 모두 사용 가능하다. 1) 데크의 구현 아래와 같이 ArrayDeque를 통해 Deque를 구현할 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 import..

    [자료구조] 큐

    [자료구조] 큐

    큐 (Queue) 란? - 입력 순서대로 데이터 처리가 필요할 때 사용하는 선입선출 구조 (FIFO) - BFS (그래프 넓이 우선 탐색), 프린터 출력 대기열과 같은 상황에서 사용 큐의 연산 ● enqueue() : 큐 맨 뒤에 데이터 추가 ● dequeue() : 큐 맨 앞쪽의 데이터 삭제 위 연산 뿐만 아니라, poll(), peek(), contains(), size(), isEmpty()도 사용가능하다. 큐의 특징 ● 한 쪽 끝은 front로 정하여 삭제 연산만 수행한다. ● 다른 한 쪽 끝은 rear로 설정하여 삽입 연산만 수행한다. ● ArrayList와 배열로 구현 가능하다. 1) 큐의 구현 아래 구현한 것과 같이, LinkedList로 생성하여 Queue의 다양한 메서드를 사용해보고 결과..