백오피스 프로젝트
금요일에 어느정도 완성을 했다고 생각해서 전체 기능 테스트 후 발표준비를 할 생각이었다.
그래서 dev로 합친 프로젝트를 받아서 실행을 해봤는데... 또 오류가 났다.
사실 오류가 나는것 자체는 괜찮았는데 하필 발표 당일이라 좀 초조했다.
그런데 팀원분들께 오류를 공유하니 금방 해결이 되었다.
// MenuRepository
interface MenuRepository : JpaRepository<Menu, Long> {
fun findByStoreId(storeId: Long): List<Menu>?
}
// 메뉴 전체조회
override fun getAllMenu(storeId: Long): List<MenuListResponse> {
// 수정 전
menuRepository.findByIdOrNull(storeId) ?: throw ModelNotFoundException("storeId", storeId)
return menuRepository.findByStoreId(storeId).map { it.toMenuListResponse() }
// 수정 후
val menus = menuRepository.findByStoreId(storeId) ?: throw ModelNotFoundException("storeId", storeId)
return menus.map { it.toMenuListResponse() }
}
val을 추가해주고 findByIdOrNull 이 아니라 findByStroreId 를 썼어야 했다.
그리고 repository에 ?를 붙여줘서 엘비스 연산자 이후부분이 회색이 되지 않게 하는것도 배웠다.
그 밖에 권한설정이 제대로 안되어서 일반 회원이 가게 주인처럼 멋대로 가게 및 메뉴 등록, 수정이 되던 문제가 있었는데 이건 user 완성 이후 권한설정을 추가로 controller 에 해주지 않아서였다.
해당 부분 작업하신 분이 알려주신대로 스토어와 메뉴에 권한을 추가해주었더니 잘 작동했다.
controller
@PreAuthorize("hasAnyRole('CEO','ADMIN')")
KTP 작성
발표가 끝난 이후에 KPT를 진행하였다.
Keep
- git 을 이용해서 프로젝트 전체를 알아보기 쉽게 관리한 부분이 좋았습니다. 이런 방식은 처음 해봤는데 익숙해지는데 시간은 들었지만 끝나고 나니 효율적이라고 느꼈습니다.
- 시작할때 ERD 나 API, 와이어프레임 등을 꼼꼼하게 만들고 들어간것도 좋았습니다. 본 작업에 들어갈 때, 방향을 잃거나 헷갈릴때마다 미리 짜놓은 것을 참고하며 큰 도움이 되었습니다.
- 막히는 부분에 대해 튜터님께 여쭤보는것 말고도 팀원분들이 도와주시거나 피드백을 자주 주셔서 좋았습니다. 지금까진 튜터님이 안계시거나 바쁘시면 혼자 해결해야했는데 덕분에 빠르게 문제해결을 한 것도 있지만 배운점도 많았습니다.
Problem
- CRUD는 많이 연습해봐서 익숙하다고 생각했는데 프로젝트에 맞게 기능을 적절히 추가하거나 예외처리를 하며 만드는건 또 다른 문제라는걸 알게 되었습니다. 기본기를 더 공부해야 할 필요성을 느꼈습니다.
- 인증/인가를 이번주에도 제대로 공부하지 못했습니다. 강의를 한번 따라하는데까진 성공했으나 자료를 보지 않고 짜는건 불가능하게 느껴집니다. 원래 맡은 파트가 로그인 파트여서 제대로 습득하지 못한게 더 아쉽게 느껴집니다.
- 오류를 테스트할때 제대로 발견하지 못해서 나중에 다시 수정한 적이 많았습니다. 좀더 꼼꼼하게 확인하고 작업해야겠다고 생각합니다.
Try
- CRUD 를 다양한 상황에 응용하고 예외처리 하는법에 대한 공부
- 인증/인가를 개인 프로젝트로라도 한번 응용해서 끝까지 작성해보기
- 오류처리에 대해서 공부하고 테스트 할 때 더 꼼꼼하게 하기
Feel
- 관련 경험이 많으신 분들과 작업하는 경험은 처음이었는데, 배울점이 많고 좀더 체계적인 작업과정을 제시해주셔서 많은 도움이 되었습니다.
- 강의자료에 너무 의지하고 있어서 실제로는 좋은 코드가 아닌데도 습관적으로 쓰는 경향이 있다고 느꼈습니다. 많은 코드를 더 보고 공부해야겠습니다.
- 기본기는 몇번을 공부해도 부족하지 않은 것 같습니다.
'TIL ~ 24.04.05' 카테고리의 다른 글
20240131 TIL (0) | 2024.01.31 |
---|---|
20240130 TIL (0) | 2024.01.30 |
20240126 TIL (0) | 2024.01.26 |
20240125 TIL (0) | 2024.01.25 |
20240124 TIL (0) | 2024.01.24 |