이슈 리포트로 보는 FE에서 화면 그리기(캐싱) [재현환경] 단말정보 : iPhone SE iOS 15.8 앱버전 : 0.12.345 [사전조건] 작성 가능한 후기 1건 이상 상태 [발생경로] 마이 페이지 메인 > 로그아웃 버튼 클릭 > 작성 가능한 후기 영역 확인 시 [기대결과] 작성 가능한 후기 미표시 [실제결과] 작성 가능한 후기 표시됨 [재현빈도] 항상 발생 (10/10) [비고] - ---------- 재현이 안 된다고 돌아왔다. 누구는 되고 누구는 안 된다? 계정 문제인지, 기기 스펙 문제인지.. 간헐적인 이슈는 최대한 해본것들을 적는다. 특정 계정, 특정 절차에서 재현되었다. 찰스를 연결해서 보니 응답시간이 4초대. 오래 걸린다. 응답을 보니 작성 가능한 목록을 모두 가져온다. 다시보니 해당 영역을 제일 마지막에 그린다. 또 다시보니 size=1을 보내는데 가져오는건 80건 모두 가져온다. 요약하자면 응답 200을 받아 영역을 그린다. 마이페이지 진입 > /v0/mem/comments/commentable 응답 받기 전에 로그아웃 > 로그아웃 성공 후 200 받음 > 작성 가능한 후기 그려짐 > 로그아웃 상태인데도 작성 가능한 후기 영역이 보이는 것이다. 테스트를 할 때 거의 동일한 계정으로 한다. 테스트 계정이다 보니 거래 건수가 많고 작성 가능한 후기도 많이 누적되었다. 해결하기 위해서는 몇가지 방법이 있다. 정책에 관한 정의는 기획이 한다. 선을 넘지 말아야한다. 회사 분위기에 따라 의견을 내던가, 가만히 있어야한다. 서비스가 어떻게 돌아가는지 파악하기 위해 생각만 해본다. 1. size 값을 조절한다. 2. size에 맞게 데이터를 가져온다. 3. api 속도를 개선한다. 4. 해당영역을 캐싱한다. 1,4번은 FE, 2,3번은 BE 1,2번으로는 해결되지 않는다. 여전히 응답이 느리다. 수정본은 해당 영역은 캐싱 데이터로 확인되었다. 캐시가 없는 경우 빈 영역에서 응답을 받은 후 영역을 그린다. 캐시가 있고 응답 데이터가 변경된 경우 캐시된 데이터를 먼저 보여주고, 응답을 받은 값으로 갱신하여 영역을 그린다. 클라쪽 캐싱은 로컬 저장소를 쓴다는 것은 응답을 변경하여 확인가능하다. ---------- 로컬 저장소 삭제 경로다. Android 애플리케이션 정보 > 저장공간 iOS OS에서 개별 앱에 대한 캐시 삭제 기능 없음. 앱에 따라 지원하는 앱도 있음. Web 브라우저 > 개발자 도구 > 애플리케이션 > 저장용량 > 로컬 스토리지 브라우저 > 개발자 도구 > 애플리케이션 > 저장용량 > 쿠키

댓글 1