-
로그인 상태 유지하기Project/실시간 채팅 앱 2022. 10. 12. 10:48반응형
전 상태에서 로그인을 해도 새로고침하면 Auth가 false인 상태로 돌아갔다...
원인을 보아하니 AuthContext에서 effect가 발생하면 Guest유저 권한을 요청하는 부분이 있었는데,
현재 로그인 상태와 상관없이 요청을 해서 새로고침하면 Guest유저로 전환되는 게 원인이었다.
그래서 이 부분을 Effect가 발생하면 서버에 /auth/me를 통해서 토큰을 전달하고
유저가 있으면 username과 token, userId를 전달받도록 했다.
만약 me에서 error가 발생한다면 GUEST유저 요청을 보내도록 하니까 이 문제가 해결되었다.
버그가 발생하면 디버깅을 해야 하는 게 정상인데 아직 디버깅 툴을 효율적으로 다루지 못하는 것 같다.
코드 흐름따라서 콘솔로그로 출력해보고 디버깅하고 있는데 디버깅 툴을 이용하면 더 효율적으로 할 수 있을 것 같다.
로직과 관련된 모든 부분을 완료한 시점에서 느낀 게 있다. 몇 가지 나열해보자면
코드가 깔끔할 수록 좋다.
어디서 무슨 역할을 하고 있는지 눈에 띄기 때문에 금방 찾을 수 있다
모듈화가 잘 되어 있으면 좋다.
어디서 어떤 기능을 찾거나 추가해야 할 때 용이하다.
코드 중복을 피하는 게 좋다. 만약 있다면 클래스나 함수를 활용할 것.
같은 코드를 반복적으로 사용하게 되었을 때 수정이 필요하다면 같은 코드를 쓴 여러 부분에서 수정해줘야한다.
다행히 클래스랑 함수를 적절하게 사용해서 이런 일은 거의? 아예 없었던 것 같긴한데 만약 그러지 않았다면
정말 끔찍했을 것 같다.
끝까지 해낼 것★
서버와 클라이언트 측 모두 코딩을 해본 게 처음이라 내겐 꽤 큰 규모의 프로젝트였다. 기능도 나름 여러개가 녹아있다고 생각하는데 중간중간 약간 벅찰 때가 많았다. 그럴 때마다 조금만 하자, 오늘은 이거까지만 완성하자는 마음으로 해냈다.
그리고 몇 달이 걸린 것 같은데 놓지않고 해낸 게 뿌듯하다. 디테일한 완성도 면에서 당연히 부족하다고 생각하지만 큰 뼈대와 틀은 잘 다듬은 것 같아서 만족한다. 코드를 작성하면서 듣던 강의 내용을 많이 응용하기도 했고, 구글링해서 첨가한 것도 있지만 최대한 내 것으로 만들기 위해 노력했다. 그리고 한 번 해놓고 나니 서버와 통신하는 간단한 어플리케이션은 쉽게 만들 수 있을거란 자신감도 생겼다. 스스로에게 도움이 많이 된 프로젝트였다.
이제 배포만 남았다. 다음번 글은 배포하는 과정을 글로 옮겨야지.
반응형'Project > 실시간 채팅 앱' 카테고리의 다른 글
MongoDB 데이터 수정 및 삭제 완료,, (0) 2022.10.15 로그인 문제 해결 후 또 새로운 문제!!!!! (0) 2022.10.13 소켓에 대하여.. (0) 2022.10.09 반응형 디자인 및 불러오기 수정 (0) 2022.10.08 이미지 불러오기 완성! (0) 2022.10.06