1. 변수 선언 방식 변경JavaScript는 ES6(ECMAScript 2015) 이전까지 var 키워드만으로 변수를 선언했다.하지만 var는 다른 언어들의 변수 선언 방식과 차이가 있어 개발자들이 혼란과 불편함을 겪었다. 그리고 ES6에서는 let과 const라는 두 가지 새로운 변수 선언 방식이 도입되었다.이 변화는 단순한 문법 추가가 아닌, 언어의 근본적인 개선이었다. 2. var의 주요 문제점2.1. 함수 스코프var로 선언된 변수는 함수 스코프(function-level scope)를 가진다.블록 스코프가 아닌 함수 스코프는 예상치 못한 동작을 유발할 수 있다. ex)function varExample() { if (true) { var x = 10; } console.log(x)..
1. use 훅이란?use는 React 19에서 정식으로 도입된 새로운 훅이다.Promise나 Context와 같은 리소스의 값을 쉽게 읽을 수 있게 해주는 기능이다. 1.1. 기본 문법import { use } from 'react';// 사용 예시const value = use(resource); use 훅은 일반 훅과 마찬가지로 컴포넌트나 커스텀 훅 내부에서만 호출해야 한다. 다른 훅들과 달리 조건문이나 반복문 내부에서도 호출할 수 있어 더 유연한 코드 작성이 가능하다. 1.2. 일반 훅과의 차이점기존 훅들(useState, useEffect 등)은 컴포넌트 최상위 레벨에서만 호출해야 한다.반면 use 훅은 조건문(if)이나 반복문(for) 내부에서도 호출할 수 있다.이는 내부 구현 방식의 차이 ..
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), 그리고 비동기 완료 통지..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.