Node 28

[Node.js] 세션(Session)에 대하여 알아보기

안녕하세요. 이번에는 세션(Session)에 대하여 알아보겠습니다. 1. Session 웹 서버에 저장되는 쿠키 사용자가 웹 브라우저를 통해 접속한 시점부터 연결을 끝내는 시점까지의 시간 동안 일련의 요구를 하나의 상태로 보고 그 상태를 유지시킨다. Ex) 로그인 유지 2. 동작 방식 클라이언트가 서버에 접속 시 세션 ID를 발급받습니다. 클라이언트는 세션 ID에 대해 쿠키를 사용해서 저장하고 가지고 있습니다. 클라이언트는 서버에 요청할 때, 이 쿠키의 세션 ID를 서버에 전달해서 사용합니다. 서버는 세션 ID를 전달받아서 별다른 작업 없이 세션 ID로 세션에 있는 클라이언트 정보를 가져옵니다. 클라이언트 정보를 가지고 서버 요청을 처리하여 클라이언트에게 응답합니다. 3. 쿠키와 세션 차이 (간단하게) ..

Node 2023.03.14

[Node.js] 쿠키(Cookie)에 대하여 알아보기

안녕하세요. 이번에는 Node.js의 쿠키(Cookie)에 대하여 알아보겠습니다. 1. 쿠키 (Cookie) 웹브라우저(클라이언트)에 저장되는 키와 값이 들어있는 작은 데이터 파일 이름, 값, 만료일, 경로 정보로 구성되어 있다. 2. 동작 방식 클라이언트가 페이지를 요청 서버에서 쿠키를 생성 HTTP 헤더에 쿠키를 포함시켜 응답 브라우저가 종료되어도 쿠키 만료 기간이 있다면 클라이언트에서 보관하고 있음 같은 요청을 할 경우 HTTP 헤더에 쿠키를 함께 보냄 서버에서 쿠키를 읽어 이전 상태 정보를 변경할 필요가 있을 때 쿠키를 업데이트하여 변경된 쿠키를 HTTP 헤더에 포함시켜 응답 3. 설치 npm install cookie-parser 4. 연습 app.js const express = require..

Node 2023.03.13

[Node.js] MySQL Sequelize 사용해보기

안녕하세요. 이번에는 MySQL의 Sequelize를 사용해 보겠습니다. 1. Sequelize 자바스크립트 구문을 알아서 SQL로 변환해 준다. DB 작업을 쉽게 할 수 있도록 도와주는 ORM 라이브러리 중 하나이다. ORM ( Object – Relation Mapping ) 2. 설치 sequelize : 시퀄라이즈 패키지 sequelize-cli : 시퀄라이즈 명령어 실행 mysql2 : mysql과 시퀄라이즈를 연결하는 드라이버 npm install sequelize sequelize-cli mysql2 3. config 만들기 데이터베이스 정보 저장 파일 /config/config.json development : 개발 환경일 때 production : 서버에서 실행할 때 { "developm..

Node 2023.03.12

[Node.js] MVC 패턴 사용해보기

안녕하세요. 이번에는 Node.js의 MVC 패턴에 대해서 알아보겠습니다. 1. MVC Model View Controller 소프트웨어 설계와 관련된 디자인 패턴 MVC 이용 웹 프레임워크 php Django Express Angular 등 장점 패턴들을 구분해 개발한다. 유지보수가 용이하다. 유연성이 높다. 확장성이 높다. 협업에 용이하다. 단점 완벽한 의존성 분리가 어렵다. 설계 단계가 복잡하다. 설계 시간이 오래 걸린다. 클래스가 많아진다. 2. 처음 폴더 및 파일 세팅 환경 : Node.js + MySQL node6 말고 다른 이름으로 사용하셔도 됩니다. Model 데이터를 처리하는 부분 Views UI 관련된 것을 처리하는 부분 (사용자에게 보이는 부분) Controller Views와 Mod..

Node 2023.03.11

[Node.js] Node.js + MySQL 연동하기

안녕하세요. 이번에는 Node.js + MySQL 연동을 해보도록 하겠습니다. 먼저 MySQL에서 데이터를 만들어줍니다. 1. 테이블 생성 create table user ( id varchar(10) not null primary key, pw varchar(20) not null, name varchar(5) not null, gender ENUM('F', 'M', '') default '', birthday DATE not null, age int(3) not null default 0 ); 2. 데이터 삽입 insert into user values ('hong1234', '8o4bkg', '홍길동', 'M', '1990-01-31', 33); insert into user values ('sex..

Node 2023.03.10
반응형