Project에 추천 기능을 추가해야 됩니다. 추천 기능은 어떤 유저가 어떤 것을 추천했는지 따로 테이블을 만들어야 됩니다. 또한, Project에 추천수 칼럼을 추가해야됩니다.
페이지네이션에서 추천수 정렬할 때 또는 추천수를 표시할 때, 60개 데이터를 싹다 추천수에 대하여 count 쿼리를 날리면 부하가 장난아닙니다. 따라서, project field에 likes 칼럼을 추가해서 추천이 들어올 때마다 증가시키도록 해야 합니다. 근데 이때, Race Condition이 발생할 수는 있지만 자주 접근하는 데이터는 아닙니다. 따라서, 이는 Redis 분산락이 아닌 낙관적 락을 이용해서 Lock을 안걸어도 쓸 수 있도록 구성해야 합니다.
Feature Description
Project에 추천 기능을 추가해야 됩니다. 추천 기능은 어떤 유저가 어떤 것을 추천했는지 따로 테이블을 만들어야 됩니다. 또한, Project에 추천수 칼럼을 추가해야됩니다.
페이지네이션에서 추천수 정렬할 때 또는 추천수를 표시할 때, 60개 데이터를 싹다 추천수에 대하여 count 쿼리를 날리면 부하가 장난아닙니다. 따라서, project field에 likes 칼럼을 추가해서 추천이 들어올 때마다 증가시키도록 해야 합니다. 근데 이때, Race Condition이 발생할 수는 있지만 자주 접근하는 데이터는 아닙니다. 따라서, 이는 Redis 분산락이 아닌 낙관적 락을 이용해서 Lock을 안걸어도 쓸 수 있도록 구성해야 합니다.
Detailed Tasks
Reference Materials (Optional)