본문 바로가기

노드js26

[nodeJS] node 버전 변경하기 (nvm) 다양한 프로젝트를 동시에 진행할 때 nodeJS 버전 때문에 고생하신 적 있으신가요? NVM을 사용하면 그 문제를 해결할 수 있습니다. 1. NVM 설치 Download Now! -> nvm-setup.zip 다운로드 https://github.com/coreybutler/nvm-windows/ GitHub - coreybutler/nvm-windows: A node.js version management utility for Windows. Ironically written in Go. A node.js version management utility for Windows. Ironically written in Go. - GitHub - coreybutler/nvm-windows: A node.js .. 2023. 11. 30.
[nodeJS] html-escaper 모듈을 이용하여 HTML 이스케이프 문자 파싱하기 HTML 이스케이프는 HTML 코드에서 특수 문자를 안전하게 처리하거나 보여주기 위해 필요합니다. 웹 페이지의 구조를 파괴할 수 있는 특수 문자를 방지하거나, 사용자가 입력한 데이터를 안전하게 표시할 수 있습니다. 1. html-escaper 모듈 설치 Node.js에서 HTML 이스케이프를 쉽게 다룰 수 있게 해주는 'html-escaper' 모듈 설치 npm install html-escaper 2. html-escaper 모듈 불러오기 import 구문을 이용해 'html-escaper' 모듈 불러오기 import {escape, unescape} from 'html-escaper'; 3. 이스케이프 처리하기 'html-escaper' 모듈의 'escape' 함수를 이용하여 HTML 문자열에서 특수.. 2023. 11. 11.
[nodeJS] JWT 인증하기 JWT(JSON Web Token)는 웹 애플리케이션에서 사용자 인증과 권한 부여를 위해 널리 사용되는 토큰 기반 인증 방식입니다. JWT는 서버와 클라이언트 간의 안전한 정보 전달을 가능하게 하며, 토큰 자체에 필요한 정보를 포함하여 사용자 식별 및 권한 확인을 수행합니다. 1. jsonwebtoken 모듈 설치하기 npm install jsonwebtoken 2. JWT 토큰 생성하기 jwt.sign() 함수를 사용하여 토큰 생성 첫 번째 인자로 토큰에 포함될 데이터(payload)를 전달하고, 두 번째 인자로 시크릿 키를 전달 시크릿 키는 서버와 클라이언트 간에 공유되어야 하며, 토큰의 유효성 검사에 사용 const express = require('express'); const jwt = requ.. 2023. 8. 31.
[nodeJS] Node.JS 서버의 사용량 제한 구현하기 Node.js 서버에서 사용량 제한을 구현하는 것은 보안 및 성능 관리 측면에서 중요합니다. 사용량 제한을 통해 악의적인 요청이나 과도한 부하로부터 서버를 보호하고, 리소스를 효율적으로 관리할 수 있습니다. 1. Express-rate-limit 모듈 설치하기 사용량 제한을 구현하기 위해서는 express-rate-limit 모듈을 설치 필요 Express.js 애플리케이션에서 미들웨어로 사용되며, 요청당 허용되는 최대 요청 수와 시간 간격 등 다양한 설정 옵션 제공 npm install express-rate-limit 2. 기본적인 사용량 제한 설정하기 * windowMs 옵션: 시간 간격을 밀리초 단위로 지정 * max 옵션: 해당 시간 간격 내에 허용되는 최대 요청 수 const express =.. 2023. 8. 30.
[nodeJS] Node.JS 서버에 CORS 허용 설정하기 CORS(Cross-Origin Resource Sharing)는 웹 애플리케이션에서 동일 출처 정책(Same-Origin Policy)을 우회하여 다른 도메인의 리소스에 접근하는 것을 허용하는 정책입니다. 기본적으로 브라우저는 보안상의 이유로 다른 출처의 리소스 요청을 차단합니다. 따라서 서버 측에서 CORS를 활성화하려면 특정 도메인이나 출처에서 온 요청을 허용해야 합니다. 1. Express.js를 사용한 기본 서버에서 CORS 설정 모든 출처에 대한 CORS 허용하기 npm install cors const express = require('express'); const cors = require('cors'); const app = express(); // 미들웨어로 CORS 활성화 app.us.. 2023. 8. 29.
[nodeJS] 자주 사용하는 Node.js 패턴 정리 1 (모듈 패턴) 1. 모듈 패턴 (Module Pattern) 애플리케이션의 기능을 독립적인 코드 블록으로 나누어 작성하는 방식 각 블록은 재사용 가능하며 다른 모듈들과 결합하여 하나의 애플리케이션을 구성 2. Node.js에서의 모듈 패턴 Node.js는 CommonJS 표준을 따르는 모듈 시스템을 내장 이에 따라 작성한 코드를 모듈화하여 다른 파일에서 재사용하거나 의존 관계를 관리 3. 기본 모듈 패턴 기본 모듈 패턴은 파일 단위로 코드를 모듈화하여 작성하고, exports 객체를 사용하여 외부에서 접근 가능한 코드를 정의 // math.js const add = (a, b) => a + b; const subtract = (a, b) => a - b; const multiply = (a, b) => a * b; c.. 2023. 6. 21.
[nodeJS] Node.js와 Express에서 미들웨어 (Middleware) 사용하기 1. 미들웨어 (Middleware) 요청과 응답 사이에서 수행할 연산이나 작업을 처리하는 함수 사용자가 요청한 작업을 처리한 후 다음 미들웨어로 결과를 전달하거나 응답을 반환\ Express에서는 미들웨어를 사용하여 애플리케이션의 로직을 명확하게 구조화하고 모듈화 가능 2. 미들웨어 사용법 요청 객체(req), 응답 객체(res), 다음 미들웨어를 실행할 함수(next) 총 3개의 인수 받음 요청과 응답 객체를 사용하여 필요한 로직을 처리한 후에 next() 함수로 다음 미들웨어로 이동 function myMiddleware(req, res, next) { // 미들웨어 로직 console.log("Hello from my middleware!"); // 다음 미들웨어로 넘어감 next(); } 3. .. 2023. 6. 20.
[nodeJS] 변수 선언하기 (var, let, const) JavaScript (nodeJS)에서 변수를 선언하는 방법 : var, let, const 1. var ES6 이전의 JavaScript에서 변수를 선언하는 방법 선언한 변수를 함수 스코프 전체에서 사용 가능하기 때문에 사용하지 않는 것이 좋음 (변수의 스코프가 불분명하고 뜻밖의 상황에서 변경 가능) var name = "wrtn"; console.log(name); // wrtn if (true) { var name = "JS"; console.log(name); // JS } console.log(name); // JS name'을 선언하고 값을 할당한 후, if 블록 안에서 동일한 이름의 변수를 선언하고 다른 값을 할당할 경우 바깥쪽에서 'name'을 다시 가져올 때 변수의 값이 변경됨. 2. l.. 2023. 6. 19.
[nodeJS] body-parser로 JSON 파싱하기 1. body-parser HTTP 요청의 본문(body)을 쉽게 파싱하도록 도와주는 미들웨어 req.body는 body-parser를 사용하기 전에는 디폴트 값으로 Undefined이 설정되서 그냥 사용 시 에러 발생 요청 데이터를 서버에서 처리하기 쉽도록 데이터 포맷 지원 JSON (application/json) URL-encoded (application/x-www-form-urlencoded) Raw (application/octet-stream) Text (text/plain) 2. 사용 방법 npm install body-parser const express = require('express'); const bodyParser = require('body-parser'); const app .. 2023. 6. 17.