<aside>
💡 수료 후, 이력서에 우리가 만들어낸 내용들을 꼼꼼하게 채워넣어야겠죠?
우리 프로젝트의 강점을 잘 녹여내기 위해 회고록 양식을 공유 드립니다.
프로젝트와 작성하시는 회고록을 기반으로 다음 주 멘토님들께서 순회할 예정이니,
새롭게 추가/개선할 기능이나 수정 방향성에 대해서 깊은 고민을 할 수 있는 기회가 되길 바랍니다 😊
</aside>
4주차까지의 후기 및 소감
<aside>
🏁 최종 프로젝트 4~5주차에 가장 집중해주셔야 할 것은 “완성도 높이기”입니다.
MVP에 추가 및 보완해야 할 기능과 우리의 서비스에 담긴, 인정 받을 수 있는 고민을 정리해주세요.
튜터님들과 함께 프로젝트를 높은 완성도로 마무리 할 수 있는 방향을 점검해 봅니다.
</aside>
-
지금까지 완성한 코드의 개선을 위한 트러블 슈팅에 대해 고민하신 후, 가장 적합하다고 생각하는 트러블 슈팅을 팀원 별로 한 가지 작성해 주세요!
- 트러블 슈팅은 코드는 구현된 상태에서 ‘느린 것을 빠르게’ 와 같은 개선 시킨 경험을 말합니다.
- 아직 잘 모르겠다면, 고민 중인 내용을 작성하거나 고민이 필요한 키워드를 튜터님과 논의합니다.
- 팀원 개인별로 작성해주세요.
- 주민석 : between을 사용해 조회하던 api들을 부등호를 사용하는 방향으로 수정하였다. between에 비해 부등호가 CPU cycle을 적게 소모하여 테스트 해보았을 때 평균 시간이 크게 감소하는 효과를 얻을 수 있었다.
- 최준혁: API의 로그인이 필요한 기능들에 params로 userId를 받아서 cookies의 token의 userId와 일치하는지 확인하는 로직이 있었는데, cookies 안의 token은 auth middleware에서 사전에 검증되므로 굳이 params를 받을 필요가 없었습니다. 이를 직접 cookies의 accessToken 에서 받아오는 것으로 바꿔 불필요한 연산을 줄였습니다.
- 이희찬: 검색 기능을 프론트엔드에서 구현했는데 키업 이벤트를 쓰다보니 키보드를 누르는 즉시 코드가 실행되어 리소스를 줄이기를 고민한 결과 디바운싱 처리를 해두어 0.5초 내에 같은 함수가 실행되면 이전 함수는 취소 처리를 하고 마지막 함수만 작동하도록 하여 원하지 않는 검색결과가 중간에 불필요없이 등장하는 것을 방지하면서 검색을 완전히 끝낸 뒤에 결과를 볼 수 있도록 편의성도 높임
- 김범석: 페이지 연결하는데 있어서 ejs문법을 사용하여 각각에 계정유형에 따라 페이지를 만드는게 아니라 index.ejs에서 한번에 해결함.
- 김기민 : 프론트에서 refreshtoken값을 document.cookie로 불러왔는데 보안상 좋지 않다라고 하셔서 refreshToken를 요청하는 api를 따로 구현해서 거기서 응답을 받는 식으로 구현를 고민 중
-
프로젝트에 새롭게 도입한 기술이 있다면 정리해 주세요! (도입 이유도 꼭 적어주세요!)
- crypto 패키지로 예약시 주민등록번호를 양방향 암호화 하여 보안성을 강화하였음.
- aws-sdk : 이미지 업로드를 할 때 사용한 라이브러리, ams s3(외부 클라우드)에 저장 하여 서버에 multer로 이미지를 저장하게 되면 서버에 부담을 주게 되기 때문에 도입함.
- nodemailer : 비밀번호 재설정(찾기)기능 구현 관련 가장 경제적임
-
이번 주 한 일
- 팀 전체 (리더님께서 필두로 정리해 주세요.)
- 팀원 개인별로 작성해 주세요.
- 최준혁 : sql injection 방지를 위한 ORM적용, mypage 관련 api에 대한 unit test 작성
- 주민석 : EC2 인스턴스에 HTTPS 적용
- 이희찬 : 예약페이지 예약 기능 완성 및 에러처리, admin 페이지 검색 기능 디바운싱, accessToken 재발급 후 헤더에 저장과 로그인 유지 기능 완성 돕기
- 김범석 : 페이지 연결 작업, accessToken, refreshToken 기능 돕기 , hospital page 에러 및 예외 처리
- 김기민: 상세페이지 백 수정, 상세페이지ejs, accessToken, refreshToken 기능
-
이외에도 기술적인 방향을 잡기 위한 질문을 정리해오시면 가장 좋습니다!
→ 단, “A는 어떻게 구현하나요”의 질문은 삼가주세요.
→ “A와 B를 알아보았는데, 둘 중 A가 낫다고 판단했는데 맞을까요?”의 식의 고민의 흔적을 담아 질문해주세요.
auth를 route에 연결하면 토큰 재발급은 되는데 res.locals.user를 못 불러오길래 재발급된 토큰을 다시 유효성 검사해서 아이디를 찾으려했는데 그게 되지 않았습니다. ㅠㅠ 어떻게 하면 좋을지 잘 모르겠습니다.
-
숙제: 멘토링 결과 다음 주까지 해올 일
-
팀 전체 (리더와 부리더님께서 필두로 정리해 주세요.)
-
팀원 개인별로 작성해 주세요.