최근에 'styleu'라는 프로젝트를 시작하기 전에, Node.js에 대해 깊이 있게 학습할 기회를 가졌다. 이 과정에서 Node.js의 중요한 구성 요소 중 하나인 이벤트 루프(Event Loop)에 대한 이해를 심화시켰고, 특히 이벤트 루프를 차단하는 행위를 왜 하지 말아야 하는지에 대한 분석에 주력했다. 이에 대한 통찰을 공유하기 위해, 해당 내용을 담은 블로그를 작성하게 되었다.요약'이벤트 루프(Event Loop)'와 '워커 풀(Worker Pool)'은 주로 노드JS(Node.js)와 같은 비동기 프로그래밍 환경에서 중요한 역할을 한다.자바스크립트는 Event Loop가 있는 단일 스레드 환경에서 실행된다. 이벤트 루프는 들어오는 작업을 순차적으로 처리하는 연속 루프로, 더 많은 작업을 수행하..
"TypeError: Router.use() requires a middleware function but got a Object" 오류는 router 부분의 마지막에 "module.exports = router"를 써주지 않아서 문제가 발생한 것이다. 해결방법 const express = require('express'); const router = express.Router(); router.post('/', async (req, res, next) => { try { console.log(req); res.json(req); } catch (err) { console.log(err); return next(err); } }); // 추가 module.exports = router;
회사에서 한 프로젝트의 코드 리팩토링을 하게 되면서 Node.js 버전 업데이트가 필요했고, 프로젝트에 따라서 Node 버전 두가지를 스위칭하며 사용해야되는 상황이 발생했다. 따라서 오늘은 현재 설치된 node버전과 개발환경에 필요한 node 버전이 맞지 않는 경우 nvm을 사용하여 변경하는 방법에 대해 알아볼 것이다. windows-nvm 설치 페이지에 접속 windows용 nvm인 nvm-setup.exe 다운로드 exe 파일을 실행 시키면서 next 계속 클릭하면 nvm 설치 완료됨 powershell을 관리자 접속해서 아래 명령어를 입력하면 설치된 nvm 버전을 확인할 수 있다. 반드시 nvm이 설치된 것을 확인하고 powershell에 접속해서 할 것 만약 powershell이 켜진 상태로, 설..
입사하고 Node.js를 사용하여 웹 개발을 진행하게 되었다. AWS Credentials 파일(환경변수)을 효과적으로 관리하는 방법에 대해 고민하던 중에 Node.js는 환경변수를 관리하기 위해 dotenv라는 라이브러리를 제공하는 것을 확인했다. .env 란? DB관련 정보, API_KEY 값 등 오픈소스(ex. git)에 올리면 안되는 값들을 외부 파일(.env)로 저장하여 관리하는 것 보안과 유지보수에 용이 dotenv 패키지 설치 node.js에서 .env 환경설정 파일을 로드하기 위한 dotenv모듈을 설치한다. npm install dotenv env 파일을 생성 후 환경변수 정의 프로젝트 최상위 루트경로에 .env 파일을 생성하고, 해당 파일에 필요한 환경변수 값들을 넣고 저장한다. ex)..
회사에서 Dockerfile에 올릴 테스트 코드를 작성하기 위해, 기본 Node.js express를 만들어야 하는 상황이 생겼다. 간단한 node.js express 환경을 만들어보자. (로컬에 node.js와 npm이 설치 되어 있어야 한다.) 1. 새로운 폴더 하나 생성 후 터미널에서 기본 세팅 # node app의 초기 설정 npm init # express 설치 # package.json에 dependency 정보가 저장되어 있어야 docker 환경에서 실행 가능함으로 반드시 --save를 써줄 것 npm install express --save 2. index.js 파일을 추가해준다. // [index.js] // Importing the required modules const express..