로컬에서는 왜 바로 보였을까
개발 모드에서는 변경 사항이 비교적 바로 반영된다.
그래서 새 글을 작성하고 새로고침하면 곧바로 최신 데이터가 보였다.
하지만 배포 환경에서는 다르다.
프로덕션에서는 캐시 전략이 적용되기 때문에,
데이터가 바뀌어도 페이지가 바로 다시 렌더링되지 않을 수 있다.
증상
- localhost에서는 새 글이 바로 보임
- 배포 환경에서는 이전 목록이 계속 보임
- DB에는 분명히 데이터가 들어가 있음
이 상황을 겪으면서
"DB 저장 문제"와 "페이지 반영 문제"를 구분해서 봐야 한다는 걸 배웠다.
해결 방법
핵심은 글 저장 이후에
홈(/)과 블로그 목록(/blog) 경로를 다시 검증하도록 만드는 것이었다.
즉,
- 글 저장 성공
- 캐시 무효화
- 다음 요청에서 최신 목록 렌더링
이 흐름이 필요했다.
느낀 점
처음에는 단순히 CRUD만 되면 끝이라고 생각했는데,
실제로 서비스처럼 보이려면 저장 이후 사용자 화면이 어떻게 갱신되는지도 중요했다.
이번 경험을 통해
"데이터가 들어갔다"와
"사용자에게 최신 상태가 보인다"는 서로 다른 문제라는 것을 분명하게 체감했다.