목록분류 전체보기 (234)
honey_pot
http://www.passportjs.org/ https://www.npmjs.com/package/passport-local-mongoose https://www.npmjs.com/package/express-session ✨ 설치 $ npm i passport passport-local passport-local-mongoose express-session ✨ express-session 사용법 ✨ 다운받은 패키지를 모두 불러온다. passport-local 패키지는 passport-local-mongoose를 사용하기 위해 필요한 패키지이여서 직접 사용하지 않기 때문에 불러오지 않는다. saveUninitialized : 초기화되지 않은 세션을 저장소에 저장한다. false 일 경우 쿠키가 초기화..
https://www.npmjs.com/package/bcrypt ✨ 설치 쓰고 있는 노드 버전에 맞는 패키지를 설치해야 한다. 그렇지 않으면 예시의 에러가 발생한다. 쓰고 있는 버전은 14.16.1 이므로 bcrypt는 3.0.6 이상 버전을 설치한다. default는 최신 버전이므로 그냥 npm i bcrypt 입력 app.js 에 const bcrypt = require("bcrypt"); 추가하고 saltRounds 를 지정한다. rounds 수에 "따라 hash의 양이 달라진다. ✔ 비밀번호 해싱 방법 두 가지가 있는데 여기서는 자동으로 salt와 hash를 생성하는 hash() 메서드 방법으로 사용했다. 회원가입 post 메서드 안에 hash(바꿀 비밀번호, saltRounds, 콜백) 형태로..
https://www.npmjs.com/package/md5 ✨ 설치 사용할 폴더 내에서 터미널 열고 npm install md5 입력 🔆 사용 app.js에 const md5 = require("md5"); 추가 가입할 때 POST로 받은 password를 md5로 감싸서 hashing한다. ... password: md5(req.body.password) 회원가입을 진행하고 확인한 데이터베이스에서 비밀번호가 해시코드로 변환된 것을 볼 수 있다. "123456" 을 md5로 hashing 했을 때의 결과와 일치한다. 로그인 시에는 입력받은 password를 해싱하여 데이터베이스의 해시형태의 비밀번호와 비교한다. const password = md5(req.body.password);
https://www.npmjs.com/package/dotenv ✨ 설치 # with npm npm install dotenv # or with Yarn yarn add dotenv 🔆 사용법 app.js에 require('dotenv').config() 추가 ✔ 가장 먼저 환경에 import되어야 하므로 꼭 맨위에 써야한다. ✔ (.config()를 추가했으므로 앞에 'const sth =' 을 붙여줄 필요가 없다.) ✨ config는 .env 파일을 읽고 .env 내의 content를 분석하고 process.env 에 대입한다. .env 파일을 만들고, NAME(대문자) = Value 형태로 코드를 추가한다. ✔ 이름=", ; 없이 딱 값만 적는다. ✔ 두개 이상을 적을 때에도 문장 끝에 , (콤마..
https://www.npmjs.com/package/mongoose-encryption 터미널에 npm i mongoose-encryption 입력 app.js 에 require("mongoose-encryption") 추가 const secret = "암호화할 문구" userSchema.plugin(encrypt, { secret: secret }); 특정 field만 암호화하는 encryptedFields: [' '] 를 추가한다. 데이터 대상 뒤에 비밀번호를 암호화하는 encrpytedFields: ['password'] 추가 (다른 부분도 암호화하고 싶다면 'password', 'sth', 'sth' 식으로 array를 만든다.) 이렇게 코드를 작성하고 회원가입을 하면 비밀번호가 binary 형..
https://robomongo.org/download Robomongo Robo 3T: the hobbyist GUI Robo 3T 1.4 brings support for MongoDB 4.2, and a mongo shell upgrade from 4.0 to 4.2, with the ability to manually specify visible databases. Download Robo 3T Only robomongo.org Robo 3T 를 설치하고 .exe를 실행한다. agree 후에 이메일 전화번호 등등 쓰라고 나오는데 그냥 finish 눌러준다 create - port 번호 27017 확인 후 save connect를 누른다. 왼쪽에 이렇게 connection이 보이면 성공 마우스 우클..
mongoDB 홈페이지에 들어가자마자 start free부터 sign up까지 cloud를 이용해보라고 몰아치는데 여기선 무시한다. (cf . aws를 이용하려면 가입해서 auth key를 받아야한다.) mongoDB download center에서 윈도우용 설치 페이지로 이동한다. ✔설치는 zip보다 msi 로 하는 것이 편하다. 다운받은 msi 인스톨러에서 compass 버전 - Compass 설치 체크 해제 MongoDB가 설치되었다면 C드라이브에 들어가 data 폴더 생성 - 그 안에 db 폴더를 생성한다. ❗ 터미널을 이용해서 path configuration $ cd ~ 입력 후 루트로 이동한다. $ touch .bash_profile : .bash_profile 생성 $ vim .bash_p..
절단기에 높이(H)를 지정해 줄지어진 떡을 한 번에 절단한다. 예를 들어 높이가 19, 14, 10, 17cm인 떡이 나란히 있고 절단기 높이를 15cm로 지정하면 자른 뒤 떡의 높이는 15, 14, 10, 15cm가 될 것이다. 잘린 떡의 길이는 차례대로 4, 4, 0, 2cm이다. 손님은 6cm만큼의 길이를 가져간다. 손님이 왔을 때 요청한 총 길이가 M일 때 적어도 M만큼의 떡을 얻기 위해 절단기에 설정할 수 있는 높이의 최댓값을 구하는 프로그램을 작성하시오. 입력 조건 첫째 줄에 떡의 개수 N과 요청한 떡의 길이 M이 주어진다. ( 1