전체 글

안녕하세요. react, flutter, node.js에 관련해서 글을 쓰는 블로그입니다.
반응형
·Node.js
: 요청과 응답에 대한 정보를 콘솔에 기록 저번에 썼던 wiston과 덧붙여서 작성한다. morganMiddleware.js const morgan = require("morgan"); const Logger = require('../config/logger'); const stream = { write: message => { Logger.http(message) } }; const skip = () => { const env = process.env.NODE_ENV || "development"; return env !== "development"; }; morgan.token("status", function (req, res) { let color ; if (res.statusCode < 300)..
·Node.js
log를 배포하면서 중요성을 많이 느꼈는데, 이번 node.js를 이용하면서 많이 쓰일 것 같아서 정리하고자 한다. 코드 설명 const winston = require('winston'); // -----------------------(1) require('winston-daily-rotate-file'); const logDir = `${__dirname}/logs`; const levels = { // ------------------------------------------(2) error: 0, warn: 1, info: 2, http: 3, verbose: 4, debug: 5, silly: 6 } const level = () => { // --------------------------..
·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과 연결해주는 ..
반응형
Uheeking
Uheeking의 it로그