WEB/Error

클라이언트? 서버? 구현 문제

hwahaha 2024. 9. 21. 02:24

BudgetKeemi 프로젝트에서의 고민

가끔가다 어떤 기능을 클라이언트에서 구현할지, 서버에서 구현할지 고민될 때가 있다.

나도 BudgetKeemi 프로젝트를 진행하면서도 이러한 고민을 했다.

(물론 데이터 검증을 진행하는 경우 서버에서 검증하는 것은 당연하다.)

 

이 프로젝트에서는 거래내역 데이터날짜 기준 오름차순 또는 내림차순으로 정렬해야하는 경우가 있었다.

 

이런 상황에서 어떻게 해야할까

우선 둘의 차이점을 알아보자


클라이언트에서 구현

1. 유연성

2. 서버 부담 감소

3. 빠른 구현

- > 소규모 서비스의 경우


의문점

2번 서버 부담 감소에서는 의문이 들었다.

정렬 혹은 분류되지 않은 대량의 데이터를 받는게 더 부담이 아닐까?


서버에서 구현

1. 성능 최적화

2. 일관성 유지

3. 데이터 처리 로직 분리

-> 정렬하는 것이 로직핵심인 경우


결론

빠른 구현을 하고 싶으면 클라이언트에서 처리하는게 맞을 수 있다.

하지만 정렬이 중요한 로직이면 서버에서 처리하는 것이 안전하고 유지보수하기에 쉽다.

 

그러면 나는 어떻게 할 것인가?

 

이번 프로젝트에서는 거래내역을 시간순으로 정렬하는 문제는 핵심로직이라고 생각했다.

거래내역이라고 하면 일반적으로 날짜 내림차순을 생각하지 않을까?

 

위의 내용을 바탕으로 현재 프로젝트에서는 서버에서 구현하기로 결론을 내렸다