KPT
- 개요
- Project : 펫톡
- Stack : Spring Boot, Spring Data JPA, MySql, Spring Security, redis
- Keep
- 하루 두 번 회의를 진행하며 끊임없이 상황을 공유한 부분
- Git에서 각자 branch를 생성한 후 main으로 병합한 부분
- 기존에 강의에서 배우지 않은 기술들을 활용해서 기능 구현을 시도한 부분 (Redis)
- 서로 질문하고 대답하며 함께 문제를 해결해 나간 부분
- 어려움을 마주해도 포기하지 않고 해결하려 노력한 부분
- 피드백을 적극적으로 주고받으며 문제를 해결한 부분
- Problem
- 문제
- 로그아웃 시, 발급 된 토큰을 서버에서 삭제할 수 없었다.
- 좋아요 기능을 생성할 때 테이블 이름을 like로 설정 후 실행 시 MYSQL서버에서 잘못된 구문으로 간주해서 오류가 발생하였다.
- 로그인 후 받아온 토큰을 갖고 게시글을 등록하려고 할 때, 사용자가 존재하지 않는다는 exception을 throw하였다
- 해결 방안
- 로그인을 할 때 토큰 값을 redis에도 추가를 해준 후 로그아웃 할 때 redis에서 사용자의 토큰을 찾아 삭제한 후 블랙리스트로 등록해 토큰을 유효하지 않게 만들었다.
- Sql에 like라는 문자열 패턴을 검색하는데 사용하는 연산어가 존재하기 때문에 사용할 수 없었던 것으로 보여서 테이블 이름을 mysql 연산어를 제외하고 great라는 이름의 테이블로 설정하였다.
- 기존에 구현하였던 방식은 HttpServletRequest 를 매개변수로 활용하여서 등록된 username이 현재 데이터베이스 상에 존재하는지 확인하고 존재한다면 게시글 등록이 실행되도록 하는 방식 이였는데, 그렇게 구현한다면 현재 로그인한 유저의 username을 판단하는 것이 아니기 때문에 AuthenticationPrincipal을 매개변수로 사용해서 현재 로그인한 유저의 username이 데이터베이스 상에 존재하는지 확인하는 방식으로 변경하였다.
- 문제
- Try
- 프론트 엔드 구현
- 프론트엔드 없이 개발을 진행하다보니 이메일 인증이나 다른 기능 구현에 한계가 있는 것 같았다.
- 프론트 엔드 구현
- Feel
- ㅇㅅㅇ
- 미숙한 바지 팀장으로 프로젝트에 있어 많은 기여를 하지 못해 아쉬움이 남습니다. 기본적인 뼈대 틀부터 기능에서 발생하는 오류 개선까지 팀원들 모두가 도와주고 이끌어주셔서 이렇게 완성도 높게 끝낼 수 있었던 것 같습니다. 머리로만 이해하고 있는 것을 직접 코드로 작성하는 게 쉽지 않은데 이번 기회로 JWT와 Security의 개념을 쌓을 수 있었습니다. 또, 여태까지 해온 프로젝트에서 코드를 직접 병합해 볼 일은 많지 않았는데, 이번에 repository를 파고 github를 다루게 되면서 정말 실전에 가까운 많은 경험을 할 수 있었습니다. 일주일 동안 같이 고생한 팀원들 정말 감사합니다. 덕분에 많이 배워갑니다.
- ㄴㄱㅇ
- 이전에 혼자서 수업을 듣고 개인프로젝트를 진행할때는 집중이 풀릴때가 많았습니다. 그러나 팀프로젝트에서 담당한 부분에 대한 작은 책임감이 생겨 더욱 집중할 수 있었습니다. 팀원들과 협업하며 각자 맡은 임무에 대한 책임감을 가지고 노력하는 모습을 보면서 팀원들에게도 좋은영향을 받아 더 열심히 공부하려 노력했던것같습니다. CRUD기능을 구현하며 다시한번 클래스들간의 상호작용, 애너테이션, RESTful API 설계에 대해 조금 더 깊게 공부하게 되었고, 팀원들과의 코드리뷰를 통해 개발 스타일의 다양함을 경험하며 많은 것을 배울수 있었습니다. 특히 POSTMAN, GITHUB 사용법에 대해 이번기회에 제대로 배운것 같습니다. 함께 일주일간 고생해준 팀원들에게 감사하며, 앞으로도 지금처럼 화이팅하면 좋겠습니다. 수고하셨습니다.
- 김나형
- 사용자 인증 기능을 개발하면서 Spring Security와 JWT에 대한 지식을 더 확고히 쌓을 수 있어 도움이 되었습니다. 주어진 시간이 많지 않아 좀 더 많은 기능을 구현하지 못한 아쉬움이 남지만 팀원들과 협업하며 성공적으로 프로젝트를 마칠 수 있었습니다. 모든 팀원이 너무 수고했고 다들 멋진 개발자로 성장할 수 있을 것 같습니다. 남은 기간도 화이팅!
- ㅈㅇㅁ
- 팀 프로젝트를 진행하면서 스스로 많이 부족함을 느꼈지만 팀원 분들과 차근차근 진행하면서 여러 가지 지식과 기술을 배우고 더 집중할 수 있었습니다. 시간이 짧아 아쉽지만 그래도 많은 경험을 할 수 있어서 좋았고, 훌륭한 팀원들 덕분에 프로젝트를 잘 마무리 할 수 있었습니다. 같이 고생한 팀원 분들 모두 감사드리고 모두 수고하셨습니다.
- ㅇㅅㅇ