express-validator 모듈에 대해 알아보자. 유효성 검사 유효성 검사는 데이터가 서버나 데이터베이스 보내지기 전에 개발자가 만든 조건에 부합하는지 확인, 검증하는 작업을 말합니다. 간단한 예로 가입 절차를 진행하다가 “이미 가입된 아이디입니다.”, “비밀번호는 영문,숫자,특수문자가 혼합되어야 합니다” 등 사용자는 개발자가 원하는 조...
로그인 페이지 만들기 - 05 (cookie & session)
쿠키와 세션을 활용해 자동 로그인 기능을 구현해보자. 유저 정보 페이지 만들기 간단하게 사용자의 이름을 전달받으면 줄력해주는 페이지를 만들고 Router에 추가해줍니다. 로그아웃 기능도 같이 추가해줍니다. <!-- info.ejs --> <!DOCTYPE html> <html lang="ko"> <h...
express-session 모듈
express-session 모듈에 대해 알아보자. 세션 (Session) 이전 포스팅에서 살펴본 쿠키(Cookie)는 클라이언트 측에 저장되기 때문에 보안이 취약한 단점이 있습니다. 세션은 저장하는 주체를 클라이언트가 아닌 서버로 옮겨 보안이 취약한 단점을 보안해줍니다. 쿠키로 실제 데이터가 아닌 식별값을 주고 서버에서는 쿠키 값을 통해 ...
cookie-parser 모듈
쿠키에 대해 알아보자. 쿠키 (Cookie) 쿠키란 사용자가 어떤 웹 사이트를 방문할 때 서버를 통해 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일을 말합니다. HTTP는 Client의 요청 내용을 기억하지 않습니다. (HTTP의 stateless 특성) 즉, 쿠키는 Client의 상태를 알려주는 데이터입니다. MDN 웹문...
로그인 페이지 만들기 - 04
mysql2/promise 모듈을 활용해 로그인 페이지를 완성해보자. mysql2/promise 모듈 (+ promise) 이전 포스트에서 정리한 mysql2 모듈의 createPool 메서드를 활용해 AWS RDS와 연동해보겠습니다. (AWS RDS는 이전에 만들어둔 것 활용하겠습니다.) 설치 npm i mysql2 ...
로그인 페이지 만들기 - 03
fs 모듈을 활용해 로그인 인증 기능을 구현해보자. fs 모듈 fs 모듈은 파일 처리와 관련된 작업을 하는 모듈로 FileSystem을 줄여서 fs 모듈이라고 말합니다. 설치 npm i fs users 파일 작성 databases 폴더를 만들고 users.json 파일을 만듭니다. 해당 파일은 사용자 정보...
로그인 페이지 만들기 - 02
로그인 정보를 서버로 요청해보자. Nodemon 모듈 기능 구현을 하기 전 Nodemon 모듈을 설치해보겠습니다. Nodemon 모듈은 Node.js 서버가 실행 중인 상태에서 Javascript 코드의 변경을 감지해 변경할 때 마다 실행해주는 Node.js의 패키지입니다. js코드의 변경 결과를 바로바로 확인 할 수 있어 서버를 재실행하는...
로그인 페이지 만들기 - 01
로그인 페이지를 만들어보자. 이전에 작성한 MVC 패턴에서 이어집니다. View 파일 만들기 오픈소스를 활용해 로그인 페이지를 views 폴더에 만들어보겠습니다. 오픈소스는 Codepen 사이트를 활용하겠습니다. Codepen 에서 login으로 검색해 적당한 페이지를 선택해 HTML 부분은 views 폴더에 가져오고 CSS 부분은...
MVC 패턴
MVC 패턴을 적용한 express 서버를 구현해보자. MVC 패턴 모델-뷰-컨트롤러 (Model-View-Controller, MVC) 는 소프트웨어 디자인 패턴입니다. 비즈니스 로직을 분리해 서로 영향없이 유지보수할 수 있는 애플리케이션을 만들 수 있습니다. Model : 데이터 관련 작업 담당 View : 사용자 인터페이스 담...
mysql 모듈들
mysql 관련 모듈들에 대해 알아보자. 테이블 생성 로그인, 로그아웃, 회원가입 기능을 구현하기 위해 users 테이블을 생성합니다. mysql2 모듈 mysql2 모듈은 node.js가 mysql의 클라이언트로 작동해 mysql 서버에 접속해서 쿼리 작업을 수행할 수 있게 해주는 모듈입니다. 설치 npm i mysq...