본문 바로가기

IT/web24

Node.js] crypto 모듈로 비밀번호 암호화하기 password를 virtual 메소드로 정의한다. 몽고디비에는 비번값이 저장되지 않는다. 대신 해쉬처리된 비번이 저장된다. userSchema .virtual('password') .set(function (password) { console.log('레레레'); this._password = password; this.salt = this.makeSalt(); this.hashed_password = this.encryptPassword(password); console.log('virtual password set 호출됨 : ' + this.hashed_password); }) .get(function () { console.log('virtual password의 get 호출됨.'); return.. 2020. 1. 31.
Node.js] Mongoose 모듈로 DB 연결, 사용자 추가, 사용자 인증 컬렉션 안에 똑같은 속성을 가진 객체를 넣는다면 관계형 DB처럼 어떤 속성이 있는지 미리 알 수 있다. 이런 틀을 제공하는 것 중 몽구스 모듈이 대표적이다. 몽구스 모듈을 활용하여 스키마를 만들고, 스키마에 맞는 모델을 만들어 데이터를 보다 쉽게 관리한다. (MongoDB) Mongoose(몽구스) 프로미스 안녕하세요. 이번 시간에는 몽구스로 프로미스(promise)를 사용하는 방법에 대해 알아보겠습니다. 기본적으로 몽고DB(노드용 드라이버)는 콜백으로 결과값을 반환합니다. 콜백은 간단하지만, 다들 아시다시피 중첩되었을 경우 콜백 지옥이 발생할 수 있다는 문제점이 있습니다 www.zerocho.com 스키마 추가 Mongoose v5.8.10: Schemas Schemas If you haven't ye.. 2020. 1. 28.
Node.js] MongoDB 연결, 사용자 추가, 데이터일치여부 확인 연결 const MongoClient = require('mongodb').MongoClient; var database; function connectDB(){ //db 연결정보 var databaseUrl = 'mongodb://localhost:27017/local'; //db 연결 mongoClient.connect(databaseUrl, function(err, db){ if(err) {throw err; } console.log('db에 연결됬습니다. :'+ databaseUrl ); //db 변수에 할당 database = db.db('local'); }) } //////////////// app.listen(app.get('port'), function(){ console.log('Serv.. 2020. 1. 28.
Node.js] try, catch, throw try 내부의 코드가 실행되다가 오류 나면 catch로 이동 => 에러가 나도 코드가 강제 종료되지 않는다. try { // 잘 실행되다가 // 에러난 코드 이후로는 실행이 안된다. // 로그로 확인 가능 } catch (error) { alert(`에러 내용: ${error.name}: ${error.message}`); } catch(error)의 error : 에러 정보를 갖고 있는 객체 throw는 사용자 지정 오류 특정 상황의 오류일 경우 catch로 던져 에러를 처리한다. try{ if(x>10){ throw "high"; }else if(x 2020. 1. 26.