분류 전체보기

· 기본
QUIC(Quick UDP Internet Connection) 차세대 HTTP 프로토콜 HTTP/3, HTTP over QUIC UDP 기반 응답속도 + TCP 기반 다중화와 신뢰성 보장 0-RTT 연결 설정 전송계층 핸드셰이크와 암호화 핸드셰이크를 하나로 통합하여 일반적인 연결에 필요한 핸드셰이크에서 1회 왕복을 줄임 이전에 연결한적 있는 서버에 대해 다시 연결작업을 하지 않아도 된다 스트림 멀티플렉싱 UDP를 통해 QUIC 스트림을 다중화하여 HOL Blocking 문제 극복 QUIC 패킷 손실은 해당 패킷의 스트림만 차단 흐름 제어 / 혼잡 제어 TCP Cubic - 혼잡 제어 전진 오류 수정(FEC) - 흐름 제어 연결 마이그레이션 클라이언트 IP 주소 변경 시에도 연결 유지 Wi-Fi와 셀룰러..
def arrayManipulation(n, queries): arr = [0] * n for a, b, k in queries: arr[a-1] += k if b < n: arr[b] += -k max_num = curr_num = 0 for num in arr: curr_num += num max_num = max(max_num, curr_num) return max_num 누적합(Prefix sum) 사용 모든 결과를 array에 저장해서 최대값을 찾으면 overflow가 발생 하나씩 만들어서 최대값 찾기
· 기본
TCP(Transmission Control Protocol) 연결 지향 방식 연결과 해제 과정이 필요함 3-ways handshaking, 4-ways handshaking 연결 = 패킷을 전송하기 위한 논리적 경로를 배정 높은 신뢰도 보장 데이터의 순서 보장 데이터의 도착 보장 데이터의 무결성 보장 : 보낸 데이터와 받은 데이터가 일치함 흐름 제어, 혼잡 제어 속도가 느리다 연결을 위한 비용 신뢰도 보장을 위한 비용 전이중(Full-Duplex), 점대점(Point to Point) 방식 TCP 서버 서버소켓은 연결만을 담당한다. 연결과정에서 반환된 클라이언트 소켓은 데이터의 송수신에 사용된다 서버와 클라이언트는 1대1로 연결된다. 스트림 전송으로 전송 데이터의 크기가 무제한이다. 패킷에 대한 응답을..
· 기본
프로세스(Process) 프로그램을 실행해서 메모리를 할당 받고, 그 메모리에 코드를 올린 인스턴스 하나의 프로세스는 여러 개의 스레드를 가질 수 있다 스레드(Thread) 실질적으로 CPU를 점유하는 실행 흐름의 최소 단위 같은 프로세스 안의 스레드들은 코드, 데이터, 힙 영역을 공유하고 각자의 스택 영역을 가진다 CPU 스케줄링 CPU의 개수는 한정적이고 여러 프로세스 혹은 스레드를 실행하고자 할 때 CPU를 할당하는 순서와 방법을 결정하는 것 비선점 스케줄링 한번 CPU를 점유한 스레드가 작업이 끝나거나 Block되기 전까지 계속해서 CPU를 차지하는 방식 FCFS(First Come First Serve), SJF(Shortest Job First) 선점 스케줄링 스케줄링 방식에 따라 정해진 우선..
· 기본
GET 리소스를 조회하는 메서드 서버에 전달하려는 데이터는 쿼리스트링을 통해서 전달 GET /members?id=chohon&age=20 서버에서 지원하면 메세지 바디를 통해서도 전달 가능하지만 지원하지 않는 곳이 많아서 권장하지 않음 GET 메서드는 캐싱이 가능하기 때문에 조회할 때는 다른 메서드들보다 유리함 POST 전달한 데이터 처리/생성 요청 메서드 서버에 전달하려는 데이터는 메시지 바디를 통해 전달 전달된 데이터로 주로 신규 리소스 생성을 처리 같은 요청을 반복해서 보내면 같은 리소스를 계속 생성 -> 멱등하지 않음 리소스 조회를 하려고 할 때 서버에 전달하려는 데이터가 JSON 형식이면 POST를 사용하기도 함 PUT 리소스를 대체(전체 수정)하는 메서드 특정 리소스를 대체해야 하므로 요청에서..
동시성(Concurrency) 동시에 실행되는 것처럼 보이는 것 싱글 코어에서 멀티 쓰레드 논리적인 개념 -> 스케줄링 등을 통해 구현 가능, 별도의 장치가 필요하지 않음 병렬성(Parallelism) 실제로 동시에 여러 작업이 처리되는 것 멀티 코어에서 멀티 쓰레드 물리적인 개념 -> 물리적으로 병렬성을 수행할 수 있게 하는 것이 필요함
· 기본
컨테이너(Containers) 새로 만든 애플리케이션을 다른 환경에서 실행할 때 문제가 자주 발생 -> 로컬 설정, 함수 라이브러리, 네트워크 기술, 보안 정책, 스토리지 차이 등 이를 해결하기 위해 애플리케이션과 함께 그 실행에 필요한 라이브러리, 바이너리, 구성 파일 등을 패키지로 묶어서 배포 -> 컨테이너 가상화 컨테이너는 OS를 제외한 애플리케이션에 필요한 모든 파일을 패키징한 것 -> OS 레벨 가상화 가상머신(VM)은 서버에 하이퍼바이저를 설치하고 그 위에 가상 OS와 애플리케이션을 패키징한 것 -> 하드웨어 레벨 가상화 하드웨어 레벨 가상화의 경우 패키징에 OS를 포함해야되기 때문에 수 GB의 용량을 갖지만 OS 레벨 가상화는 수십 MB 밖에 되지 않는다 -> 한 서버에서 가동할 수 있는 가..
한 번의 읽기 또는 쓰기 동작으로 전송되는 정보. 정해진 포맷을 사용하여 문자 또는 바이트 형식으로 송수신되는 데이터 항목의 연속적인 흐름 한 장치에서 다른 장치로 보내지는 모든 정보 데이터의 양이 한정되어 있지 않고 지속적으로 생성되고, 시간에 따라 값이 변하는 데이터의 흐름
초혼
'분류 전체보기' 카테고리의 글 목록 (5 Page)