본문 바로가기

WEB/Error

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

BudgetKeemi 프로젝트에서의 고민

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

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

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

 

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

 

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

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


클라이언트에서 구현

1. 유연성

2. 서버 부담 감소

3. 빠른 구현

- > 소규모 서비스의 경우


의문점

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

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


서버에서 구현

1. 성능 최적화

2. 일관성 유지

3. 데이터 처리 로직 분리

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


결론

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

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

 

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

 

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

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

 

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

'WEB > Error' 카테고리의 다른 글

돈 관련 필드 타입  (2) 2024.09.21
@NotNull @NotEmpty @NotBlank  (0) 2024.09.21
서비스 계층 간의 의존성  (0) 2024.09.20
FileZilla &EC2  (0) 2024.04.14