영상을 4개를 만들어 놨다. 제일 최신 영상이 제일 밑으로 가는 구조이다. 그리 원하는 상황은 아니다. Mongoose가 좋은 이유 중 하나는 굉장히 훌륭한 쿼리 엔진을 갖고 있다는 거다. 무슨 말이냐면 문서들을 보여주는 방식을 수정할수 있고 어떻게 검색할지도 수
이제는 진짜로 영상을 찾아 볼 차례이다.그래서 Mongoose, MongoDB와 소통하기 위해 사용해야 할건 async랑 await이다.videoController.js에서여기에선 원하는건 뭐든지 검색 할수 있다. 이 경우엔 보다시피 filter expression을
영상 CRUD를 만들었다. Create,Read,Update,Delete영상을 만들고, 그 영상을 불러오고 영상 목록들이 있고 거기서 영상의 상세사항도 확인 할수 있다. 영상 내용을 수정하고, 영상을 삭제하고 , 그리고 보너스로 영상 검색까지 가능하다.지금쯤 Mongo
이번에는 계정을 생성하는 페이지를 만들어 보겠다.이전 파트에서는 Mongoose,Mongo, schema 이런 것들을 다뤄 봤다.이번에는 user을 다뤄 보겠다. 유저를 다룰 때는 이전에 배웠던 내용들을 많이 써먹을 거다.Mongoose,schema 등등 다 써볼 거다
이전 파트에서는 따로 새로운걸 배우지 않았다.알고 있던걸 써먹었다. template에 form을 만드는 방법은 알고 있었다.그리고 User모델도 만들어 봤다. 새로 배운건 unique 딱 한가지 였다.또 form에서 postJoin controller로 데이터를 보내는
User를 만들고 passowrd를 저장하는 것까지 만들었다.그러나 password가 그대로 노출되어 있어서 아주 위험하다.절대 DB에 password를 저장하면 안된다. 아주 위험한거다.어떤 회사든지 해킹 당하면 이런 식으로 DB에 password를 저장한걸 후회하게
이전 파트에서 password를 어떻게 해시하는지 알아 보았다.DB에 실제 password를 저장하면 안된다는걸 배웠다. 정말 위험하다.혹시라도 어떤 사람이 유저가 사용하는 password를 볼수도 있다.그러면 이제 유저가 로그인하고 싶을때 어떻게 password를 일
계정을 생성 했을때 브라우저에서 패스워드를 저장할 거냐고 물어왔다. 그런데 username이나 email이 중복되서 만들어 지지 않았는데도 이런 문구가 뜨는 경우에는 어떻게 해야 할까?? 계정이 잘 생성 되었는지 브라우저에서는 알지 못하는것 같다. 그래서 sta
join은 끝났다.어떻게 계정을 만드는지 해봤고 에러를 처리하고 상태 코드는 어떻게 보내는지도 해봤다.계정을 성공적으로 생성했으면 로그인을 해야한다.원한다면 이 부분을 userController.js에서try ~ catch 구문 안에 넣었다. videoControlle
지금 까지 만든건 다 한번씩 해본거다.그래서 처음 사용 했을때보다 좀더 빨리 만들수 있었다.전에 써봤던 route,get,post를 쓰고 있고 req.body도 사용해봤다.mongoose도 마찬가지이고 render도 하고 있다. 보다시피 이 모든걸 같이 구현하게 되면
이번에는 유저를 기억하게 만들어 보는걸 할거다. 기억한다는게 무슨 말이냐면 로그인 되었다는걸 볼수 있고, Dashboard탭에 들어갈수도 있다. 프로필 화면으로 가서 email을 수정 할수도 있다. 유저가 누구인지 웹사이트가 알고 있기 때문에 가능 한거다. 유튜
세션이 모두 사라지게 된다. 왜냐하면 express가 세션을 메모리에 저장하고 있기 때문이다.그래서 서버를 재시작 할때 마다 세션이 사라지는 거다. 서버가 계속 잊어버리는거다.fake DB를 만들었을때처럼 세션도 그렇게 되고 있는거다. 나중에는 백엔드가 잊지 않도록
누가 로그인 했는지 말이다. 그런데 사실 기억한다는 말이 안 어울릴지도 모르겠다.왜냐하면 기억한다는건 오늘 뭔가를 배우고 잠에 들었다고 해본다. 그리고 다시 일어나면 배운걸 기억하고 있을거다. 핸드폰 번호를 기억하고 있듯이잠에 들고 다시 일어나더라도 핸드폰 번호을 기억
이걸 알기 위해 session을 알기 위해 썼던 middleware을 사용해서 server.js에서 resonse object를 console.log한다. 그리고 확인해본다. 새로고침을 하니까 에러가 있다. 상관없다. node를 보면 console.log된게 많이 있
어떻게 됐는지 복습 해보는 거다. 첫번째로 여기 보이는 middleware를 생성했다.server.js에서 이 middleware는 express-session이라는 대단한 module로 부터 주어진거다.이 middleware가 뭘하냐면 브라우저가 백엔드와 상호작용
https://www.npmjs.com/package/express-sessionsession ID만 저장 된다고 되어 있다. session data는 서버쪽에 저장된다.여기 한가지 더 알아야 할게 생겼다. session id는 쿠키에 저장하지만 데이터 자체는
이 부분이다.session authentication(인증)을 사용하면서 생길 수도 있는 문제에 대해서 배울수 있다. 보이고 있는 쿠키를 지운다. 새로고침하면 새로운 쿠키가 생긴다. 이 과정은 자동으로 이뤄지는거고, DB에도 저장 되었다. 다시 쿠키를 지워 본다. 새로
쿠키의 property에 대해 알아보도록 한다. Name,Value,Domain,Path,Expires / Max-Age가 있다. 그리고 Size,HttpOnly,Secure,SameSite,Priority등이 있다. 우선 가장 중요한 것들부터 다뤄본다. > #
https://www.npmjs.com/package/dotenvdotenv는 매우 유명하다. 이 Package가 무슨 일을 하냐면 env파일을 읽고 각각의 변수들을 process.env안에 넣는거다. 그러면 process.env를 console.log해본다