프론트엔드 개발자 · React / Next.js
변세민
화면만이 아니라 데이터 설계와 배포까지, 서비스를 처음부터 끝까지 만들어 봤습니다.
대표 작업
Mooda
분위기로 찾는 카페 · 2026.03 - 현재
Next.js 16 · TypeScript · React 19 · Prisma ORM · Supabase PostgreSQL · Redux Toolkit


Mooda에서 해결한 문제
문제해결
지도를 끄는 동안 이동 이벤트마다 검색 조건이 바뀌어 API 요청과 DB 조회가 쏟아졌다.
해결지도가 멈추고 0.4초 뒤에만 위치를 반영(디바운스)하고, 화면이 15% 넘게 이동하거나 줌이 20% 넘게 바뀐 경우만 새 영역으로 인정했다. 자동 재검색 대신 '이 지역 재검색' 버튼을 둬서 사용자가 원할 때만 조회한다.
서버 렌더링 시점에 찜·투표 상태를 몰라서, 상세 페이지 첫 화면이 항상 '찜 안 함'으로 보였다.
해결서버 컴포넌트에서 찜·투표 기록을 Promise.all로 동시에 조회해 첫 화면부터 맞는 상태로 그렸다.
로컬에서는 Redis 캐시가 정상 동작했지만, Vercel에는 Redis 서버가 없어 배포 후 요청마다 연결 재시도로 응답이 늦어졌다.
해결Redis 주소가 설정되지 않은 환경에서는 연결을 시도하지 않도록 막았다. 운영에서는 네이버 블로그·구글 리뷰 결과를 만료 시간이 있는 DB 캐시 테이블로 재사용하고, 로컬에서는 그 앞에 Redis를 한 단계 더 둔다.
