전체 글

운동을 좋아하는 8년차 웹 개발자 입니다.
·Node.js
1. EventEmitter란EventEmitter는 Node.js에서 이벤트 기반 프로그래밍을 구현하기 위한 핵심 클래스입니다. 이벤트를 발생시키고(emit) 리스너를 등록하여(on) 느슨하게 결합된 비동기 아키텍처를 구축할 수 있습니다. http, fs, stream 등 대부분의 Node.js 핵심 모듈이 EventEmitter를 기반으로 합니다.2. EventEmitter 생성const EventEmitter = require('events');// 방법 1: 직접 인스턴스 생성const emitter = new EventEmitter();// 방법 2: 클래스 상속class MyEmitter extends EventEmitter { constructor() { super(); this..
·Node.js
1. 타이머 함수란타이머 함수는 일정 시간 후 또는 주기적으로 코드를 실행하기 위한 글로벌 함수입니다. Node.js의 타이머는 브라우저의 타이머 API와 유사하지만, 이벤트 루프와 밀접하게 연관되어 있습니다. setTimeout, setInterval, setImmediate, process.nextTick이 주요 타이머 함수입니다.2. setTimeout지정된 시간 후 콜백 함수를 한 번 실행합니다.2.1 기본 사용법// 2초 후 실행setTimeout(() => { console.log('2초 후 실행됨');}, 2000);// 인자 전달setTimeout((name, age) => { console.log(`이름: ${name}, 나이: ${age}`);}, 1000, '홍길동', 30);2...
·Node.js
1. console 객체란console은 Node.js에서 표준 출력(stdout)과 표준 에러(stderr)로 메시지를 출력하기 위한 글로벌 객체입니다. 디버깅, 로깅, 성능 측정 등에 사용되며, 브라우저의 console과 유사한 API를 제공합니다.2. 기본 출력 메서드2.1 log, info, warn, error// 표준 출력 (stdout)console.log('일반 로그 메시지');console.info('정보 메시지');// 표준 에러 (stderr)console.warn('경고 메시지');console.error('에러 메시지');// 출력 스트림 차이// console.log → process.stdout// console.error → process.stderr2.2 형식 지정자// %..
·Node.js
1. process 객체란process는 현재 실행 중인 Node.js 프로세스에 대한 정보와 제어 기능을 제공하는 글로벌 객체입니다. 환경 변수 접근, 명령줄 인자 파싱, 프로세스 종료, 표준 입출력 스트림 등 시스템 수준의 다양한 기능을 제공합니다.2. 프로세스 정보2.1 기본 정보// Node.js 버전 정보console.log(process.version); // v20.10.0console.log(process.versions); // { node: '20.10.0', v8: '11.3.244.8', ... }// 프로세스 IDconsole.log(process.pid); // 12345console.log(process.ppid); // 부모 프로..
·Node.js
1. 글로벌 객체란글로벌 객체는 Node.js 어디서든 별도의 require 없이 사용할 수 있는 객체들입니다. 브라우저의 window 객체와 유사하게, Node.js는 global 객체를 최상위 스코프로 제공합니다. 하지만 모듈 시스템 특성상 var로 선언한 변수는 global에 추가되지 않습니다.2. global 객체// global 객체 확인console.log(global);// global에 속성 추가 (권장하지 않음)global.myVar = 'Hello';console.log(myVar); // Hello (어디서든 접근 가능)// 브라우저의 window와 비교// 브라우저: window.document, window.location// Node.js: global.process, glob..
·Node.js
1. Buffer란Buffer는 Node.js에서 바이너리 데이터를 다루기 위한 클래스입니다. JavaScript는 원래 문자열 처리에 최적화되어 있어 바이너리 데이터를 직접 다루기 어려웠습니다. Buffer는 고정 크기의 메모리 청크를 할당하여 TCP 스트림, 파일 시스템 작업, 이미지 처리 등에서 바이너리 데이터를 효율적으로 처리할 수 있게 해줍니다.2. Buffer 생성2.1 Buffer.alloc()지정된 크기의 버퍼를 생성하고 0으로 초기화합니다.// 10바이트 버퍼 생성 (0으로 초기화)const buf1 = Buffer.alloc(10);console.log(buf1);// // 특정 값으로 채우기const buf2 = Buffer.alloc(10, 1);console.log(buf2);//..
·Node.js
1. 스트림이란스트림(Stream)은 데이터를 청크(chunk) 단위로 처리하는 방식입니다. 대용량 파일이나 네트워크 데이터를 전체를 메모리에 로드하지 않고 조각조각 처리할 수 있어 메모리 효율이 높습니다. Node.js의 많은 내장 모듈(http, fs, zlib 등)이 스트림 인터페이스를 사용합니다.2. 스트림의 종류Node.js는 네 가지 종류의 스트림을 제공합니다.Readable: 데이터를 읽을 수 있는 스트림 (fs.createReadStream, http 요청)Writable: 데이터를 쓸 수 있는 스트림 (fs.createWriteStream, http 응답)Duplex: 읽기/쓰기 모두 가능한 스트림 (TCP 소켓)Transform: 데이터를 변환하면서 통과시키는 스트림 (zlib 압축)3..
·Node.js
1. 이벤트 모듈이란events 모듈은 Node.js에서 이벤트 기반 프로그래밍을 구현하기 위한 핵심 내장 모듈입니다. Node.js의 많은 내장 모듈(http, fs, stream 등)이 이 모듈을 기반으로 동작합니다. 이벤트를 발생시키고(emit) 리스너를 등록하여(on) 비동기 작업을 처리하는 패턴을 제공합니다.2. EventEmitter 기본 사용법2.1 EventEmitter 생성const EventEmitter = require('events');// 방법 1: 직접 인스턴스 생성const emitter = new EventEmitter();// 방법 2: 클래스 상속class MyEmitter extends EventEmitter {}const myEmitter = new MyEmitter(..
·Node.js
1. path 모듈이란path 모듈은 파일과 디렉토리 경로를 다루기 위한 Node.js 내장 모듈입니다. 운영체제마다 경로 구분자가 다른데(Windows는 , POSIX는 /), path 모듈을 사용하면 운영체제에 관계없이 일관된 방식으로 경로를 처리할 수 있습니다.2. path 모듈 불러오기// CommonJSconst path = require('path');// ES Modulesimport path from 'node:path';3. 경로 정보 추출3.1 path.basename()경로에서 파일명을 추출합니다.const path = require('path');console.log(path.basename('/home/user/file.txt'));// file.txtconsole.log(path..
·Node.js
1. URL 모듈이란url 모듈은 URL 문자열을 파싱하고 조작하기 위한 Node.js 내장 모듈입니다. URL의 각 구성 요소(프로토콜, 호스트, 경로, 쿼리 파라미터 등)를 분리하거나 조합할 수 있습니다. Node.js는 레거시 API와 WHATWG URL API 두 가지를 제공합니다.2. URL의 구조https://user:pass@www.example.com:8080/path/page?query=value#hash │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └─ hash (fragment) │ │ │ ..
·Node.js
1. HTTP 모듈이란http 모듈은 Node.js에서 HTTP 서버와 클라이언트를 생성하기 위한 내장 모듈입니다. 별도의 웹 프레임워크 없이도 HTTP 서버를 구축할 수 있으며, Express.js 같은 프레임워크도 내부적으로 이 모듈을 기반으로 동작합니다.2. HTTP 서버 생성2.1 기본 서버const http = require('http');const server = http.createServer((req, res) => { res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' }); res.end('안녕하세요, Node.js HTTP 서버입니다!');});server.listen(3000, () => { console.log(..
·Node.js
1. fs 모듈이란fs(File System) 모듈은 Node.js에서 파일과 디렉토리를 다루기 위한 내장 모듈입니다. 파일 읽기, 쓰기, 삭제, 디렉토리 생성 등의 작업을 수행할 수 있으며, 동기/비동기/프로미스 세 가지 방식의 API를 제공합니다.2. fs 모듈 불러오기// CommonJSconst fs = require('fs');const fsPromises = require('fs').promises;// 또는const { readFile, writeFile } = require('fs/promises');// ES Modulesimport fs from 'node:fs';import { readFile, writeFile } from 'node:fs/promises';3. 파일 읽기3.1 비동..
wsstar
걷고 또 걷기