npm init을 통해 package.json을 생성할 수 있다.package.json의 main은 해당 프로젝트에서 메인이 되는 파일이 무엇인지 나타낸다.package.json의 scripts에서는 key 값에는 터미널 명령어를, value 값에는 실행시킬 명령어를
Node Js에서는 express를 통해서 서버를 만들 수 있다.app.listen으로 어떠한 서버를 사용할지 정한다.const app과 const handleHome의 사이에서만 app의 수정이 가능하다. 즉, 이 부분에서 코드를 작성해야 app에 반영이된다.app.
router은 작업중인 주제를 기반으로 url을 그룹화 한다.routers와 controllers로 파일을 나누어서 따로 관리를 한다.한 곳에서 관리를 할 경우 코드가 너무 커지기 때문이다.JavaScript 에서는 모든 파일은 독립되어 있다. 그렇기 때문에 모든 파일
pug는 template engine으로써 express에서 html을 render할 수 있게 해준다.pug에서 javascript나 variable을 사용하기 위해서는 extend path.pug를 통해서 해당 파일을 extend 시킬 수 있다.base.pug에 bl
pug에서는 attribute(ex/href,class, id)에 변수를 집어 넣을 때는 \`\`과 ${ }를 사용해야한다.이는 if와 else문으로 사용할 수도 있다.href 맨 앞에 /를 넣게 되면 현재 어느 url에 있던지 초기화 하고 route url + 뒤에
Node js와 Mongo db를 Javascript 언어로 연결할 수 있게 해준다.Mongo db를 express와 연결시켜주기 위해서는 db.js 파일을 생성한 후 아래에 나올 init.js에도 파일 자체를 import 해주어야 한다.models 폴더의 Video.
map을 통해서 array에 있는 값들을 지정한 것들로 묶어줄 수 있다.mongo console로 db를 확인할 수 있다.Video.create()로 data를 mongo db에 저장할 수 있다.Video.js에서 schema들에게 default, required, m
Video.findById(id)를 통해 해당 id의 video를 찾을 수 있다. Video.findOne()은 () 안에 filter을 통해서 video를 찾을 수 있다.join() method는 array의 모든 요소들은 연결해 하나의 문자열로 만들어 준다.? =
User.js에서 userSchema를 만들 때 unique:true 로 설정을 하게 되면 똑같은 값을 db에 생성할 수 없다. (ex/ username, email)bcrypt를 통해 password를 hashing 할 수 있다. User.js에서 "pre" midd
bcrypt.compare()을 통해 로그인을 할 때 비밀번호가 Db에 저장된 비밀번호가 같은지 확인할 수 있다.session은 벡엔드와 브라우저 간에 어떤 활동을 했는지 기억하는 것이다.resave, saveUninitialized를 false로 설정하면 로그인을 한