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] SQL/NOSQL/몽고DB 의 특징TodayILearned/Wetube 2020. 9. 1. 23:42
목표 데이터베이스의 종류에 대해 이해한다. SQL / NOSQL(Not Only SQL) 데이터베이스의 차이에 대해 안다. 몽고DB의 특징에 대해 안다. 코드 - 배운점 데이터베이스의 종류 Sql (Structure Query Language) 관계형 데이터베이스 관리시스템(RDBMS)의 데이터를 관리하기 위한 프로그래밍 언어. RDBMS(Relational Database Management System) : 현대 데이터베이스 시스템의 기초가 되는 시스템, 해당 시스템 내의 데이터는 연관있는 데이터의 모음인 테이블 오브젝트에 저장됨. 정해진 기준에 의해 구조화되어 저장됨. MYSQL, PostgreSQL, MariaDB, Oracle ANSI 와 ISO 의 표준이다. 표준언어이지만 여러 버전의 SQL언..
-
[Wetube] 임시데이터를 이용해 동영상 업로드 시 URL에 ID값 반환하기/post,get methodTodayILearned/Wetube 2020. 8. 29. 01:12
1. 결과물 사용자가 비디오를 업로드 할 경우, 새로운 ID(fake)를 반환 후, 사용자가 업로드 한 ID를 가진 video detail페이지로 리다이렉트한다. 2. 목표 GET,POST 메소드에 대해 안다. Upload 페이지 view 구현 파일업로드 기능/제목/설명/제출 form 구현 3. 코드 controller/videoController.js import routes from "../routes"; import video from "../models/video"; ... export const getUpload = (req, res) => { res.render("Upload", { pageTitle: "Upload" }); }; export const postUpload = (req, res..
-
[Wetube] 임시데이터를 이용해 Login 이후 구성하기 / middle ware 에 대해TodayILearned/Wetube 2020. 8. 26. 00:40
1. 결과물 - 2. 목표 로그인에 사용 될 fake data(ID) 를 생성해본다. fake data로 로그인 시, USER DETAIL페이지가 users/id 로 나타나도록 한다. header.pug를 수정하여 Profile 클릭 시, USER DETAIL로 이동하도록 한다. 3. 코드 middlewares.js import routes from "./routes"; export const localsMiddleware = (req, res, next) => { res.locals.siteName = "Wetube"; res.locals.routes = routes; res.locals.user = { isAuthenticated: true, id: 1, }; next(); }; middle ware..
-
[NOMAD CODERS_Wetube] View with PUGTodayILearned/Wetube 2020. 7. 14. 00:21
매일 배우고는있지만, 매일 배운것을 글로 쓰려고하는것은 참 어려운 일인 것 같다. 뭔가 글로 풀어낼 만큼 배워야 할 것 같고, 말이 되도록 글을 쓰는것도 참 어렵다. 거기에 남이 이해할 수 있도록 글을 쓰는건 거의 불가능에 가까워 보이는 지금의 나...ㅋㅋㅋㅋ 그렇지만 오늘도 이렇게 꾸역꾸역 글을 써본다.. 하단의 글은 언제든 내용이 수정될 수 있고 잘못 된 내용에 대한 지적을 환영합니다.(제발 해주세요.) 결과물 목적 EXPRESS의 VIEW ENGINE인 PUG를 이용하여 메인 레이아웃을 구성한다. 메인 레이아웃을 구성하는 이유는 head, footer 등을 페이지별로 일일이 수정하지 않고, 한꺼번에 수정할 수 있도록 하기 위함이다. ◈main.pug 파일만 수정하면 모든 페이지의 구성이 변하도록 한..
-
[NOMAD CODERS_Wetube] MVC PatternTodayILearned/Wetube 2020. 7. 8. 23:31
결과물 목적 WETUBE 코드에 MVC 패턴을 적용하여 유지보수하기 편리하게 만드는 것 Routes에 각각의 pass를 입력 할 경우 화면에 단어를 송출하는 로직을 가진 컨트롤러를 추가한다. CODE userController.js export const join = (req, res) => res.send("Join"); export const login = (req, res) => res.send("Login"); export const logout = (req, res) => res.send("Logout"); export const users = (req, res) => res.send("users"); export const userDetail = (req, res) => res.send("us..