반응형

네트워크 4

stateful과 stateless란? 해당 프로토콜은?

stateful과 stateless 이 두 용어는 시스템이 사용자의 정보나 상태를 얼마나 기억하는 지를 나타냅니다. stateless - 레스토랑에서 매번 주문할 때마다 메뉴를 다시 보고 주문하는 경우 stateful - 레스토랑의 단골 고객이 주문하는 경우. 평소 주문 내역을 알고 있는 서버가 '항상 먹던 것과 같이 할까요?'라고 물어보는 경우 stateless 시스템은 각각의 작업이 독립적이므로 빠르고 단순합니다. 반면, stateful시스템은 사용자의 상태나 이전 작업을 기억하기 때문에 더 복잡한 작업을 수행할 수 있습니다. Stateless(상태 없음) - HTTP프로토콜, UDP프로토콜 각 요청이나 작업이 독립적입니다. 이전의 요청이나 작업에 대한 정보를 유지하지 않습니다. 장점: 상태를 유지하..

네트워크 2023.09.13

OSI Model

OSI model은 개발자에게 매우매우 중요한 개념입니다. 네트워크에 표준이 있어야하는데 OSI model이 이 표준을 잡아줍니다. OSI model은 Open System Interconnections model의 약자입니다. 왜 우리는 커뮤니케이션 모델이 필요한걸까요? Agnostic applications(특정 기술, 플랫폼, 데이터베이스 등에 종속되지 않는 응용 프로그램을 의미합니다. 다양한 환경이나 시스템에서 운영될 수 있으며, 특정 하드웨어나 소프트웨어에 구애받지 않습니다. - 표준 모델이 없는 경우 응용 프로그램은 기본 네트워크 매체에 대한 지식이 있어야 합니다. - 와이파이 vs 이더넷 vs LTE vs 광케이블에서 작동하도록 앱의 다른 버전을 만들어야된다고 상상해보세요. 네트워크 장비 관..

네트워크 2023.09.06

NodeJS Coroutine(코루틴)? 비동기 프로그래밍을 동기적인 코드처럼

코루틴(Coroutine) 코루틴은 경량 스레드와 비슷한 개념으로, 하나의 스레드 내에서 여러 개의 서브루틴(subroutine)이 동시에 실행되는 것을 가능하게 합니다. NodeJS에서는 코루틴을 구현하기 위해 co라이브러리나 async/await 문법을 사용할 수 있습니다. 코루틴은 비동기적인 코드를 동기적인 코드처럼 작성할 수 있도록 도와주어 비동기적인 프로그래밍을 보다 간편하게 만들어줍니다. NodeJS의 이벤트 루프와 코루틴을 통해 비동기 작업을 효율적으로 처리할 수 있으며, 단일 스레드로 더 높은 동시성을 구현하는 데 도움이 됩니다. 코루틴 라이브러리는 JavaScript에서 비동기적인 작업을 더욱 쉽게 다루기 위해 사용됩니다. 여기서는 co 라이브러리를 사용하는 코드 예시를 통해 설명하겠습니..

네트워크 2023.07.25
반응형