2021/03(76)
-
정규표현식
정규 표현식(Regular Expression) /정규표현식/플래그 텍스트에서 우리가 원하는 특정한 패턴을 찾을 때 아주 요긴하게 쓰일 수 있다. 예) 아주 긴 글에서 전화번호 형태의 패턴을 찾거나 웹사이트 형태의 패턴을 찾을 때도 사용될 수 있음 찾아진 문자열을 다른 문자열로 변경도 가능 또는 사용자가 입력한 데이터가 이메일이나 패스워드와 같은 특정한 패턴에 부합하는지 - 유효성 검사를 할 때에도 쓰일 수 있음 // 슬래쉬를 이용해서 나타내주면 된다. 슬래쉬 안에 우리가 찾고자하는 패턴을 작성해주면 된다. 그리고 어떤 옵션으로 검색할 건지 플래그를 활용할 수 있다. 플래그 글로벌과 멀티라인을 이용할 것임 글로벌: 매칭되는 다수의 결과값을 기억할 수 있는 것을 말함 멀티라인: 한 줄 한 줄 1. 그룹,레..
2021.03.04 -
[유튜브 클론코딩] 3.11 Installing ESLint
3.11 Installing ESLint ESLint의 필요성? 일단 지금 search를 해보면 videos가 정의되어있지 않다고 뜬다. export const search = (req, res) => { const {query: { term: searchingBy }} = req; // const searchingBy = req.query.term 과 같은 코드 res.render("search", {pageTitle: "Search", searchingBy, videos}); // searchingBy = searchingBy 인 경우 하나로 줄여쓸 수 있음 }; ↑ videoController.js 여기 나는 videos라는 variable 이름을 가지고 있지만 videos는 variable로나 g..
2021.03.04 -
[유튜브 클론코딩] 3.10 Deleting a Video
3.10 Deleting a Video 이번시간에는 비디오를 삭제하는 것을 해볼 것이다. 비디오 추가(upload), 비디오 수정(editVideo), 비디오 시청(videoDetail)은 했으니 비디오 삭제(deleteVideo)를 할 시간이다. 비디오 삭제 만들기(deleteVideo) 누군가 비디오 삭제를 누른다면 URL로 가서 이 부분의 URL을 가져와서 해당하는 비디오를 삭제할 것이다. 그러기 위해서는 URL에서 id를 받아와야 하므로 routes.js에서 deleteVideo도 함수 형식으로 바꾸어 주어야 한다. deleteVideo: (id) => { if(id){ return `/videos/${id}/delete`; }else{ return DELETE_VIDEO; } } ↑ routes..
2021.03.04 -
[유튜브 클론코딩] 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