목록React & Node.js 프로젝트 (46)
For Programmer
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bd4ykF/btqGbrqHg0h/HAQhk1HiyvcSDIeHT8Axx1/img.png)
1.document를 생성하지 않아도 접근할 수있는 사용자정의 메서드 만들기(몽고DB 제공기능) *static라는 기능을 이용하며 토큰의 정보를 입력했을때 해당 토큰을 복호화 하여 해당유저가 있을경우 그정보를 넘겨주는 코드(models-User.js) const jwt = require("jsonwebtoken"); userSchema.statics.findByToken = function (token, cb) { var user = this; //토큰을 decode한다. jwt.verify(token, "secretToken", function (err, decoded) { //decoded:복호화된_id값 //유저아이디를 이용해서 유저를 찾은 다음에 클라이언트에서 가져온 token과 //DB에 보관된..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/o87fE/btqF9mjmL2f/NAE08YYKYw4rrgaalacMSK/img.png)
1. 사용자 정의 함수 만들기(몽고DB에서 제공하는 기능) *로그인을 하기 위해서는 로그인정보를 받아서 제공받은 패스워드와 데이터베이스 내의 패스워드를 비교하는 메서드 와 비교했을때 맞을 경우 로그인하기전에 토큰을 생성하는 함수를 collection 내부에 따로 정의해야한다. (models-User.js) const mongoose = require("mongoose"); const bcrypt = require("bcrypt"); const jwt = require("jsonwebtoken"); const saltRounds = 10; const moment = require("moment"); userSchema.methods.comparePassword = function (planePassword..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dCS0dL/btqGdt2cPgr/c2sdMhHuKD8ypvjiKnVaU0/img.png)
https://www.npmjs.com/package/bcrypt 비크립트 사이트 1. 회원가입데이터를 작성 후 회원가입 하는 API 전에 비밀번호를 암호화 하여 회원가입API로 넘길수 있도록 코드작성(models-User.js) * 몽고DB에서 제공하는 pre 메서드를 이용한다. const mongoose = require("mongoose"); const bcrypt = require("bcrypt"); const saltRounds = 10; userSchema.pre("save", function (next) { //save함수가 실행되기전에무엇을한다는의미 var user = this; if (user.isModified("password")) { //비밀번호를 암호화 시킨다. bcrypt.gen..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pAcEC/btqGbHGt1LA/saHt8JZABr0kVbibKEWb21/img.png)
1.nodejs서버 - config 폴더만들기 2. ket.js , dev.js , prod.js 3가지파일을 만들어 다음과 같이 설정 3.index.js 에서 key.js 파일을 import후에 다음과 같이 몽구스DB설정을 암호화해준다. 4. .gitignore에 dev.js등록(개인의 몽고DB 정보가담긴 파일은 gitHub에 올리지않음) *실제로 헤로쿠로 배포를 할 경우 몽고DB의 사용자아이디,비밀번호가 담긴 정보를 따로 지정하는 곳이 있다. 이렇게 지정한 값을 서버내의 process.env.MONGO_URI 에 저장이된다. 동영상 강의
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bYBKkP/btqGbb9e6mX/OgqLPzZjp3KTWxLPZt3Jqk/img.jpg)
1. nodemon 모듈 다운로드 2. package.json 내 Script 추가 3. nodejs 서버를 시작할 때 backend 명령어 이용 해당강의
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cPWBXs/btqF80tQYXE/0By8vSMyL0bTggNKdDolR0/img.png)
1.postman 다운로드 https://www.postman.com/downloads/ Download Postman App Download Postman! Join the 11 million developers and 500,000 companies who rely on Postman as the only complete API development environment. www.postman.com * Postman은 회원가입같은 페이지를 구성하지 않아도 회원가입에 필요한 데이터를 간단하게 서버로 넘겨 정상적으로 작동하는지 테스트 할 수있다. 2. 노드 서버에서 회원가입을 처리하는 라우터를 만들기 1. post 방식으로 오는 데이터를 처리할 수있는 body-parser 모듈 다운로드 npm inst..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dNlRfW/btqF9CMJstg/FoogTlhrQaP7Jqsdxbzsm1/img.png)
* 깃으로 깃허브에 파일을 업로드 하는 방법은 https 방식과 ssh방식 2가지가있다. https방식은 따로 설정해줄 것이 없으며 ssh방식만 따로설정을 해주어야한다. 다음은 ssh방식을 사용하기위해 몇가지 설정을 해주는 과정을 소개하고 있다. 1.git hub에 저장소 생성하기 2. ssh방식으로 업로드 할경우 git과 git hub의 ssh통신설정을 해주기 1. Generating a new SSH key *Cmd 관리자 권한으로 실행하여 다음과같이 명령어 입력 2.Adding your SSH key to the ssh-agent *cmd를 이용하면 eval 명령어가 안통한다. 따라서 git bash를 이용하여 반드시 다음 명령어를 입력해야한다. 3. gthub에 ssh키 추가 4. VScode의 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/y4OMj/btqF9CzcLcn/dKwA4kD5Ty9tRKupAEH5Mk/img.png)
1.몽고 DB Cluster 생성하기 * 회원 가입 후 cluster 무료버젼을 생성하면 된다. aws-singapore 선택(영상참고) 2.몽고DB 사용자계정 만들고 세팅하기 3. 노드js에서 몽구스 모듈 다운받기 4. 몽구스 모듈을 import한 후에 몽구스 사용자계정 설정하기 5. 몽고DB 'user' collection 만들어보기(models-User.js) const mongoose = require("mongoose"); const userSchema = mongoose.Schema({ name: { type: String, maxlength: 50, }, email: { type: String, trim: true, //공백제거 unique: 1, //unique함(중복x) }, passwo..