TeraGo
637
2021-03-28 15:17:54
8
265

보통 랭킹시스템은 어떤식으로 구현하나요 ?


토이프로젝트로.. 심심해서 숨은그림찾기를 만들고 있습니다.

제가 백단은 잘못하다보니 지인의 도움을 받아서 처리를 하고 있습니다만.. 랭킹시스템을 구현하는데 있어서 하나 의문이 있습니다.

게임이 끝나면 1등 ~ 5등 까지만 랭킹에 나타나는 방식인데 지인은.. 등록된 랭킹값을 전부 줄테니 프론트에서 정렬해서 1~5등 까지만 표시해주고 나머지 데이터는 버리랍니다.

보통은 어떤식으로 하나요?

제 생각은 백단에서 1~5등 까지의 데이터를 넘기는게 가장 좋은 방법같은데 지인이 만들어준 시스템이라 바꿔달라고는 못하겠네요..
0
  • 답변 8

  • 김무난
    277
    2021-03-28 15:29:29

    사용자가 많지 않아 랭킹 테이블에 저장된 내용이 많지 않다면 상관없지만...

    별로 좋은 방식은 아닌 것 같네요. 쓸데없는 데이터를 굳이?

  • WRITE_IN_DART✎
    2021-03-28 16:50:12

    걍 소트 함 되죠머..

  • TeraGo
    637
    2021-03-28 17:12:07

    @김무난


    어차피 사용자가 없기에 ㅠㅠㅠ

    감사합니다.


    @WRITE_IN_KOTLIN✒


    도움을 받았으니 주는대로 하는게 맞죠 ㅠㅠ 보통은 어떤식으로 하는지 궁금해서 여쭤봤습니다.

    감사합니다.

  • Juraffe
    106
    2021-03-28 17:49:13 작성 2021-03-28 17:49:30 수정됨

    통신 비용은 저렴한 게 아니니 불필요한 데이터를 주고 받는 건 프론트에서나 백에서나 좋지 않을 것 같아요! 백엔드 부분에서 제 생각은 랭킹 요청 시 limit 값을 받는 방식으로 하고, 포트폴리오로써 한 마디 더 말할 걸 만든다면 레디스를 사용해서 만들 수 있을 것 같네용

  • 쿡쿠
    753
    2021-03-28 17:50:17

    사용자 수와 상관없이 데이터는 필요한 만큼만 가죠오는게 맞죠. 데이터의 양뿐 아니라 데이터 필드의 종류도 필요한 만큼만 가져와야 합니다.

  • 제타건담
    7k
    2021-03-28 18:05:10

    지인을 설득하실수 있다면 설득하시는게 좋다고 봅니다..

    무슨 얘기냐면  Juraffe 님이 얘기하신 것과 같이 버릴 데이터를 클라이언트에 전송한다는거 자체가 거기서부터 심각한 문제거든요..

    만약 너무 많은 사람들이 이용하고 있고 그걸 서버측에서 연산처리 하기엔 무리가 있다면 전체 데이터 전송 비용과 연산 비용을 같이 따져서 어느쪽이 이득인지 따져볼 필요는 있습니다만..

    그런게 아니라면 서버는 클라이언트에 필요한 데이터만 전송해주는게 맞다고 보구요..

    클라이언트에게 불필요한 데이터를 전송시킬경우 그 불필요한 데이터도 클라이언트에게 노출이 되기 때문에 보안에도 좋지 않습니다..

  • 웅드
    127
    2021-03-28 19:49:32

    db 쿼리할때 sort하면 되지않나요?

  • 므흐므흐
    531
    2021-03-29 00:36:55

    조회 성능을 고려한다면 Redis를 함께 써보는것도 좋을 것 같습니다. (대신 실시간 조회까지 고려한다면 좀 개발이 어려울 수도 있어요)

  • 로그인을 하시면 답변을 등록할 수 있습니다.