WILT-191004
오늘 한 일
- 블록체인 강의 듣고 정리
- 5-2 내용 듣고 정리 완료
- K-MOOC 알기쉬운블록체인 참고
Mongoose
설치하고 기존 코드에 적용- 이제야 package.json파일의 의미를 알게 되었다. npm 패키지 설치하면 자동 업데이트 해주는 것도 처음 알았고..
- 원래는 기존 코드 중 json형식으로 만든 모델만 몽구스로 바꾸려고 했는데 제로초 및 여러 블로그를 보다 보니 애초부터 서버 파일을 여러 하위 구조로 나눌 필요성을 느껴서 결국 프로젝트를 새로 만들었다.
- db, server, route, model을 각각 분리했다.
- route 파일은 클라이언트 요청 중 http 메소드, url 주소에 따라 다른 로직을 수행하게 중계하는 역할을 한다. 즉 RESTful한 API를 구현하기 위해 필요한 부분이었다.
- 비밀번호 암호화 부분은 나중에 추가하기로 하고 일단
Mongoose
와 route 파일을 이용해 POST 방식으로 회원가입 하는 부분을 만들었다. - 중복된 아이디 검사 + 계정 정보 db에 저장은 되는데 새 계정 저장 시 response 시간이 비정상적으로 오래 걸린다. 아마
mongoose
모델 부분과 관련된 문제가 아닐까 생각 중. 내일 찾아본다.
// REGISTER USER
app.post('/register', function(req, res){
// req err처리 필요 + req id 검사해서 중복안되게 처리 필요
//뭔가 이 부분이 문제 있는 것 같은데..find를 하기 위해 객체를 언제 선언해야되는지 모르겠다.
var User = require('../Model/User.js');
var userid = req.body.id;
var password = req.body.pw;
User.findOne({id: req.body.id}, function(err, user){
if(err){
console.error(err);
return next(err);
}
if(user){
res.json(req.body.id+"는 중복된 id입니다.");
console.log(req.body.id+"는 중복된 id입니다.")
}else{
var user = new User();
user.id = req.body.id;
//password 암호화 필요
user.pw = req.body.pw;
user.salt = "";
user.name = req.body.name;
user.type = req.body.type;
user.save(function(err, user){
if(err) return console.error(err);
console.log(req.body.name+"저장 성공")
});
}
});
});
Invalid schema, expected
mongodb
ormongodb+srv
에러
- db 연결 시 그냥 ‘localhost~로 시작하면 발생하는 에러. 바껴서 ‘mongodb://127.0.0.1:27017/{내 db이름}’로 해주어야 한다.
Error: listen EADDRINUSE: address already in use :::8080
- 이건 서버 열었던 기존 터미널 안 닫고 새로 열어서 같은 파일 실행했더니 발생한 오류. 기존 서버 닫아 주어야 함
Node.js
예제 코드 분석- 내가 참고한 코드는 이제보니 mongoose, passport, Router등 사용 안 하고 그냥 한 군데 필요한 모든 코드를 때려 넣은 예제였다…ㅎ 빨리 알아서 다행인건가
- 제로초
node.js
공부 시작- 1부터 10(
passport
로 회원가입 및 로그인)까지 봤다. 아직 회원가입 부분을 구현 중이고 (새 계정 생성 시 문제 있음) 내일 로그인 기능 구현한 다음 다시 찬찬히 봐야겠다. - 웹 개발을 가정하는 포스팅이라 나에게 필요한 부분과 필요 없는 부분을 잘 구별해서 봐야겠다.
- 1부터 10(
댓글남기기