본문 바로가기

nodejs56

[Node.js] MongoDB ObjectId ObjectIdMongoDB에서 모든 문서에는 고유하게 식별하는 "_id" 필드가 포함되어 있다.이는 기본키 역할을 하며 12byte의 BSON 타입으로 생성된다. 처음 4 바이트는 문서의 유닉스 타임스탬프를 나타낸다.다음 3 바이트는 MongoDB 서버 가 실행 중인 머신 ID이다.다음 2 바이트는 프로세스 ID이다.마지막 필드는 objectid를 증가시키는 데 사용되는 3개의 바이트이다. BSON 타입"Binary JSON"의 약자로 바이너리 타입의 JSON 형식이다.기계어로 변환되기 때문에 사람이 읽기 위해선 다시 디코딩 과정을 거쳐야 한다.JSON에서 지원하지 않는 날짜나 바이너리 타입등을 추가적으로 지원한다.타입이나 길이 정보를 인코딩해 저장하기 때문에 JSON에 비해 빠르게 탐색한다. Obje.. 2024. 9. 11.
[Node.js] process.env.PORT 포트를 설정할 때 다음과 같이 직접 입력할 수 있다.const port = 5000;  하지만 위 방식을 권장하지 않는다.특정 서비스(aws 등)에 배포하는 경우 해당 플랫폼에서 포트를 동적으로 알아서 지정할 수 있기 때문이다. 예를 들어 AWS Elastic Beanstalk으로 배포하는 경우 정적으로 3000 포트를 설정해 놓으면, 아마존이 포트를 구성해 놓고 있기에 500 에러가 발생한다.   process.env.PORT process.envNodejs 앱이 동작할 리눅스/유닉스 시스템의 환경변수를 이용하는 것이다. 환경변수 정보를 가지고 있는 env 객체의 속성 중에서 PORT 속성은 동적으로 할당되는 포트를 저장하기 때문에, 플랫폼에서 동적으로 포트를 지정하더라도 문제없이 할당 받을 수 있게 .. 2024. 9. 10.
[Node.js] express 모듈 사용하기 express?웹 서버에서 요청하고 전달 받는 리소스 등을 간결하고 가독성이 쉽게 구현하기 위해 사용되는 모듈이다.직관적인 API를 제공하여 코드를 이해하기 쉽게 만든다. 적은 코드량(Less Code): 복잡한 웹 기능을 간단한 메서드로 구현할 수 있다. 미들웨어(Middleware): 요청 처리 과정에 여러 기능을 쉽게 추가할 수 있는 미들웨어를 제공한다. 라우팅(Routing): URL 경로에 따라 다른 처리를 하는 기능으로, RESTful API 구현이 용이하다. 템플릿 엔진 지원: 동적 HTML 페이지 생성을 위한 다양한 템플릿 엔진을 지원한다. express 사용하기const express = require('express');const app = express();express 프레임워크에는.. 2024. 9. 10.
[Node.js] 서버 모듈 설치하기(package.json) 모듈 설치하기npm install express mongodb cors nodemonexpress웹서버에서 요청하고 전달 받는 리소스 등을 좀 더 간결하고 가독성이 쉽게 구현하기 위해 사용되는 모듈https://expressjs.com/ko/ mongodbMongo DB 자체콘솔에서 사용하는것처럼 Mongo DB의 명령어들을 그대로 사용하기 위한 모듈 cors(Cross-Origin Resource Sharing)웹 브라우저는 보안을 유지하기 위해 다른 출처(origin)에서 리소스를 가져오는 것을 제한하는 모듈 nodemon파일 변경을 자동으로 감지하여 서버를 재시작하는 모듈{ "scripts": { "start": "nodemon main.js" }, "dependencies": { .. 2024. 9. 9.
[Nodejs-session] express-session express 설치하기 npm install -s express express-session 설치하기 npm install -s express-session express-session 예제 var express = require('express') var session = require('express-session') var app = express() app.use(session({ secret: 'keyboard cat', resave: false, saveUninitialized: true })) app.get('/', function (req, res, next) { res.send('Hello session') }) app.listen(3000, function(){ console.log('.. 2020. 8. 19.
[Nodejs-session] session을 사용하는 이유 웹은 Cookie를 통해 이전에 통신했던 내용을 기억할 수 있게됨 - 개인화, 인증이 가능해짐 하지만 Cookie로 인증하는 것은 정보가 유출되거나 조작될 수 있음 그래서 Session을 통해 사용자의 정보를 따로 저장하고 사용자 웹 브라우저에는 데이터의 주인인지 아닌지를 체크할 수 있는 식별자만 저장 Cookie는 사용자 식별에만 사용됨 2020. 8. 19.
반응형