1. 동기 vs 비동기 I/O 비교동기 I/O 모델은 I/O 작업이 완료될 때까지 호출 스레드가 차단된다.구현이 단순하지만 확장성에 제한이 있다. ex) 동기 소켓 통신 코드// 동기 소켓 통신 예시 (개념적 의사코드)socket = createSocket();connect(socket, serverAddress); // 연결될 때까지 차단send(socket, data); // 데이터가 전송될 때까지 차단response = receive(socket); // 응답을 받을 때까지 차단 비동기 I/O 모델은 I/O 요청 후 즉시 제어를 반환하고, 작업 완료 시 알림을 받는다.복잡하지만 높은 확장성과 처리량을 제공한다. ex) 비동기 소켓 통신 코드// 비동기 소켓 통신 예시 (개념적 의사코드)socket ..
1. IOCP란?IOCP(Input/Output Completion Port)는 Windows 환경에서 제공하는 고성능 비동기 입출력 처리 메커니즘이다.다수의 I/O 요청을 효율적으로 처리하기 위해 설계된 API이다. IOCP는 커널 레벨에서 I/O 작업 완료를 관리하는 큐 시스템이다.이 큐는 비동기 I/O 작업이 완료될 때 알림을 대기 중인 스레드에게 효율적으로 전달한다. IOCP의 핵심 목적은 다중 스레드 환경에서 최소한의 스레드로 최대한의 I/O 처리량을 달성하는 것이다. 2. IOCP의 구조2.1. 완료 포트 객체의 구조완료 포트는 커널 객체로 다음 주요 구성 요소를 포함한다.완료 패킷 큐: I/O 작업 결과를 저장하는 FIFO 큐대기 스레드 목록: 완료 패킷을 기다리는 스레드 목록동시성 한도:..
1. Overlapped I/O1.1. Overlapped I/O란Overlapped I/O는 Windows 운영체제에서 제공하는 비동기 입출력 메커니즘이다.하나의 스레드가 여러 I/O 작업을 동시에 진행할 수 있게 해준다. 이름에서 알 수 있듯이, Overlapped는 여러 I/O 작업이 시간적으로 겹쳐서 실행됨을 의미한다.Overlapped I/O의 핵심은 I/O 요청을 시작한 후 결과를 기다리지 않고 다른 작업을 수행할 수 있다는 점이다. 1.2. Windows에서의 Overlapped I/OOverlapped I/O는 Windows 운영체제의 핵심 기능 중 하나로, Win32 API에서 제공된다. Windows의 I/O 모델은 크게 동기식, 비동기식(Overlapped), 그리고 비동기 완료 통지..
1. useImperativeHandle이란?React는 기본적으로 선언형 방식을 따른다.하지만 특정 상황에서는 명령형 접근이 필요한 경우가 생기는데, 이때 useImperativeHandle을 사용한다. useImperativeHandle은 자식 컴포넌트의 내부 메서드나 속성을 부모 컴포넌트에 명시적으로 노출하는 훅이다. 이 훅을 사용하면 부모 컴포넌트가 자식 컴포넌트의 특정 기능에 직접 접근할 수 있게 된다. 사실 일반적인 리액트 앱을 만들때는 거의 사용할 일이 없다. 하지만 특정 상황에 필요한 경우가 생길 수 있으므로 전체 내용을 기억하기보단 대략적인 개념과 사용하는 상황 정도만 기억해둔 후 필요한 경우에 사용법을 다시 찾아보는 것을 추천한다. 1.1. ref 시스템 간략 설명React에서 ref는..
1. useRef란?useRef는 함수형 컴포넌트에서 참조를 생성하고 유지하는 Hook이다. 이 Hook은 주로 두 가지 용도로 사용된다.DOM 요소에 직접 접근하거나, 컴포넌트 리렌더링을 발생시키지 않고 값을 저장하는 것이다. useRef는 .current 프로퍼티를 가진 변경 가능한 객체를 반환한다. 이 객체는 컴포넌트의 전체 수명 주기 동안 유지된다. ex)import { useRef } from 'react';function TextInputButton() { const inputRef = useRef(null); const focusInput = () => { inputRef.current.focus(); }; return ( Focus the input ..
1. 데이터 모델링이란?데이터 모델링이란 현실 세계의 어떤 사물이나 현상을 추상화(모형화)해 데이터 간 구조와 관계를 정의한 데이터 모델을 만드는 과정이다. 즉, 데이터를 어떤 구조로 저장하고, 데이터 간 관계를 어떻게 설정할지 등을 정의하는 일이다. 데이터 모델링을 거치면 약속된 형식의 데이터 모델이 만들어진다. 1.1. 데이터 모델링의 이점데이터 모델링은 다음과 같은 6가지 주요 이점을 제공한다. 1) 비즈니스 요구사항 반영: - 조직의 비즈니스 요구사항과 규칙을 정확히 반영한 데이터베이스 구축이 가능하다. 2) 의사소통 개선: - 기술팀과 비즈니스팀 간의 의사소통을 원활하게 하며, 모든 이해관계자가 동일한 데이터 구조를 이해할 수 있게 한다. 3) 데이터 무결성 보장: - 적절한 제약 조..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.