노마드코더(51)
-
[유튜브 클론코딩] 3.9 Editing a Video
3.9 Editing a Video 이번 시간에는 비디오 수정할 수 있는 버튼 만들기(edit video)를 할 것이다. 비디오를 수정할 수 있는 버튼을 만들어서, 일단은 모든 사람이 수정할 수 있도록 하고 나중에 유저부분에서 해당 버튼은 비디오를 업로드한 사람에게만 보일 수 있도록 수정할 것이다. routes.js에서 editVideo도 함수 형식으로 바꾸기 editVideo: (id) => { if(id){ return `/videos/${id}/edit` }else{ return EDIT_VIDEO; } }, ↑ routes.js routes.js로 가서 editVideo 부분을 바꾼다. editVideo도 id를 받아와야 하기 때문에 함수 형식으로 바꾸는 것이다. videoDetail.pug에서 ..
2021.03.04 -
[유튜브 클론코딩] 3.8 Getting Video by ID
3.8 Getting Video by ID 이번 시간에는 비디오 링크를 클릭하면 해당 비디오의 상세정보 페이지로 이동하게 하는 것을 할 것이다. (즉 videoDetail 화면을 수정할 것) videoDetail 수정하기(controller) 비디오 링크를 클릭하면 해당 비디오의 상세정보 페이지로 이동하도록 하기 위해서는 해당 비디오의 id를 받아와야 한다. 이것은 req.params로 받을 수 있다. search에 req.query에서 term을 받은 것처럼 video id를 받는 것이다. export const videoDetail = (req, res) => { console.log(req.params); res.render("videoDetail", {pageTitle: "Video Detail"..
2021.03.04 -
[유튜브 클론코딩] 3.7 Uploading and Creating a Video part.2
3.7 Uploading and Creating a Video part.2 home에서 나오지 않는 video들을 나오게 하기 이제 Video를 Upload 할 수 있다. 하지만 home으로 가면 video들이 나타나지 않는다. 왜냐하면 link가 망가졌기 때문이다. 우선 videos/폴더를 지우고 다음으로 middleware에 video/가 아닌 uploads/videos/에 업로드하게 수정할 것이다. const multerVideo = multer({dest: "uploads/videos/"}); 이것을 /uploads/videos/라고 안쓰는게 중요하다. 왜냐면 그렇게 쓰면 이미 존재하는 폴더라고 생각할수 있기 때문이다. 일단 존재하는 것을 지우고 새로 하기 위해서 다음과 같이 한다. console..
2021.03.04 -
[유튜브 클론코딩] 3.3 Video Model
3.3 Video Model 스키마 MongoDB에 우리의 파일들이 어떤 식으로 생겨야 할 지 알려줘야 하기 때문에 스키마를 작성한다. → 이런게 file의 형태, 즉 model의 형태 → 이것들은 models라는 폴더에 저장될 것이다. MongoDB에 스키마 작성하기(models > Video.js) models 폴더를 만들고 Video.js 파일을 만든다. import mongoose from "mongoose"; const VideoSchema = new mongoose.Schema({ }) ↑ Video.js 본격적으로 스키마를 정의한다. import mongoose from "mongoose"; const VideoSchema = new mongoose.Schema({ fileUrl: { typ..
2021.03.01 -
[유튜브 클론코딩] 3.2 Configuring Dot Env
3.2 Configuring Dot Env .env 파일 생성 먼저 .env라는 파일을 생성한다. 여기 MONGO_URL이라는 variable을 만들어본다. MONGO_URL = "mongodb://localhost:27017/mytube" PORT=4000 ↑ .env import mongoose from "mongoose"; import dotenv from "dotenv"; dotenv.config(); mongoose.connect( process.env.MONGO_URL, { useNewUrlParser: true, useFindAndModify:false } ); const db = mongoose.connection; const handleOpen = () => console.log("✅ C..
2021.03.01 -
[유튜브 클론코딩] 3.1 Connecting to MongoDB
3.1 Connecting to MongoDB Mongoose를 이용해서 MongoDB에 연결하기 - db.js import mongoose from "mongoose"; mongoose.connect("mongodb://localhost:27017/mytube", { useNewUrlParser: true, useFindAndModify:false }); ↑ db.js db.js에 다음과 같이 작성한다. 의미는 몰라도 된다. import mongoose from "mongoose"; mongoose.connect("mongodb://localhost:27017/mytube", { useNewUrlParser: true, useFindAndModify:false }); const db = mongoose..
2021.03.01