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 |