Projects/유튜브 클론코딩(73)
-
[유튜브 클론코딩] 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 -
[유튜브 클론코딩] 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