📍 회원이 프로필 이미지를 기본으로 변경하면? status 관리를 하는 방식이 맞을까?
- default image 가 아니면 이미지를 보내주자.
- 서비스 단에서 할 수 있는 건 최대한 계산하는 게 좋다.
- atomic하게 유지해야 한다면 성능을 포기하고 DB를 사용하는 게 좋다.
- RDBMS를 사용하는 이유 중 하나. (트랜잭션에 유리하기 때문에)
📍 Google OAuth2 소셜 로그인 할 때, 구글 access token 요청/응답 받아서 하는 게 맞는 거 아닌가?
- Spring Security를 사용해서 내부적으로 처리해주는 방법도 있다.
- 이 방법을 사용해보자
📍 업체를 등록할 때 업로드 했던 이미지를 수정하는 페이지에서 기존에 있던 이미지를 삭제하는 경우 List<StoreImg>
에 있던 기존 이미지 status를 DELETED로 변경하는 방식은 어떨까?
- S3의 이미지 파일은 남겨두고, DB에서 링크만 삭제하는 방법은?
- 링크 네이밍에 정보를 담으면 어떨까
📍 에러의 경우가 다양한데 프론트에서 파악하게 하기 위해 에러 코드 숫자를 특수제작해서 보내야 할까? 아니면 백엔드에서 따로 메시지를 줘야하나?
- 백엔드에서 메시지를 다듬어서 보내는 게 좋다.
- 400번대 에러는 프론트에서 선처리를 하는 게 좋다.
📍 욕설 필터링
- 400번대 에러로 보내주면 된다.
- 욕설을 필터링해서 본인에게는 보이고 다른 사용자에게는 보이지 않게 하는 방법도 있다. (당근마켓 등에서 판매하면 안 되는 물건을 올리거나 할 때에도 적용한다고 함)
📍 결제/예약 대기 상태를 지워주어야 하나?
- 결제와 예약을 하나의 트랜잭션으로 묶어주면 어떨까
- 그대신 토스로부터 받을 정보가 많아짐
📍 파트너 등록 페이지 렌더링할 때 라우팅이면 파트너 권한인지 아닌지 어떻게 확인하지?
💡 기타 고민거리
- 결국엔 '트랜잭션이 왜 필요한가?'가 중요하다.
- 멀티쓰레드 경쟁상황에서는 어떻게 처리할까
- 예를 들어 '브라우저 두 대로 동시에 같은 일을 할 때', '예약이 10개 인데 동시에 11명이 예약하려고 할 때'와 같은 경우는 어떻게 처리하면 좋을까