1. 로그인 쿠키
2. 라우터 내에서의 재선언
3. 복잡한 구조
공부하면서 느낀 점
참조한 사이트
로그인 기능을 구현하고, 글 작성 API로 넘어갔다. 그랬더니 다시 로그인을 하라고 뜨는 것이 아닌가?
알고보니 쿠키의 시간을 설정하지 않은 것이 문제였다. 막연히 쿠키의 시간을 설정하지 않으면 무한히 쓸 수 있을 것이라고 생각했는데 아니었다.
쿠키의 시간 setMaxAge()
c.setMaxAge(60 * 60 * 24 * 10);
A라는 라우터에서 선언한 것을 B라는 라우터에서 또 선언하니 다시 선언할 수 없다는 오류가 떴다.
const {
passwordNew,
confirmPasswordNew,
message,
nickname
} = req.body;
스코프가 다르기 때문에 있을 수 없는 일이라고 생각하고 코드를 다시 보니, B라는 라우터의 아래에 같은것이 선언되어 있었다. 클라이언트로 부턷 두 번 입력을 받는 것을 구현하던 중에 생긴 사소한(?) 오류였다. 결국 생각을 바꾸어서 두 번 입력 받는 것은 마음을 접었지만, 다음에 만든다면 변수 이름을 잘 생각하거나 cosnt
대신 let
을 쓰는 방법을 생각해봐야겠다.
if문을 중첩으로 만들고 if문 마다 return을 가지는 구조를 구상하고 만들었다. 하지만, 처음부터 만든게 아니라 예전에 만든것에서 조금씩 복붙해온 뒤 고치는 방법을 사용했다. 문제가 생겼다.
자세히 보니 내가 if문의 밖에 return을 적어서 아래의 내용이 다 쓸모가 없어 진 것이었다.
unique: true
로 설정해놔서 굳이 체크하는 기능을 만들 필요는 없었다. 다행이었다.단순한 것임에도 불구하고, 위의 문제들을 해결하는데 시간이 오래거렸는데, 내가 만든 구조를 내가 이해하지 못했기 때문이었다. 결국...
if(x!==1){
if (x!==2) {
// 내용물
} else {
//내용물
}
}
이런식으로 최대한 간단한 if문으로 만들어서 구조를 파악했다. 처음에 만드려고 한 것은
if(){
} else if (){
} else {
}
이런 방식이었다. 내가 구현하려는 기능이 어떤 구조인지 나 스스로가 알지 못해서 구현을 하지못하고, 문제가 터져도 어디가 문제인지 파악하는데 오래 걸렸던 것이었다.