RDBMS 의 사용
MySQL 다운로드
MySQL :: MySQL Community Downloads
The world's most popular open source database
dev.mysql.com
MySQL Community Server 클릭 > go to download page 클릭 > 용량 더 큰걸로 다운 > No thanks, just start my download 클릭
mysql 사용하려면 mariaDB 중지시킨다.
중지시키는 법 : 검색 > 서비스 > M 눌러서 mariaDB 중지버튼 활성화된거 꺼주기
응용프로그램 눌러서 EXCUTE 누르기
(MySQL Community Server 버전)
---------------------
MySQL 모듈
---------------------
커넥션 풀을 사용해 연결합니다.
데이터베이스 연결 객체가 너무 많이 만들어지는 것을 막고, 한번 만든 연결을 재사용 할 수 있게 합니다.
데이터베이스에 객체를 많이 연결하면 메모리 리소스를 많이 차지하므로 한번 만든 객체를 커넥션 풀에 넣어두고 다음번 요청이 있을 때 재사용 합니다.
설치툴에서 Authentication method 에서 두 번째 체크란에 체크하고 Next > 비밀번호는 아무거나 4글자로
---------------------
MYSQL연결설정
---------------------
connectionLimit : 커넥션 풀에서 만들 수 있는 최대 연결 개수를 설정합니다.
한 번 단말성으로 붙였다 뗏다 한다. 연결 객체를 여러개 만들어서 통신하게 한다.
사용자가 많을 경우 연결 객체를 넘어 갈 수 있는데 그럼 대기를 한다.
그래서 조금 느려진다 (메모리 낭비 할 수 있음)
Host : 연결 할 호스트 이름을 설정합니다.
Port : 데이터베이스가 사용하는 포트번호를 설정합니다.
User : 데이터베이스 사용자 아이디를 설정합니다.
Password : 데이터베이스 사용자 비밀번호를 설정합니다.
Datebase : 데이터베이스 이름을 설정합니다.
Debug : 데이터베이스 처리과정을 로그로 남길 지 여부를 설정합니다.
let 커넥션 풀객체 = mysql.createPool ({
설정 옵션
. . .
)}
---------------------------
패스포트(passport)모듈
---------------------------
노드에서 사용할 수 있는 사용자 인증 모듈입니다.
사용방법이 간단 할 뿐 아니라 사용자 인증 기능을 독립 된 모듈 안에서 진행 할 수 있도록 도와줍니다.
특히, express 를 사용할 경우 미들웨어로 사용할 수 있어서 간단한 설정만으로 로그인 기능을 만들 수 있습니다.
passport안에서 세션관리를 해줍니다. 다양한 SNS 관리도 도와줍니다 (구글/트위터/페북 등등)
한 마디로 로그인 연동해주는 기능입니다.
클라이언트 인증 요청 서버 SERVER
로컬 계정 ----------------> PassPort 모듈
페이스북 <---------------- (세션 관리)
구글 세션 저장
네이버
등등
static() : 모델 객체에서 사용할 수 있는 함수를 등록합니다.
함수의 이름과 함수 객체를 파라미터로 전달합니다.
method() : 모델 인스턴스 객체에서 사용 할 수 있는 함수를 등록합니다.
함수의 이름과 함수 객체를 파라미터로 전달합니다.
---------------------------
passport 의 메소드
---------------------------
serializeUser() : 사용자가 인증 성공 시 사용자 정보를 이용하여 세션을 만듭니다.
deserializeUser() : 사용자가 페이지 접근시 세션을 관리합니다.
로컬 계정 관리를 위한 LocalStrategy 객체
LocalStrategy({
usernameField : 아이디(계정)필드,
passwordField : 비밀번호 필드,
passReqToCallback : Req 객체를 사용할지 여부 ( true or false)
}, (req객체, 아이디 필드, 비밀번호 필드, 콜백) => {
}
'NODE > node.js' 카테고리의 다른 글
Nodejs_Day 06 :: mongoose (몽구스) 모듈이란? (0) | 2020.09.17 |
---|---|
Nodejs_Day 05 :: multer 모듈 (파일 업로드하기 위한 모듈) (0) | 2020.09.16 |
Nodejs_Day 04 :: DB 사용 NoSQL / MongoDB 특징과 사용법 (0) | 2020.09.16 |
Nodejs_Day 03 :: 데이터 JSON / 쿠키 세션 cookie-session (0) | 2020.09.11 |
Nodejs_Day 02 :: 노드로 메일보내기 / 노드몬 사용하기 (0) | 2020.09.11 |