분류 전체보기 (215) 썸네일형 리스트형 11/29 공부 Callback 함수 이용 export const home = (req, res) => { Video.find({}, (error, videos) => { console.log("error", error); console.log("videos", videos); }); console.log('hello'); return res.render("home", { pageTitle: "home", videos: [] }); }; --> request page cosole.log --> hello가 //제일 먼저 호출됨 render --> response looger( template ), call back --> error ,videos순 callback은 특정코드를 마지막에 실행하게해줌 search가 끝난 후.. 11/27 공부 model이 계속 늘어나면 목록이 계속 늘어남 --> 정리 src > Create init.js file import db import model 분리하기 server.js : express , server의 config코드 //서버 관련 코드 어플리케이션 실행 코드 init.js: database, model //import 와 실행 init.js에 const PORT = 4000; const handleListening = () => console.log(`✅ Server listenting on http://localhost:${PORT} 🚀`); app.listen(PORT, handleListening); 이 부분도 옮김 listen()코드는 연결듣기위해 포트를 열어주는 코드 --> app이 정.. 11월26일 CRUD Create, Read , Update, Delete src >model folder > Video.js mongoose 데이터관점에서 video가 어떻게 생겼는지 1. moongose import 2.model형태(데이터 형태) 정의 :Schema // shape of video 3.mongoose.model(이름 , Schema) 4.export default Video 5.server.js에서 import "./db"; 아래 import "./models/Video"; db와 mongoose 연결된 후 Videomodel 사용할 수있게 윗줄에 미리 컴파일해야 나중에 사용 하고 싶을 때 마다 사용 할 수있음 전체코드 import mongoose from "mongoose"; const vid.. 11/25 공부 mongoDB : 다목적,document기반 (일반적으로 데이터베이스는 sql-base , 행기반ex)엑셀시트) document base란 database도 object로 생각한다. package.js파일처럼 JSON-like-document + document내부 검색, 삭제, 수정 등 기능 이있다. 1.설치 mogodb.com sever >community edition https://docs.microsoft.com/ko-kr/windows/wsl/tutorials/wsl-database#install-mongodb WSL 사용자 분들은 링크 참고하셔서 설치하시길 바랍니다~! mongoose: node.js와 mongoDB이어줌 mongoDB를 자바스크립트로 이용할 수 있도록 도와줌 + valida.. 11/24공부 const see = (req,res)=>{ const {id} = req.pararms; console.log(id); const video =videos[id-1] //가짜로만든 데이터베이스 배열은 0에서 부터 시작하기 때문에 res.render("see", {pageTtile:`watching ${video.title}`,); } 데이터 back-end로 보내기 (form 사용) form(method="post") // form과 back-end 사이의 정보 전송방식 | form(action = " ") //데이터 어디로 보낼 건지 url input(name="title") //없음 안됨!! 중요 input(type="submit") Form // method postrequest 와 getrequ.. 11/23공부 iteration & mixin iteration :array 요소들 elements에 특정 행동을 취할 때 each x in y(array) y의 이름 videoController상 이름과 같아야함 mixin : 데이터를 포함한 partial, 다른 데이터를 포함한 같은 형태 html을 보여줌 미리만들어놓은 html 블럭에 밖에서 데이터 정보를 가져옴 include mixins/video each x in y(array) +video( x ) { const videos = [ { title: "Hello", title: "First Video", rating: 5, comments: 2, createdAt: "2 minutes ago", views: 59, id: 1, }, { title: "Video.. 11/20 공부정리 videoRouter.get("/upload", upload); videoRouter.get("/:potato", see); 라우터 파라미터 :URL 안에 변수를 포함시킬 수 있게 해줌 req.params.potato videoRouter.get("/:id", see); req.params.id로 접근가능 Express Routing regular expression 정규표현식 app.get('ab*cd', funtion) * 무엇이든 아무거나 'ab+cd' + b가 얼마나 많은지 상관x 'ab?cd' ? b optinal 'ab(cd)?e' ()? optional group cd optional :id(//d+) 숫자로 Pug - template Engine 탬플릿을 이용해 뷰 만드는 것을 도와줌 1... 11/16공부정리 Router URL, Controller 관리 쉽게해줌 공통시작부분 기반으로 url 정리 프로젝트 만들 때 생각 할점 어떤 종류의 데이터를 사용 할 것인가. 프로젝트의 도메인 1.비디오(삭제,업로드,업데이트등) 2.유저(생성,삭제,수정등) 라우터를 도메인별로 나누기 글로벌라우터: 홈에서 바로 갈 수 있는 페이지 URL예쁘게 만들기 위해 만듬 global Controller 만들 필요 x /watch ->video Controller에 /edit -> user Controller에 app.get("/", Function) Router.get("/" , Function) 모든파일은 분리된 모듈이다. 해당 파일은 다른파일로부터 완전히 private 상태 모두 import express from "express.. 이전 1 ··· 14 15 16 17 18 19 20 ··· 27 다음