본문 바로가기
728x90

백엔드/NodeJs23

[NodeJs] Passport 사용 설명 및 예제 NodeJs Express Passport 사용 설명 및 예제 사용 목적 Passport는 로그인 과 같은 사용자 인증을 위해 사용된다. 물론 직접 사용자 인증과 로그인을 구현할수도 있겠지만, 매일 같이 새로 생겨나는 보안 등의 이슈를 감당하기엔 여러 손실이 크기에 전문가들이 작성해놓은 패키지를 차용하고 지속적인 업데이트를 해주는 것도 나쁘지 않다고 생각한다. 기반 스펙 Passport는 Session을 기반으로한다. 사용자 정보를 session에 저장하고 쿠키를 통하여 식별한다. 사용 예제 설명 1. 예제에 필요 npm 설치 2. Passport 코드 설명 3. 예제 코드 내 주석으로 상세 설명 1. npm 설치 (Express, express-session, passport, session-file .. 2021. 4. 23.
[NodeJs] Javascript를 활용한 크롤링 (데이터수집) NodeJs / Javascript 를 활용한 크롤링 (데이터 수집) 1. nodejs와 npm 을 설치하자 nodejs.org/ko/ { keyword = encodeURI(keyword); try { return axios.get(`https://kin.naver.com/search/list.nhn?query=`+keyword); }catch(err){ console.log(err); } } const getData = async(keyword) =>{ const html = await getHTML(keyword); const $ = cheerio.load(html.data); const contentList = $('#container .basic1 li'); let titles = []; con.. 2021. 4. 14.
[NodeJs / Express] 쿠키 삭제 NodeJs / Express 쿠키 삭제 쿠키 삭제 방법은 여러가지가 있다. 대표적인 방법 두가지를 소개한다. 1. 쿠키 보관 기간을 0으로 설정하여 바로 삭제 하도록하는 방법 2. cookie-parser 를 통한 쿠키삭제 maxAge : 0 을 통한 쿠키삭제 app.get('/login', (req,res)=>{ res.cookie('id','아이디값',{maxAge : 저장기간(초)}); res.cookie('pw','비번값',{maxAge : 저장기간(초)}); }); app.get('/logout',(req,res)=>{ res.cookie('id','',{maxAge:0}); res.cookie('pw','',{maxAge:0}); res.redirect('/'); }); Cookie-Pars.. 2021. 4. 12.
[NodeJs] 노드몬 nodemon 을 활용한 Node.js 무중단 서비스 하기 NodeJs 무중단 서비스 nodemon nodemon 설치 방법 //노드몬 설치 nodemon npm install nodemon -g//노드몬은 글로벌 npm 으로 설치해야 하므로 -g를 꼭 붙여야함. //맥사용자는 npm 앞에 sudo 를 붙여야 합니다. nodemon 기본 사용 방법 //NodeJs Express 간단 서버 Create 코드 const express = require('express'); const app = express(); app.get('/',(req,res)=>{ res.send('Hello world!'); }); app.listen(3000,()=>console.log(`http://localhost:3000`)); 위와 같은 NodeJs 환경에서 terminal 창에.. 2021. 4. 1.
[NodeJs] 쿠키 읽기 / 쓰기 (cookie read / write) [ javascript / http / client / server] NodeJs 쿠키 읽기 / 쓰기 (cookie read / write) 쿠키란 ? 서버가 클라이언트의 웹브라우저에 전송하는 데이터. 브라우저에서는 해당 데이터를 동일 서버에 재접속시 다시 전송한다. 사용 예로는 로그인 상태 유지, 장바구니 상품 저장 등 세션 관리, 개인화, 트래킹 등 다양하게 활용이 가능하다. 클라이언트 측으로 쿠키 쓰기 const express = require('exrpess'); const app = express(); //서버 -> 클라이언트 쿠키값 보내기 //'쿠키의키값=값' => 'tistory=goodmemory' app.get('/',(req,res)=>{ //쿠키 보내기 res.writeHead(200,{'set-cookie':'tistory=goodmemory'}); .. 2021. 3. 31.
[NodeJs] 순수 NodeJs와 Express 404 에러 처리 방법 순수 NodeJs, Express에서의 404 에러 처리 NodeJs로 구현한 웹 애플리케이션에 클라이언트가 잘못된 주소에 접근하게되면 404 와 같은 에러 처리를 해주어야 한다. 물론 기본 프레임웍을 사용하지 않는 nodejs에서는 분기처리를 통해 간단한 일이지만, express에서는 어떻게 해결해야 할까? 순수 NodeJs 코드에서 분기를 통한 404 에러 처리 //기본 nodejs에서 404 에러 처리 const http = require('http'); const url = require('url'); const app = http.createServer((req,res)=>{ let pathname = url.parse(req.url,ture).pathname; //지정된 페이지 일시, 200 .. 2021. 3. 30.
[NodeJs] CSS Javascript 추가 / 사용하기 (public 폴더 사용하기) NodeJs Express를 통해 웹사이트를 구현하게 되면 Html 내 CSS나 Javascript 파일을 포함해야하는 경우가 있다. 무작정 프로젝트 폴더내 css나 javascript 파일을 넣어 놓으면 클라이언트 측에서는 보안 등의 문제로 폴더내 다른 파일들의 접근이 허용이 되지않는데 이를 허용하는 방법이 미들웨어 express.static 이다. 1. 우선 클라이언트의 접근이 허용되는 public이라는 폴더를 프로젝트 폴더 내에 만든다. 2. 코드 상단에 미들웨어로 app.use(express.static('public'))을 선언해준다. 3. nodejs로 구축한 웹사이트에서 최상위 경로로 등록된 폴더 (public)내의 파일의 접근이 가능하다. 샘플예제 const express = require.. 2021. 3. 26.
[NodeJs] Express 미들웨어 (middleware) NodeJs Express 미들웨어 (middleware) 개념 NodeJs Express에서 미들웨어는 app.use(미들웨어 함수)의 기능을 nodeJs로 구축한 어플리케이션을 실행하여 라우팅 될때마다 실행 되는 것을 말한다. 대표적인 미들웨어로는 body-parser, compression 등이 있다. 미들웨어의 동작 원리를 조금더 이해하기위해 직접 간단한 미들웨어를 만들어보자 샘플코드 [nodeJs Express] const express = require('express'); const app = express(); //미들웨어 호출 app.use(middle); //미들웨어 함수 [request,response,next()] const middle = (req,res,next)=>{ conso.. 2021. 3. 25.
[NodeJs] 미들웨어 body-parser 설치 없이 get, post 데이터 손쉽게 다루기 NodeJS body-parser 설치 없이 웹 get,post 데이터 손쉽게 다루기 express 4.x 이전 버전에서는 body-parser를 npm install body-parser 를 통해 설치 후 사용하였다. 하지만 4.x버전 이후에서는 따로 body-parser를 설치하지 않아도, 기존 body-parser의 기능이 express내에 탑재되어있어 하단의 코드와 같이 작성하면 해당 기능을 사용할수 있다. //최소한의 코드로 설명 const express = require('express'); const app = express(); //기존에는 require('bodyParser') 추가 후 //bodyParser.json()이었음.. app.use(express.urlencoded({exte.. 2021. 3. 25.
[Express] NodeJs Route 라우팅 NodeJs Express API 를 활용한 라우팅 라우팅이란 ? 웹페이지 접속시 특정 주소에 대한 클라이언트 요청에 응답하는 방법을 결정하는 것을 말한다. 쉽게말해, http://goodmemory.tistory.com (현재 블로그) 에서 첫번째 글을 클라이언트가 확인하려면, http://goodmemory.tistory.com/2 로 접속해야 하는데, http://goodmemory.tistory.com (주소) + /2 (엔드포인트) 를 의미하고, 엔드포인트가 /3 ...../15 등 달라지면서 서버는 해당 라우팅에 따른 글을 출력하며 응답을 해주는 형식이다. 샘플 예제 [순수 nodeJs] const http = require('http'); const url = require('url'); c.. 2021. 3. 24.
728x90