Node.js 3

Node.js - Mac과 Windows 개발환경 비교 및 추천

macOS vs WSL2: Node.js 개발환경 비교본인은 Windows를 쓰고 있지만, Node.js 개발할 때는 리눅스가 더 익숙하긴 하죠. 맥북은 쓰고 싶은데 비쌉니다.그래서 그냥 Node 개발할 때 과연 macOS와 Windows + WSL2 중 뭐가 더 좋을까 대충 알아보고 싶어졌습니다.🔍 요약 비교 (Node.js 개발 기준)항목MacOSWindows (WSL2)🐧 리눅스 호환성✅ 기본 Unix (macOS = Darwin 기반)✅ WSL2는 진짜 리눅스 커널 사용📦 npm/yarn 환경✅ 자연스럽고 안정적⚠️ WSL2 내에선 좋지만 윈도우 native는 충돌 많음🐳 Docker✅ Mac용 Docker 안정적 (단점: 느림)✅ WSL2에서 Docker Desktop 성능 우수💻 파일..

web 2025.06.03

Node.js - Node.js를 직접 만들어보자

Node.js를 직접 만든다면? 런타임 구성 요소와 구현 예제Node.js는 V8 JavaScript 엔진과 libuv 비동기 I/O 라이브러리를 기반으로 동작하는 JavaScript 런타임.Node.js를 직접 만든다면 어떤 요소들이 필요한지, 그리고 실제로 C++로 구현해볼 수 있는 예제들을 통해 구조를 이해 ㄱㄱ1. Node.js의 기본 구성 요소Node.js는 아래와 같은 구성 요소로 이루어져 있음.JavaScript 엔진: V8 (또는 SpiderMonkey, JavaScriptCore)비동기 I/O: libuv 또는 직접 구현한 이벤트 루프C++ 네이티브 모듈: 파일 시스템, 네트워크 API 등바인딩 시스템: C++ API를 JS에서 호출할 수 있도록 연결2. V8을 사용한 간단한 JavaSc..

web 2025.05.07

Prisma - Node.js ORM Prisma 동작 원리

Prisma가 백엔드 DB와 어떻게 통신하는가? Prisma는 TypeScript/JavaScript 기반 ORM. 코드에서 SQL 없이도 DB와 상호작용할 수 있도록 중간 추상 계층을 제공. Prisma ↔ DB 통신 구조 @prisma/client: 코드에서 사용하는 Prisma 클라이언트 라이브러리. Prisma Query Engine: Rust로 작성된 네이티브 바이너리. 실제 DB와 통신하는 주체. 통신 흐름 요약 코드에서 prisma.user.findMany() 등 Prisma 명령 실행 @prisma/client는 명령을 JSON-RPC로 감싸 Prisma Query Engine에 전달 Node.js는 이 엔진을 child process로 실행하거나 IPC로 연결 Query Engi..

web 2025.05.02