목록분류 전체보기 (123)
EtoC
mongoDB를 사용하다가 비슷한 기능을 하는 두 메소드를 발견했다. 어떤때에 create를 쓰고 어떤때에 save를 쓰는건지 궁금해져서 알아보았다. 1. 공통점 두 메서드 모두 데이터베이스에 새로운 데이터를 만드는 model 메서드이다. 2. 차이점 1. create() create() 메소드는 save()와 달리, 새로운 document를 만들어 데이베이스에 바로 저장한다. 모델 생성과 저장을 한 번에 처리할 수 있어, 코드를 간결하게 유지할 수 있다. create()를 호출할때 생성할 객체르 전달 하면 된다. //create() 사용 const Join = async (req, res) => { await User.create({ name, email, password }); } 2. save() ..
1 input 만들기 2. multer middleware 사용하기 설치: $ npm install --save multer 파일을 업로드 할수 있게 해준다. multer를 사용하기위해서는 조건이 딱 1개 있는데 form에 multipart/form-data을 formd에 입력해야한다. multer는 multiple 이 아닌 form을 처리하지 않는다고 쓰여있다. form(method="POST", enctype="multipart/form-data") 이것은 form이 다르게 encode 되게하는것이다. 여기서 enctype은 백엔드로 보내기위해 필요한 encoding tyoe이다.. 2-1 multer middleware 만들기 공식 문서 예 const express = require('express..
findByIdAndUpdate()는 update되기전의데이터를 return 해주고 한가지 옵션이 있는데 NEW: true를 주면 findByIdAndupdate가 업데이트된 데이터를 return 해 준다. 즉 mongoose에게 가장 최근에 업데이트된 object를 달라고 하는 것이다. 이렇게 해도 화면상의 값은 바뀌지를 않는데 막상 db에 들어가보면 바뀐것을 확인 할 수 있다. edit-profile.pug에서 loggednUser의 값을 입력하는데, 이값이 어디서 생성되었을까? 이값은 localsMiddleware에서 생성되었다. 여기서 loggedUser를 req.session.user이라고 정의하고 있다. 이 req.sessin.user은 로그인할 때 생성되므로 로그인하는 코드를 확인해보자. 하..
1. mongoose mongoose는 mongodb를 쓰는데 있어 필수적인 package로 nodejs와 mongoDB를 이어주는 다리역할을 한다. nodejs에서 javascript로 코드를 적을텐데 mongoose가 이 자바스크팁트형식의 코드르 mongoDB에 전달해 주기 때문이다. 2. 장점 1. schema 몽구스의 장점은 schema이다. MongDB같은 NoSQL에는 스키마에대한 메타데이터가 없어 도큐먼트에 무엇을 넣어도 에러가 발생하지 않는다. 하지만 실제로 사용해보면 에러가나는데, 이런 문제를 막기위해 몽구스는 스키마를 도입했다. Mongoose Schema 공식페이지 2. 다양한 모델 메소드 몽구스를 사용해보니 메소드가 확실히 편하다는 느낌을 받았다. find, findOne, find..
GET 요청 에러 드디어 mongodb파트에 왔는데 처음부터 에러가 떴다.. ReferenceError는 변수의 문제로 알고있다. 값이 없거나 선언되지않았다거나..(조만간 다시 공부하자..) 혼자서 해결해보려했으나 못 찾겠어서 내마음대로 바꿨던 부분을 강의를 보고 다시 똑같이 썻다. 결과는.. 그냥 이름 바꾼거만 바뀌고 에러는 똑같음.. 객체 id 불러오는것을 잘못썼나하고 바꿔봄 못 불러옴... 하지만 콘솔을 찍어보면 잘 나온다. 그렇다면 문제는 pug파일인것인가... ) ) 퍼그 파일을 요리조리 수정해봐도 # 부분이 잘못됬다고만 하고 뭐가 문제인지 모르겠었다. issue에도 없는 내용이고.. 잠시생각해보다가 console에서 값이 뜨는데 못가져오는게 이상해서 return 끝쪽에 video라고 객체를 받..
1. PUG란? pug는 템플릿을 이용하여 뷰를 만드는 템플릿 엔진이다. 뷰는 사용자가 보는 대상,화면을 말한다. html return export const see = (req, res) => { `Watch video #${req.params.id}©2023 Wetube - All rightsreserved` }; 위와 같은 길다란 html코드를 넣어야할때 pug를 사용하면 단순한문장으로 입력한것을 쉽게 html형식으로 바꿀수있다. 2. 설치방법 1. npm i pug를 입력하여 설치한다. 2. express 에게 html 헬퍼로 pug를 쓰겠다고 server.js 로알려주기.(pug를 뷰엔진으로 설정한다) sever.js에 app.use("viewengine", "pug"); 적으면 된다. 3. p..
운영체제와 실행되는 애플리케이션 사이에 존재하는 소프트웨어이다. 기본적으로 분산된 애플리케이션의 통신 및 데이터 관리를 가능하게 한다. 데이터와 데이터베이스가 "파이프" 사이를 쉽게 통과할 수 있도록 두 가지 애플리케이션을 함께 연결하기 때문에 배관이라고도하며, 미들웨어를 사용하면 사용자가 웹 브라우저에서 양식을 제출하거나 웹 서버가 사용자의 프로필을 기반으로 동적 웹 페이지를 반환하도록 요청할 수 있다. morgan? HTTP request loogr middleware for node.js morgan은 nodjs용 request logger middleware다. morgan 함수를 호출하면 내가 설정한대로 middleware를 return해 준다. 설치방법 npm i morgan morgan 함수..
0. 서버란? 서버는 항상 인터넷에 열결되어있는 컴퓨터로 사용자의 요청(request)를 상시 듣고(listening)있는 컴퓨터다. 요청(request)? 사용자가 브라우저를통해 무언가를 요청하는 것 ex) 로그인id,password를 입력한 로그인요청, 뉴스 제목을 누르면 뉴스자료를 달라는 요청 서버에 요청하는것은 나의 행동을 듣는 서버에만 요청을 보낼수있기때문에 우선 서버가 어떤 port번호를 들을지를 정해줘야한다. 1. 포트번호 지정하기 const PORT = 4000; app.listen(PORT); //위 아래 모두 4000을 사용한다 app.listen(4000); 서버는 모든 것을 감시할 수 없기때문에 특정 부분을 계속해서 감시하려면 port가 필요하다. port는 컴퓨터의 수많은 문중 하..