Projects(99)
-
[유튜브 클론코딩] 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.6 Uploading and Creating a Video
3.6 Uploading and Creating a Video Video가 아닌 파일을 업로드하지 못하게 설정하기 우선 할 건 Video가 아닌 file을 업로드하지 않게 해야한다. upload.pug에서 비디오 파일만 받도록 accept="video/*"를 다음과 같이 추가한다. extends layouts/main block content .form-container form(action=`/videos${routes.upload}`, method="post") label(for="file") Video File input(type="file", id="file", name="file" ,required=true, accept="video/*") input(type="text",name="title"..
2021.03.02 -
[유튜브 클론코딩] 3.5 Home Controller Finished
3.5 Home Controller Finished 이렇게 만든 model들을 어떻게 사용할 수 있을까? 믿지 못할 정도로 간단할 것이다. 현재 상태에서 videoController에서 누군가가 home으로 가면 여기 videos는 undefined일 것이다. 일단 videoController에서 Video를 import 해준다. import Video from "../models/Video"; videoController에 async/await 사용하기 videoController에 async를 추가해준다. async는 비동기이다. (즉 순서대로 실행하느라 기다리지 않고 바로 에러를 보내는 동기적 방식이랑 다른 것이다) 지금 이 상태에서 video를 살펴보라는 조건을 달면 자바스크립트는 default로..
2021.03.02 -
[유튜브 클론코딩] 3.4 Comment Model
3.4 Comment Model Comment model 만들기 models > Comment.js 만든다. import mongoose from "mongoose"; const CommentSchema = new mongoose.Schema({ text:{ type: String, required : "Text is required" }, createdAt : { type: Date, default : Date.now } }); const model = mongoose.model("Comment",CommentSchema); export default model; ↑ Comment.js 스키마를 만들고 그 스키마를 가지고 모델을 만든다. 이것을 init.js에다가 import 해준다. Relations..
2021.03.02 -
[유튜브 클론코딩] 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