Node.js

728x90
반응형
·Node.js
이는 회원가입 관련하여 유효성 검사하면 많이 본 모듈이다. 나는 이걸 회원가입하면서 많이 쓰지 않았고 db에 모델 구축할 때 쓴 validate로 인하여 쓰게 되었다. express-validator 클라이언트가 서버에게 특정한 요청이나 리소스를 위해 바디로 보내는 데이터를 post 형식과 put형식등으로 보낼 때 요청이나 데이터들이 유효한지 확인하는 유효성 검사 모듈이다. 미들웨어 함수로도 사용할 수 있고, API 형태로 활용도 가능하다. validator.js를 활용해 편리하게 제작된 모듈이다. npm i --save express-validator 사용하기 전에 미리 설치해줘야 한다. 유효성 검사 방법 const { check, validationResult } = require("express-v..
·Node.js
const express = require("express"); const router = express.Router(); const cors = require("cors"); const passport = require("passport"); const KakaoStrategy = require("passport-kakao").Strategy; const models = require("../models"); const { isLoggedIn, isNotLoggedIn } = require("../middlwares/auth"); const path = require("path"); require("dotenv").config(); router.use(passport.initialize()); rout..
·Node.js
passport 개념 Node.js 를 위한 인증 미들웨어이며, Express 기반 웹에서 유용하게 사용할 수 있다. Passport는 이름 그대로 서비스를 사용할 수 있게끔 해주는 여권 같은 역할을 하는 모듈이다. 로그인을 쉽게 할 수 있게 도와준다. strategy 종류 (로그인 인증 방식) : Local Strategy(passport-local) : 로컬 DB에서 로그인 인증 방식 Social Authentication (passport-kakao, passport-twitter 등) : 소셜 네트워크 로그인 인증 방식 Passport 설치 내가 지금 구현하고자 하는 것은 local strategy로 DB에서 로그인 인증 방식을 구현할 것이다. passport-local : 직접 구현할 때 사용 ..
·Node.js
미들웨어는 양 쪽을 연결하여 데이터를 주고 받을 수 있도록 중간에서 매개 역할을 하는 소프트웨어, 네트워크를 통해서 연결된 여러 개의 컴퓨터에 있는 많은 프로세스들에게 어떤 서비스를 사용할 수 있도록 연결해 주는 소프트웨어를 말한다. express홈페이지에 가보면 미들웨어란 미들웨어함수는 요청 오브젝트(req), 응답 오브젝트 (res), 그리고 애플리케이션의 요청-응답 주기 중 그 다음의 미들웨어 함수 대한 액세스 권한을 갖는 함수라고 서술되어 있다. 그 다음의 미들웨어 함수는 일반적으로 next라는 이름의 변수로 표시한다고 한다. app.use() 를 통해서 미들웨어를 정의할 수 있다. 미들웨어는 본인의 함수가 끝나면 next()를 통해서 다음 함수를 호출해야 한다. 미들웨어의 특징 각 미들웨어에 정..
·Node.js
create 기능 구현하기 파일 분리를 위해 routes 폴더를 만들고 그 안에 register.js라는 파일을 만들어 넣는다. router.post('/', (req, res, next) => { models.Users.create({ email: req.body.email, // 사용자로부터 입력 받은 email name: req.body.name, // 사용자로부터 입력 받은 name }) .then((result) => { // 회원 가입 성공 시 res.send(result); }) .catch((err) => { // 회원 가입 실패 시 res.send(err); }); }); server.js에 라우터 사용을 위해 아래와 같은 코드를 작성해서 넣어준다. app.use('/register', ..
·Node.js
ORM(Object-Relational Mapping)은 객체지향 패러다임을 활용하여 관계형 데이터베이스(RDB)의 데이터를 조작하게 하는 기술이다. 이를 활용하면 쿼리를 작성하지 않고도 객체의 메서드를 활용하는 것처럼 쿼리 로직을 작성할 수 있다. Node.js의 대표적인 ORM인 Sequelize이 있다. Sequelize는 MySQL, PostgreSQL, MariaDB 등 많은 RDBMS를 지원하고 Promise 기반으로 구현되었기 때문에 비동기 로직을 편리하게 작성할 수 있다. Sequelize 설치 npm i sequelize sequelize-cli mysql2 sequelize : 시퀄라이즈 사용 sequelize-cli : 시퀄라이즈 명령어를 사용 mysql2 : MySQL과 연결해주는 ..
·Node.js
커넥션 풀(DBCP)의 개념 웹 컨테이너(WAS)가 실행되면 데이터베이스에 연결된 Connection을 미리 만들어서 pool에 저장한다. 그 후, 클라이언트 요청이 오면 pool에서 Connection 객체를 빌려준다. 해당 객체의 임무가 완료되면 다시 Connection 객체를 반납 받아서 pool에 저장하는 프로그래밍 기법이다. 커넥션 풀 순서 사용자가 DB를 사용하기 위하여 Connection을 요청한다. Connection Pool에서 사용되지 않고 있는 Connection 객체를 제공한다. 사용자가 Connection 객체를 사용 완료하면 pool로 반환한다. 커넥션 풀(DBCP)의 장점 DB 접속 설정 객체를 미리 만들어 연결하여 메모리 상에 등록해 놓기 때문에 불필요한 작업(커넥션 생성, ..
·Node.js
body-parser npm install body-parser --save 를 하여 body-parser를 설치하여 준다. 이를 사용하는 이유는 클라이언트 POST request data의 body로부터 파라미터를 편리하게 추출하기 위해서이다. 프론트엔드에서 form등의 값을 가져올 때 undefined error를 마주하게 된다. req.body를 사용해서 가져오게 되면, body-parser를 사용하지 않는다면 기본값으로 undefined가 설정되어 있어서 그러한 오류가 난다. (Express v4.16.0 기준)express.js도 빌트인 body parser가 되어있다. 그래서 express.json, express.urlencoded도 가능하다. const bodyParser = require..
728x90
반응형
Uheeking
'Node.js' 카테고리의 글 목록 (4 Page)