본문 바로가기

node.js

(5)
[Node.js] body-parser로 json data 처리하기 body-parser 설치하기Express를 사용하고 있으면 포함되어 있어 express.json()과 express.urlencoded()로 바로 사용가능npm install body-parser  body-parser 사용하기const bodyParser = require('body-parser');app.use(bodyParser.urlencoded({ extended: true // URL 인코딩 방식으로 전송된 데이터가 중첩 객체나 배열 형식을 지원}));app.use(bodyParser.json()); //json 형식의 데이터 해석(API 요청, js application이 json 데이터를 서버에 전송시 사용) body-parser 사용 출력결과아래와 같이 요청 시POST /submit C..
[Node.js]Moment.js로 Date 관리하기 ISO 8601     ISO 8601은 날짜와 시간의 표현을 표준화하기 위해 제정된 국제 표준     날짜와 시간을 포함한 문자열 형식으로, 다양한 변형이 가능2024-11-01 (날짜)2024-11-01T15:45:30 (날짜 및 시간)2024-11-01T15:45:30Z (UTC 기준의 날짜 및 시간)2024-11-01T15:45:30+09:00 (한국 표준시와 같이 특정 시간대의 날짜 및 시간) UTC (Coordinated Universal Time)    UTC는 전 세계의 시간 기준을 제공하는 협정 세계시    지구의 자전과 관련된 시간대의 기준으로, 1972년부터 국제적으로 사용UTC 기준: 2024-11-01T08:37:21Z한국 표준시 (KST): 2024-11-01T17:37:21 (..
[Node.js] Express세션 저장소 비교(MemoryStore, Memcached, Redis, MongoDB) 1. MemoryStore (메모리 기반 스토리지)    * 단순 키-값 저장 방식으로, 별도의 데이터 구조(리스트, 해시 등)를 제공하지 않고, 메모리에 객체나 문자열로만 데이터를 저장    * 메모리에 직접 데이터를 저장하므로, 읽기/쓰기 속도가 가장 빠름    * 휘발성이라 서버가 재시작되면 데이터 유실, 사용자는 다시 데이터를 입력하게 되는 불편함.    * 단일 서버에서만 사용 가능하므로, 여러 대의 서버로 확장할 때 세션 공유가 불가능    * TTL 설정을 지원하지 않아 세션을 수동으로 관리해야 하며,       특정 조건에 따라 세션을 삭제하려면 개발자가 코드에서 명시적으로 세션을 제거해야함    * 속도: 가장 빠름    * 주 사용 사례: 개발 환경, 테스트용 임시 데이터, 단일 서버에..
[Node.js] express.js memoryStore 사용하기 const express = require('express');const session = require('express-session');const MemoryStore = require('memorystore')(session);const app = express();// MemoryStore를 세션 저장소로 설정app.use(session({ secret: 'your_secret_key', //세션을 서명하는 데 사용되는 문자열 (세션 쿠키의 무결성을 보장) resave: false, // 세션이 수정되지 않았더라도 매 요청 시 세션을 다시 저장할지 여부를 결정 saveUninitialized: false, // 초기화되지 않은 세션을 저장할지 여부를 결정 name: 'sess..
[Node.js]path.join, path.resolve(__filename, __dirname)경로 설정 const path = require('path');// 현재 작업 디렉토리가 '/home/user/project'일 때console.log(path.resolve('src', 'assets', 'images')); // 결과: '/home/user/project/src/assets/images'// 현재 작업 디렉토리를 기준으로 절대 경로 반환console.log(path.resolve('/etc', 'config', 'settings')); // 결과: '/etc/config/settings'// '/etc'가 절대 경로이므로 이 경로를 기준으로 반환console.log(path.resolve('./data/file.txt'));// 결과: '/home/user/project/data/file...