목록Javascript (45)
9시 24분

어제 밤 밍석이의 열띤 설명으로! 이제 프론트엔드와 백엔드의 경계에 대해 어느 정도 파악할 수 있었다. 나는 이제까지 response.send(html);을 하는 방법으로 웹사이트를 만들었다. 현재는 html로 프론트엔드를 간단하게 만들었지만, 나중에 html이 아닌 react 같은 프론트엔드로 프로젝트를 하면 백엔드에서 어떻게 대해야 하는지?!에 대한 고민이 많았다. 간단하게, 그쪽에서 요청(request)을 던지면 응답(response)으로 json 등 요구하는 정보를 던져주면 되는 것이었다! 이제까지 그걸 던져준 다음 어떡해?!와 같은 고민을 했는데 내가 했던 고민들은 프론트엔드의 영역이었던 것이다. 그러니까 백엔드를 하고 싶다면 API를 어떻게 만들고, 또 어떻게 해야 잘 만들지 그 쪽으로 고민하..
pm2 start main.js --watch --ignore-watch="sessions/*" --no-daemon pm2 kill
오늘은 https://hayjo.tistory.com/88 을 참고하여 검색 기능을 만들었다. 구현 핵심 포인트: 쿼리 추출 & LIKE 구문 이용 우선 이것이 search.js의 전체 코드이다! const { request } = require('express'); const express = require('express'); const router = express.Router(); const sanitizeHtml = require('sanitize-html'); const url = require('url'); // 파일 분리 const db = require('../lib/db.js'); const template = require('../lib/template.js'); const auth ..

passport 수업에서는 단일 사용자에 대한 로그인, 로그아웃을 구현해보았다. 이번에는 회원가입 기능을 구현하고, 다중 사용자가 웹 사이트를 사용할 수 있도록 해보자! 회원가입 UI statusUI: function(request, response){ var authStatusUI = 'login | register'; if(this.isLogin(request, response)){ authStatusUI = `${request.user.nickname} | logout`; } return authStatusUI; } HTML:function(title, list, body, control, authStatusUI='login | registe..

앞서 진행했던 코드에 passport.js를 도입해보자. ( 배우기는 쉽지만 활용하기는 어렵대 ....! ) npm install -s passport passport에서는 전략(Strategy)이라는 로그인 방식을 이용해서 oauth를 구현한다. 그리고 이번 수업에서는 아이디와 비밀번호를 이용하여 로그인하는 방식을 구현할 것이기 때문에 passport-local도 설치해준다. ( 페이스북 로그인 등을 사용할 시 다른 미들웨어를 설치한다 ) npm install -s passport-local passport는 세션을 내부적으로 사용하기 때문에 session을 활성화하는 코드 아래에 넣어주어야 한다. const passport = require('passport') , LocalStrategy = req..

쿠키는 사용자를 식별하는데만 사용하고, 실제 데이터는 서버 쪽에 안전하게 저장하는게 session 방법이다. session 미들웨어를 사용할 것이다. npm install -s express-session 간단한 예제로 session에 대해 알아보자. const express = require('express'); const app = express(); var session = require('express-session') app.use(session({ secret: 'keyboard cat', resave: false, saveUninitialize: true })); app.get('/', function(req, res, next){ res.send('Hello session!'); }); a..
이제 쿠키를 이용하여 로그인/로그아웃을 구현해볼 것이다. 그러나 이번에 만드는 인증 기능은 이메일, 닉네임, 비밀번호가 쿠키로 그대로 노출되므로 실전에서 사용하면 안된다 !! Hmm ... 강의를 보며 따라하려고 했으나 ... ! 내 main.js 파일은 express로 이루어져있다. 일단 express인지 여부와 상관 없는 사항에 대해서만 내 코드를 수정하고, 인증 구현 과정은 실습 없이 블로그에 글로 남기겠다 ...! 1. template.js에 '/login'으로 연결되는 a 태그를 추가하였다. ( UI 만들기 ) 2. main.js에서 else if 문을 추가하여 login 페이지를 구현해주었다. ( 메인 페이지 코드를 가져와서 활용 ) 여기서 비밀번호를 입력하는 input 태그의 type을 pa..

Session vs Permanent Session cookie : 웹 브라우저가 켜진 동안 유효, 끄고 다시 키면 사라져있음 우리가 앞서 다뤘던 쿠키 예제가 Session cookie임 Permanent cookie : 껐다 켜도 살아있음 Expires(만료 날짜, 절대적)나 Max-Age(현재 시각부터 얼마 후, 단위는 초, 상대적)로 Permanent cookie로 만들 수 있음 코드를 수정하여 Permanent cookie를 만들어보자. const http = require('http'); const cookie = require('cookie'); http.createServer(function(request, response){ var cookies = {}; if(request.headers..