분류 전체보기(619)
-
풀스택 서비스 네트워킹(10), QUIC & HTTP/3
QUIC & HTTP/3 게임 서버의 경우에는 실시간으로 인터렉티브하게 계산해서 처리하는 게 많기 때문에 지연시간이 짧은 것도 중요하고, 틱을 일정하게 처리하는 것(지터)도 중요하다. 메타버스 컨텐츠에서 그래픽의 퀄리티를 줄이는 것은 딜레이가 발생하면 멀미를 하게 된다. 이에 따라 네트워크가 중요하게 된다. 현재 논문에서 보면 게임은 네트워크에 대한 지연시간보단 정보가 일정한 시간동안 전달되는 것이 더 중요하다는 내용이 있다. 이러한 맥락에서는 게임을 하기엔 HTTP 1와 HTTP 2보단 HTTP 3를 사용하는 것이 더욱 지연시간을 줄일 수 있게 된다. QUIC의 특징 지연을 줄이고자 한다. HTTP 2가 찢어져서 윗부분과 아랫부분이 나눠진다. TCP가 아닌 UDP를 사용한다. 구글의 크롤링 작업은 HT..
2022.12.12 -
풀스텍 서비스 네트워킹(9), WebRTC
WebRTC 웹 기반의 리얼타임 커뮤니케이션 웹 브라우저로 화상/음성 전화를 사용하도록 지원한다. 웹 브라우저에서도 마이크나 비디오 등을 사용할 수 있도록 지원한다. 1. 들어가는 글 1) Client-Server s Peer to Peer P2P는 중앙집중화된 서버 없이 상대방과 통신하는 것을 지향한다. 블루투스나 무선랜으로 통신을 지향한다. 2) Client Server model 일반적인 스킴은 Client Server 모델이다. cf) 매쉬 네트워크: 엑세스 포인트 없이 디바이스들 간에 연결해서 네트워크를 구성한다. 재난 지역의 소방관이나 외국의 산지에서 사용할 수 있다. 우리나라에서는 통신 3사에 의해 자주 사용되지 않는다. 3) p2p 블록체인이 p2p 방식을 사용한 대표적인 예시이다. 블록체..
2022.12.11 -
풀스택서비스네트워킹(8), HTTP/2
HTTP/2 1. HTTP/1.1의 문제점 1) 웹의 역사 (1) 웹의 역사 웹은 팀버너스리가 문자, 사진, 동영상, 음성 등의 연구결과를 공유하기 위해 만들었다. 이때 하이퍼텍스트의 개념을 구현해서 클릭을 하면 넘어가는 식으로 진행되었다. 이때 모자이크에서 발전한 넷스케이프가 등장해 브라우저를 만들었다. 이후 웹 브라우저들이 이를 참고해 만들어졌다. 팀 버너스리는 오픈소스인 SOLID를 만들었다. WWW을 만들었을 때 다른 기업의 이익을 위해 만든 것이 아니다! 나의 데이터는 내가 관리하도록 한다!라는 점을 고려해 만든 오픈소스이다. HTTP 2부터는 뒤에 소수점이 없다. (2) 한국에서의 웹 1990년대에 처음 상용화되고, 분당에서 최초로 인터넷이 시작하고, 전국적으로 확산되기 시작했다. 1989년도..
2022.12.11 -
풀스택서비스네트워킹(7), gRPC
gRPC 1. 함수 호출 방법(들) 0) 실행파일 구조 프로그램이 실행되면 윈도우즈의 경우에는 위와 같은 형태가 된다. text는 기계어로 번역된 코드가 작성되어있다. 그 위에 초기화가 된 데이터, 그 위에는 초기화가 되지 않은 데이터를 쌓는다. high address에 가면 stack이 있다. 이는 call stack을 의미한다. heap은 동적으로 할당하는 메모리가 차지하는 영역이다. 클래스를 통해 객체를 만들 경우 heap에 저장된다. 우리가 만든 함수도 컴퓨터 메모리 어딘가에 위치하게 된다. 함수를 호출한다는 것은 프로그램의 실행을 프로그램의 메모리 첫번째부분으로 옮긴다. 이후 코드를 읽어서 cpu에게 전달하고 코드를 실행할 수 있도록한다. dll을 사용해서 다이나믹 링킹을 하는 경우에는 컴파일은..
2022.12.10 -
운영체제(), File System Interface
File System Interface 세컨더리 스토리지에 컴퓨터 전원이 꺼지더라도 데이터를 저장하기 위한 파일 시스템이 있다. 13장은 사용자 입장에서의 File System이다. 14장과 15장은 개발자 입장에서의 File System이다. Basic Concept 파일 시스템이란 전원이 꺼지더라도 오랜 기간 동안 정보를 저장하기 위해 지원하는 운영체제의 서브 시스템 레귤러 파일은 일반적인 파일이고, 디렉토리(폴더)는 파일을 논리적으로 잘 다루기 위해서 사용하는 파일이다. 파일은 여러 사람들이 쉐어할 수 있게 하고, 변경하지 못하거나 볼 수 없게하는 프로텍션 기능도 제공해야한다. File Structures 파일을 두 케이스로 나눈다. 텍스트 파일 텍스트 파일은 알파벳은 아스키 코드, 한글은 한글 코..
2022.12.07 -
운영체제(), File System Implementation/File System Internals
File System Implementation/File System Internals 파일 시스템의 내부 구조 개요 디스크 스페이스의 관리 및 성능을 좋게하는 매커니즘, 신뢰성(reliability)이 어떻게 되는가가 중요하다. 파일 시스템의 구현 (1) In-memory structure 운영체제가 부팅돼서 프로세스가 파일을 액세스하는 형태 운영체제가 수행되는 동안 어떻게 어플리케이션 프로세스에게 파일 시스템에 있는 것을 제공할 수 있는 가. 어플리케이션 프로세스가 open했을 경우, read를 했을 경우 어떻게 동작하는지 설명하는 자료이다. In memory structure는 프로세스 내에서는 프로세스가 파일을 오픈할 때마다 파일 디스크립터 엔트리가 하나씩 생겨난다.(이는 각 파일에 해당되어 관리..
2022.12.07