본문 바로가기

CS

(4)
비연결성(Connectionless)과 무상태(Stateless) [ Stateless vs Connectionless ] Stateless (무상태성): 클라이언트와 서버 사이에 상태를 유지하지 않는다는 뜻 필요한 상태에 대한 정보를 클라이언트가 가지고 오기 때문에 클라이언트의 요청에 어느 서버가 응답해도 상관 없다. 따라서 클라이언트의 요청이 대폭 증가하면 서버를 증설해 해결할 수 있다. Connectionless (비연결성): TCP/IP 커넥션 연결을 지속하지 않는다는 뜻이다 클라이언트가 서버에 요청을 하고 응답을 받으면 바로 TCP/IP 연결을 끊어 연결을 유지하지 않음으로써 서버의 자원을 효율적으로 관리하고 수 많은 클라이언트의 요청에 대응할 수 있게 한다. 즉, 무상태성은 클라이언트와 서버 간에 상태 정보를 들고있지 않아 클라이언트가 상태 정보를 일일히 h..
빅오 표기법(Big O notation) 빅오 표기법(Big O notation)은 알고리즘의 시간 복잡도나 공간 복잡도를 나타내기 위해 사용되는 수학적 표현 방식이다. 이 표기법은 알고리즘이 입력 데이터에 대해 어떻게 확장되는지를 나타내며, 최악의 경우의 성능을 대략적으로 표현한다. O(1) - 상수 시간 설명 : 입력 데이터의 크기와 상관없이 알고리즘의 실행 시간이 일정하다. 예시 : 배열에서 특정 인덱스의 요소에 접근하는 경우. 배열의 크기와 관계없이 하나의 연산만으로 원하는 요소를 얻을 수 있다. int[] array = {1, 2, 3, 4, 5}; int getElement(int index) { return array[index]; } O(n) - 선형 시간 설명 : 입력 데이터의 크기에 비례하여 실행 시간이 증가한다. 예시 : 배..
REST API vs WebSocket API REST API 기반 프로토콜 : HTTP(S), 상태를 유지하지 않는(stateless) 프로토콜을 사용한다. 통신 방식 : 클라이언트가 서버에 요청(request)을 보내고, 서버가 그 요청에 대한 응답(response)을 반환하는 단방향 통신이다. 특징 : 각 요청은 독립적이며, 서버는 클라이언트의 이전 요청에 대한 정보를 저장하지 않는다. CRUD(Create, Read, Update, Delete) 작업에 적합하다. RESTful API는 자원(resource) 기반의 구조를 가지며, URL을 통해 자원을 명시하고 HTTP 메서드 (GET, POST, PUT, DELETE 등)를 사용하여 해당 자원에 대한 행동을 정의한다. 사용 사례 : 웹 서비스의 일반적인 데이터 교환, 웹 페이지의 초기 로딩..
프로토콜과 API 프로토콜 : 주문의 규칙 프로토콜 (Protocol)은 컴퓨터 또는 기기들이 서로 통신하기 위해 사용하는 규칙이나 절차다. 커피숍에서 커피를 주문할 때, 우리는 특정한 방식으로 주문한다. 예를 들어, 줄을 서서 차례를 기다리고, 직원에게 메뉴를 선택하여 주문하며, 결제를 한다. 이 모든 과정은 커피숍에서 정한 '주문 규칙'에 따른 것이다. 인터넷에서 데이터를 주고받을 때도 비슷한 규칙이 적용되며, 이러한 규칙을 우리는 '프로토콜'이라고 한다. 예를 들어, 웹사이트에 접속할 때 사용하는 HTTP, 파일을 전송할 때 사용하는 FTP 등이 프로토콜의 예이다. API : 주문을 돕는 메뉴판 API (Application Programming Interface)는 어떤 프로그램이나 서비스가 다른 프로그램이나 서비..