TodayILearned/Wetube
-
노마드 WETUBE챌린지 후기TodayILearned/Wetube 2020. 10. 25. 23:11
아쉽게도, 이번 챌린지에선 졸업을 못했다. 퇴근 후 새벽까지 과제제출을 하고 잠드는 경우가 많았는데, 솔직히 정말정말 힘들었지만 뿌듯했다.. 오늘도 해냈어.. 하는 그런 느낌? 막판에 강의에 쫓겨 결국 완주를 못했지만, 다음에 다시 한 번 도전 할 생각이다. 배운것 해당 챌린지는 백엔드부터 시작해 중간에 프론트엔드, 마지막으로 배포까지 한다. 그동안 배운것들은 아래와 같다. 강의를 듣고 Node.js를 이용한 프로젝트의 전반적인 흐름에 대해 알았다. MVC pattern PUG Express Query string Wep pack, SCSS MongoDB, Mongoose Passport Ajax API 느낀점 인강에서 배울 수 없는 구글링, 에러코드 읽고 문제점 찾기 등의 문제해결법을 배울 수 있었다...
-
[Wetube] multer middlewareTodayILearned/Wetube 2020. 10. 11. 03:29
multernode.js에서 파일업로드를 가능하게하는 모듈이다. middlewares.js사용방법 : dest로 DB가 저장될 곳을 지정 후, 해당 파일이 업로드되는 router로 export해준다.import multer from "multer"; import routes from "./routes"; const multerVideo = multer({ dest: "uploads/videos/" }); export const localsMiddleware = (req, res, next) => { res.locals.siteName = "Wetube"; res.locals.routes = routes; res.locals.user = { isAuthenticated: true, id: 1, }; nex..
-
[Wetube] 정규표현식 Search 로직 구성TodayILearned/Wetube 2020. 9. 28. 22:51
1. 결과물 검색어로 해당 동영상이 검색된다. 검색어를 포함한 동영상이 검색된다. 2. 목표 regular expression (정규표현식) 에 대해 안다. Search 로직을 구성한다 3. 코드 videoController.js import routes from "../routes"; import Video from "../models/video"; export const home = async (req, res) => { try { const videos = await Video.find({}).sort({ _id: -1 }); console.log(videos); res.render("Home", { pageTitle: "home", videos }); } catch (error) { console..
-
[Wetube] challenge 근황TodayILearned/Wetube 2020. 9. 23. 00:40
오늘로 2주째 들어선 wetube challenge 지난 kokao클론코딩 챌린지는 실패했는데 이번에는 과연 어떨지. 회사생활과 병행이 피곤하긴하지만 꼭 성공하고싶다. 다음 강의는 30% 쿠폰 먹여서 구매할 것이다.... 배운것 Router 의 역할 route를 쪼개주는 역할 : 아래 코드처럼 Wetube내의 많은 routes를 쪼개서 관리할 수 있도록 한다. (Global Router, user Router, video Router 로 나누어 관리함) //global const HOME = "/"; const JOIN = "/join"; const LOGIN = "/login"; const LOGOUT = "/logout"; const SEARCH = "/search"; //user *const* US..
-
[Wetube] Delete video 구현TodayILearned/Wetube 2020. 9. 16. 00:28
1. 결과물 2. 목표 업로드 된 동영상의 삭제기능을 구현한다.(With mongoDB) Delete 실행 후 해당 코드가 작동하면 실행되던, 에러가 발생하던 home으로 리다이렉트한다. 3. 코드 4. 배운점 try/catch 구문 try...catch 문은 실행할 코드블럭을 표시하고 예외(exception)가 발생(throw)할 경우의 응답을 지정합니다. 스크립트 내에서 오류 발생 시, 해당 스크립트는 즉시 중단되고, 에러가 발생한다. 이 때 try...catch구문을 이용하면 어느 부분에서 어떻게 중단되었는지 알 수 있기 때문에, 스크립트 작성 시 발생하는 error를 잡아, 에러를 수정하는데 편리하게 한다. if...else의 에러버전인 듯한 try catch 구문... 아래 코드에서, try 구..
-
자바스크립트의 비동기식 처리TodayILearned/Wetube 2020. 9. 9. 00:49
이 글을 적고 먼 훗날.. 다시 MDN문서로 내용을 다시 확인해서 글을 썼습니다. async, await 의 개념(1) 복습이나 기록을 한 번 미루다보니 쌓이고 쌓이는 글감만 늘어서;; 쳐내야겠다! async: javaScript는 이전의 작업이 끝나기 전에 다른 작업을 시작한다. 따라서 video파일을 읽기 전에 video페이지를 읽� tuigun.tistory.com 동기식 VS 비동기식 동기식 처리는 동시에 차례대로 진행되는 코드를 말한다. 예를들어, 서브웨이에 들어가서 줄서서 한 코너당 한명씩 주문하는 것 같은 처리방식이다. 서브웨이에서는 뒤에사람이 빵을 다 골랐어도 앞에 사람이 야채를 고르는 중이라면, 뒷 사람은 야채를 주문하지 못한다. 비동기식 처리는 맥도날드 주문같은 처리방식이다. 맥도날드 ..