2024/07/26 4

기타 팁> 라우터를 구분해서 사용하면 용이하다

코드의 구조를 간단하게 하기 위해 공통 기능을 미들웨어로 추출하고, 각 기능을 모듈화할 수 있습니다. 아래는 개선된 버전으로, 공통 기능을 미들웨어로 분리하고 라우트 핸들러를 별도의 파일로 분리한 예입니다. 1. 환경 변수 설정 파일 (.env) DB_URL=mongodb+srv://hjw1191:zxc123@hjw1191.zaqklsn.mongodb.net/?retryWrites=true&w=majority&appName=hjw1191 PORT=8080 SESSION_SECRET=세션 암호화 비번~~2. 서버 설정 파일 (server.js)// server.js const express = require('express'); const app = express(); const session = requ..

기타 2024.07.26

node>환경변수 / 미들웨어

지금까지 코드 작성한 것 중에세션암호화비번, DB 접속용 URL 이런 것들은 여러분이랑 저랑 좀 다르겠죠?이렇게 유저나 컴퓨터에 따라서 좀 달라져야하는 가변적인 변수들을 환경변수라고 부릅니다. 이런 환경변수들은 서버파일에 하드코딩해놓는거보다 따로 별도의 파일에 보관하는게 좋습니다.그래야 나중에 사람들이랑 소스코드 공유할 때도 비번유출같은게 없으니까 안전하고클라우드에 서버를 배포할 때도 좀 편리하게 소스코드를 올릴 수 있습니다.     .env 파일에 환경변수 보관하려면 그래서 환경변수들은 보통 .env 파일에 보관하는데 그걸 쓰려면  npm install dotenv  1. 일단 터미널 열어서 dotenv 설치하고   require('dotenv').config() 서버파일 상단에 아무데나 추가하면 됩니..

Node.js 2024.07.26

node> 회원기능 만들기 (passport, 로그인기능,세션,가입기능, connect-mongo)

사이트에 회원기능이 필요하면 회원기능 만들면 되는데많은 상황에서 가장 기본은 할 수 있는 인증방식이 바로 역사와 전통의 session 방식 회원인증이기 때문에session 방식으로 회원기능을 구현해봅시다.  직접 처음부터 쌩으로 코드짜서 구현하려면대충 이런 스텝으로 코드를 짜면 되는데 1. 가입기능부터 만듭니다.유저가 입력한 아이디/비번을 DB에 저장해두는게 가입기능 끝 아닙니까 2. 로그인기능 만들면 됩니다. 로그인폼에서 아이디/비번을 제출하면 DB에 있는거랑 일치하는지 확인하고 일치하면 세션을 하나 만들어줍니다. 3. 세션이뭐냐면 그냥 DB에 document 하나 발행해주는 것일 뿐입니다.document에 "어떤 유저가 로그인했었고 걔 유효기간은 1월 30일까지다~" 이런거 기록해둡니다.  4. 세션..

Node.js 2024.07.26