목록웹개발 (52)
주뇽's 저장소
원하는 앱 Accountapp 생성 후 등록 #-- /myprojcet python manage.py startapp accountapp main app은 django-admin startproject myproject 명령어를 통해 생성한 myproject이므로 방금 만든 Accountapp을 설정에 추가해야한다. /myprojcet/setting.py에 방금 생성한 app 추가 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'a..
인프런 Hyong Sok Park님의 작정하고 장고 Django로 Pinterest 따라만들기 : 바닥부터 배포까지를 참고하여 정리하였습니다. Front End HTML CSS JS(잘 다루지 않음_) BackEnd Maria DB NGIX Django Docker 0. 가상환경 및 장고 설치 가상환경 및 장고 설치 Python Venv 가상환경 설치 python -m venv fullstack(자신이 원하는 가상환경 이름) source fullstack/bin/activate 장고 설치 및 프로젝트 생성 pip install django django-admin startproject myproject(자신이 원하는 프로젝트 이름) . 로컬 서버 확인 python manage.py runserver 아직..
본 정리는 인프런 John Ahn 따라하며 배우는 노드, 리액트 시리즈 - 기본 강의를 참고하였습니다. 전체 흐름도 로그아웃은 이미 로그인이 되어있으므로 해당 유저 데이터베이스에서 토큰만 삭제하면 됨 index.js 파일에 다음 코드 추가 app.get('/api/users/logout', auth, (req, res) =>{ User.findOneAndUpdate({_id:req.user._id,}, {token :""}, (err,user)=>{ if(err) return res.json({ success : false, err, }) return res.status(200).send({success:true}) }) }) 포스트맨에서 로그인 후 로그아웃 확인 데이터베이스에서 토큰 삭제 확인 로그아웃..
본 정리는 인프런 John Ahn 따라하며 배우는 노드, 리액트 시리즈 - 기본 강의를 참고하였습니다. 전체 흐름도 페이지별로 로그인 또는 관리자 확인 필요한경우 체크하기 위해서 서버는 토큰을 데이터베이스에 저장되어 있음 클라이언트는 토큰을 쿠키에 저장되어 있음 인증을 위해서는 중간에 인증처리를 해줄 미드웨어가 필요 middleware/auth.js 파일 생성 후 다음 코드 추가 const {User} = require("../Models/User");// 미리 정의했던 모델 가져오기 const { request } = require("express"); let auth = (req, res, netx) =>{ //인증 처리를 하는 곳 // 1. 클라이언트에서 토큰을 가져옴 let token = req...
본 정리는 인프런 John Ahn 따라하며 배우는 노드, 리액트 시리즈 - 기본 강의를 참고하였습니다. 전체 흐름도 요청된 이메일을 데이터베이스에서 찾기 //몽고DB에서 제공하는 find함수 사용 // 1. 요청된 이메일을 데이터베이스에서 찾기 User.findOne({email: req.body.email}, (err, user)=>{ if(!user){ return res.json({ loginSuccess : false, massage : "제공된 이메일에 해당하는 유저가 없음" }) } 요청된 이메일이 있다면 비밀번호 체크 // Model/User.js userSchema.methods.comparePassword = function(plainPassword,callbackfunk) { // pl..
본 정리는 인프런 John Ahn 따라하며 배우는 노드, 리액트 시리즈 - 기본 강의를 참고하였습니다. 현재 비밀번호는 데이터베이스에 그대로 노출되기 때문에 관리해야함 다음명령어로 bycrypt 설치 npm install bcrypt --save Bycrypt로 비밀번호 암호화 하는 순서 먼저 Register Route에서 save하기전 (index.js) 유저 정보들을 데이터 베이스에 저장하기 전 암호화 Salt salt를 생성하고 이용해서 비밀번호를 암호화 Models/User.js 파일 수정 전체 코드 const mongoose = require('mongoose'); const bcrypt = require('bcrypt'); const saltRounds = 10; // 10자리를 이용하여 생성..
본 정리는 인프런 John Ahn 따라하며 배우는 노드, 리액트 시리즈 - 기본 강의를 참고하였습니다. MongoDB url은 배포시 숨겨야 함 2개의 다른 환경에서 개발 config 폴더 생성 dev.js 파일 생성 후 다음 코드 작성 module.exports ={ mongoURI:'mongodb+srv://Jun:zxc123@junprojcet.kzx4jm1.mongodb.net/?retryWrites=true&w=majority' } prod.js 파일 생성 후 다음 코드 작성 module.exports = { mongoURI : process.env.MONOG_URI } //헤로쿠의 경우 key.js 파일 생성 후 다음 코드 작성 if(process.env.NODE_ENV === 'product..
본 정리는 인프런 John Ahn 따라하며 배우는 노드, 리액트 시리즈 - 기본 강의를 참고하였습니다. 서버를 재시작하지 않아도 변경이 되면 자동으로 해주는 도구 다음 명령어를 이용하여 설치 패키지에서 dev의존성 추가 확인 가능 npm install nodemon --save-dev # dev를 쓰면 개발모드(로컬)에서만 사용 추가 스크립트 작성npm run backend 명령어로 실행 후 확인 "backend": "nodemon index.js", // nodemon을 이용하여 시작함