나의 개발일지(김지헌)
항해 99 16일차 10/04 본문
11시에 언어스터디를 하고 함수고급 파트를 하고 개인과제 댓글 작성부터 시작을 했다.
완성 까지 하고 매니저님께 피드백을 받았는데
내가 쓴 코드가 어떻게 작동하는지와 어떤 정보를 주고 받아오는지
map 메서드 를 썻었는데 map 메서드는 어떻게 사용하는지 설명을 하고
try catch문은 왜 사용하고 어떤 장점이 있는지 같이 내가 쓴 코드를 리뷰하는 식으로 진행 되었다.
try catch문
보통 서버를 키고나서 에러뜨면 서버가 꺼지는데 try catch문을 사용하면 try안에 있는 함수에서
오류가 떠도 서버가 꺼지지 않는 다는 장점이있다.
try{
실행할 코드
} catch(error){ //catch가 에러를 받는다.
console.log(error)
res.status(400).send({'message': "작성실패error"})
}
map 메서드
-배열이 여러개 일때 원하는 값을 찾거나 바꿔줄때 사용한다
-배열.map((값이 하나씩 들어와서 순회한다.)=>{바꿔주는 함수 (비지니스 로직)})
-배열의 값이 하나씩 순회하면서 원하는 조건에 해당하면 바꿔주고 배열로 반환 해주는 함수.
-filter, find 메서드를 같이 쓰는데 내일까지 알아오는게 숙제다.
-배열이 하나 일때는 쓰는게 비효율 적이다.
하나의 배열에서 원하는 정보만 찾고싶을때 재할당을 하면된다.
const post = { //map함수는 배열이 여러개 일때 사용하면 좋다. 1개일때는 불필요한 코드
postId : postOne._id, //재할당해서 변수에 넣어준다. postOne의 값을 ._id등등 필요한 값만 추출해서() 키 user : postOne.user, 값 : 추출한 값으로 바꿔준다
title : postOne.title,
content : postOne.content,
createdAt :postOne.createdAt
}
try{
const { _postId } = req.params; //입력받은 아이디값이들어옴
const {user, password, content} = req.body; //저장해야할 정보를 받아와서 변수에 등록시킨다. req.body에 정보가 들어있음
const createdAt = new Date(); //날짜 넣어주기
if(content == ""){ //content 댓글이 빈칸일시 문구 반환 댓글 보내주기
res.status(400).send({'message': "댓글을 입력해주세요"});
}else{ //스키마 comments 아이디로 정보를 저장하고 만들어줌
await comments.create({ _postId ,user , password, content, createdAt}); //스키마.db에 정보를 만들어준다
res.status(201).send({'message': "댓글을 생성하였습니다."}); //메세지 생성 제이슨 형식으로 응답해줌
}
} catch(error){ //catch가 에러를 받는다.
console.log(error)
res.status(400).send({'message': "댓글 불러오기 error"}) //에러 400 try catch try문 안에 에러가 나면 catch가 잡아줘서 에러문구를 보내준다.(서버가 꺼지지 않음)
}
})
수정, 삭제 API의 request를 어떤 방식으로 사용하셨나요? (param, query, body)
param
param은 파라미터 값으로 넘어온 데이터를 뜻하는데
수정은 PUT을 사용하여 param으로 아이디 값을 받아오고 body로 입력한 정보를 받아와서
BD에 저장된 password가 동일한지 확인하고 일치하면 수정되게 하였습니다.
삭제도 DELETE를 사용하여 param으로 해당 아이디값을 받아와서 진행했습니다.
어떤 상황에 어떤 방식의 request를 써야하나요?
GET : 주소줄에 값이 ?뒤에 쌍으로 이어붙고 POST는 숨겨져서(body안에) 보내진다. /?id=
HTTP를 읽고싶다 하면서 요청을 보내준다
POST : 요청은 정보자체를 받아오고 많은 양을 받아오기에 좋다
PUT : 수정하고 싶을때 요청
PARCH :부분적으로 리소스를 업데이트 (한개만 바꾸고싶을때)
역할별로 Directory Structure를 분리하였을 경우 어떠한 이점이 있을까요?
다른 사람이 내가 작성한 봤을 때 한번에 확인 할 수 있다. 가독성이 좋아진다.
코드를 나누어서 작성하게 되면 코드 확인이 쉽고,유지 보수를 하기에 용이하다.
'항해 99' 카테고리의 다른 글
항해 99 18일 10/06 (0) | 2022.10.06 |
---|---|
항해 99 17일차 10/05 (0) | 2022.10.06 |
항해 99 15일차 10/03 (2) | 2022.10.04 |
항해 99 14일차 10/02 (0) | 2022.10.03 |
항해 99 13일차 10/01 (0) | 2022.10.02 |