WILT-191010
오늘 한 일
- 블록체인 강의 듣고 정리
- 6-2, 6-3 내용 듣고 정리 완료 & 6주차 마무리
- K-MOOC 알기쉬운블록체인 참고
- 기존 회원가입 과정 보완
- 기존 문제
- 새로운 계정 생성 시 db에는 값이 저장되지만 response 처리가 안 됨
app.get
등 express로 처리된 부분을 express.Router()이용해서 변경하기 - 해결- 알고보니 그냥 response처리를 안 해줘서 그런 거였다. response 처리하는 코드 넣어주니 정상 작동함
res.json(req.body.name+"저장 성공");
- 요청에 따른 라우터 분리
- 현재 연습삼아 route폴더 안
login
,register
파일을 만들어서 코드 분리 완료 - 회원가입 부분은 정상작동
- 로그인은 db정보 비교하는데 문제가 있는지 저장된 아이디로 로그인해도 없는 정보라고 뜬다. 이 부분은 내일
session
,passport
사용해서 구현할 예정 - 이유는 모르겠지만 최근 날짜 자료에도 안 되는 코드들이 있었다. (export, import 관련)
- 라우터 분리 참고 블로그: https://dahanweb.tistory.com/47
- 현재 연습삼아 route폴더 안
// app.js (메인 파일) // 모듈 import할 때 안 되는 코드 import express from "express"; import User from "../Model/User"; // 모듈 import 되는 코드 const express = require("express"); var user = require("../Model/User"); // login.js (loginRouter 모듈 파일) // 모듈화 안 되는 코드 export default loginRouter; // 모듈화 되는 코드 module.exports = loginRouter;
- 기타 에러처리
DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
이 에러를 해결하기 위해 검색해보니
mongoose.connect
를MongoClient
를 사용하게 하고{ useUnifiedTopology: true }
이 옵션을 추가해야 한다고 한다.- DB 주소 안 보이게 환경설정 +
.gitignore
설정- 3번 문제 해결을 위해 검색하다보니
mongoose.connect(URL, callback)
부분의 URL string 값 부분에 직접 mongo url을 적지 않고process.env.MONBO_URL
라는 값을 사용하는 것 발견 - DB주소를 외부에 노출하지 않기 위해 환경변수로 저장한 후 그 값을 불러와서 사용하는 것이었다.
.env
파일을 프로젝트 root 경로에 생성한 후MONGO_URL = url 값
을 적는다.- 이러한 환경변수는 github에 누구나 볼 수 있게 공유하면 안 된다.
- 원격 저장소에 push하지 않을 파일(혹은 폴더)를 .gitignore이라는 파일 안에 적어주면 된다.
- 3번 문제 해결을 위해 검색하다보니
- 생활코딩 강의 듣기
- 생활코딩 WEB2 node.js 관련 강의
express
,쿠키와 인증
,세션과 인증
,passport
의 필요한 강의 골라서 수강- 내일은
제로초
나 다른 블로그 참고해서 코드 구현 시작할 예정 - 내 코드에서 수정할 부분(내일부터)
- 로그인 시 서버 DB의 정보와 비교하기
- router로 분리하기
- 추후 로그인 된 상황을 안드로이드 UI에서 어떻게 보여줄 수 있을까?
- 비밀번호 암호화
댓글남기기