1015 TIL MVC(2)

냐하호후·2021년 10월 15일
0

TIL

목록 보기
50/101

MVC

mysql -u root -p < server/schema.sql -Dcmarket

여기서 -Dcmarket이 뭘까? 생각했다.
-D는 옵션으로 database를 가리킨다.
-Dcmarket은 cmarket이란 이름의 데이타베이스에 스키마로 테이블을 넣겠다는 의미가 된다.
만약 나의 db에 test라는 이름의 데이타베이스가 있으면 -Dtest해주면 된다.

HA2 서버 복습

app.get('/movies/:id', (req, res) => {
  // TODO:
  console.log(req.params.id)
  const filtered = movies.filter(movie =>  movie.id === Number(req.params.id))
  if(!filtered.length){   //filtered.length === undefined면 왜 틀릴까?
    return res.status(404).send() 
  } 
  res.status(200).send(...filtered) //filtered는 왜 펼쳐주는거지..?
});         

복습을 하다보니 2가지 의문점이 생겼다.

  1. 왜 filtered.length === undefined라고 작성하면 틀린답일까?
    -> 빈배열일때 404가 나오도록 코드를 짜고싶은데
    [].length는 0이다. 0은 undefined와 같지않다.

  2. send안에 filtered를 왜 전개구문으로 펼쳐서 넣어주는거지?
    -> test파일을 보고 자료형을 [{}]이아니라 {}객체로 맞춰주어야 한다는 점을 알아차려야한다. 그걸 몰랐다 ㅎㅎ..

database sprint

controller파일에서 req.body가 어떻게 생겼는지 보고싶었는데, 콘솔이 안찍어졌다. 이때 test파일을 봐서 어떤 구조인지 볼 수 있었다.
또 console.log(req.body)를 작성하고 npm run test를 실행하면 서버를 켜둔 터미널창에 req.body의 형태가 찍혀져 나온다.
포스트맨으로 쿼리를 날리지 않았는데 test를 돌린것만으로 확인할 수 있어서 신기했다.

느낀점

ha2를 다시 복습하다보니 section1에서나 틀릴법한 부분들을 헷갈리는게 보여서 슬펐다 ㅎ..
요즘 공부에 좀 나태해졌더니 확실히 바로 티가 나는것같다. 그리고 구글링도 실력이라는 말이 무엇인지 알 것같다. 어제부터 어떻게 검색해야하지 싶은 질문들이 생긴다..ㅜ

test파일을 보는건 엄청난 꿀팁이었다. 나는 test파일을 잘 안봤었는데 앞으로 자주 봐야겠다.

공식문서와 친해지자

profile
DONE is better than PERFECT

0개의 댓글

관련 채용 정보