You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
영화 / TV / 명대사 검색 결과에 대한 필터링을 프론트에서 처리할지 백엔드 쿼리 기반으로 처리할지?
🔖 프론트 필터링 방식
TMDB & Supabase 에서 일괄 데이터를 받아와서
프론트에서 걸러서 UI에 반영하는 방식
적합한 경우
검색 결과가 많지 않을 때 (1~2 페이지 정도)
필터가 간단한 토글 수준인 경우 (장르, OTT, 연도, 평점 등)
서버 / API 확장이 어려운 경우
빠른 UI 반응성이 중요한 경우 (최초에 불러온 데이터로 프론트에서 조작만)
단점
검색 결과가 많으면 데이터 용량이 커지고 (클라이언트에 다 내려줘야 함) / 브라우저 부담 증가 / 느려질 수 있음
아주 디테일한 필터링은 어려울 수 있음
🔖 백엔드 필터링 방식
TMDB API 에 쿼리 파라미터 붙여서 요청
Supabase 에도 select * from TABLE where { ... condition ... } 요청
적합한 경우
유저별 커스터마이징, 정렬 등 복합적인 필터 조건이 필요한 경우
쿼리를 자유롭게 구성할 수 있는 경우 / 데이터 용량이 크고 서버 최적화가 필요한 경우
데이터 노출을 (보안 또는 정합성 문제로) 제한해야하는 경우
무한 스크롤, 페이징 등 데이터 분할이 필요한 경우
단점
검색 속도가 느릴 수 있음 (쿼리마다 요청)
유지보수가 API 와 연결되어 있어 어려울 수 있음
우리 프로젝트에 적합한 방식은?
현재 프로젝트는 Preload (Home에서 전체 / 추천 / 인기 / 장르별 영화 등을 로딩해서 보여줌)
→ Home에서 받아온 영화 리스트를 클라이언트에서 필터링 시키면 이미 로딩된 데이터를 사용할 수 있고, 중복 fetch 최소화 가능 (TMDB의 rate limit 관리에도 유리)
→ 만약 검색어가 Home에 뿌려진 데이터에 없을 경우 추가 fetch 하는 식으로 보완
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
영화 / TV / 명대사 검색 결과에 대한 필터링을 프론트에서 처리할지 백엔드 쿼리 기반으로 처리할지?
🔖 프론트 필터링 방식
적합한 경우
단점
🔖 백엔드 필터링 방식
적합한 경우
단점
우리 프로젝트에 적합한 방식은?
현재 프로젝트는 Preload (Home에서 전체 / 추천 / 인기 / 장르별 영화 등을 로딩해서 보여줌)
→ Home에서 받아온 영화 리스트를 클라이언트에서 필터링 시키면 이미 로딩된 데이터를 사용할 수 있고, 중복 fetch 최소화 가능 (TMDB의 rate limit 관리에도 유리)
→ 만약 검색어가 Home에 뿌려진 데이터에 없을 경우 추가 fetch 하는 식으로 보완
Beta Was this translation helpful? Give feedback.
All reactions