본문 바로가기

Programming/Node.js4

[Node.js] Event Loop와 non-blocking I/O 실행 과정 Event Loop와 non-blocking I/O 실행 과정Node.js가 Single Thread 임에도 어떻게 non-blocking I/O를 처리하는지 알아보자사전 지식스레드 스레드 (컴퓨팅) - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전. 두 개의 스레드를 실행하고 있는 하나의 프로세스. 스레드(thread)는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으ko.wikipedia.org 콜백 콜백 - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전. 프로그래밍에서 콜백(callback) 또는 콜백 함수(callback function)는 다른 코드의 인수로서 넘겨주는 실행 가능한 코드를 말한다. 콜백을 넘겨받는 코드는 이 .. 2024. 7. 4.
[Node.js] parameter가 있는 middleware parameter가 있는 middleware 매개변수를 사용할 수 있는 미들웨어를 만들어보자. router와 middleware의 기본 형태 router.get('/example', function (req, res, next) { ... }); NodeJS에서는 라우터를 구성할 때 위 소스코드처럼 경로를 지정하고 해당 경로에서 트리거 될 미들웨어를 작성한다. // 미들웨어의 기본 형태 function (req, res, next) { } // 파라미터를 스킵한 미들웨어의 형태 function () { } 미들웨어는 항상 기본 파라미터로 request, response, next 개체들을 받거나 스킵할 수 있는데, 개발자가 원하는 파라미터를 따로 선언할 수 없다는 문제점이 있다. parameterized.. 2020. 3. 27.
[Node.js] PayloadTooLargeError: request entity too large PayloadTooLargeError: request entity too large. Node.js에서 PayloadTooLargeError가 발생하는 경우와 해결법에 대하여 알아보자. 발생 원인 보통 express를 이용하여 Node.js에서 웹 서버를 구축할 때 const app = express(); ... app.use(express.json()); // 혹은 bodyParser.json() app.use(express.urlencoded()); // 혹은 bodyParser.urlencoded() ... request의 내용을 파싱하여 라우터가 이용할 수 있도록 위와 같이 두 가지 파서(body-parser 패키지에 있음)를 등록하게 된다. PayloadTooLargeError가 발생하는 원인은.. 2019. 8. 11.
[Node.js] .env 환경변수 ▶ 주제 : .env 환경변수 Node.js에서 프로그래밍에 필요한 값들을 서술할 수 있는 .env 환경변수 파일에 대하여 알아보자. ▶ 예시 Node.js에서는 프로젝트 디렉토리에 .env라는 이름의 파일이 존재하면 환경변수처럼 소스코드로 가져와서 사용할 수 있다. .env 파일의 내용은 key=value 형태로 써야하며 문장의 맨 앞에 #를 붙이면 주석을 쓸 수도 있다. # This is sample .env MESSAGE=hello NUMBER=1234 .env을 이용하기 위해서는 프로젝트에 dotenv 패키지를 설치해야한다. var express = require('express'); var router = express.Router(); require('dotenv').config(); rout.. 2019. 5. 24.
반응형