Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

학원 스케줄 퍼사드 패턴 도입 및 Etag 도입으로 인한 응답 사이즈 개선 #129

Merged
merged 15 commits into from
Dec 16, 2023

Conversation

byeolhaha
Copy link
Member

@byeolhaha byeolhaha commented Dec 12, 2023

구현

  • 학원 스케줄 퍼사드 패턴을 도입하여 더 이상 DashboardAccessService를 AcademyCalendarService가 몰라도 됩니다.

    • 따라서 DashboardAccessService 삭제 부탁드려요 @SeYoE
  • Etag를 도입하여 응답 사이즈를 2.3KB에서 304B로 개선하였습니다.

    • 그러나 모든 get 요청에서 사용하는 것보다 데이터가 잘 바뀌지 않는 곳에서 사용해야할 거 같아 몇 개의 API에만 적용하였습니다. ➡️모든 get 요청에 Etag를 사용하는 것으로 바꾸었습니다. 그 이유는 저희가 제공하는 Etag라는 키를 클라에서 활용할 뿐이지 저희가 제어할 수 있는 개념이 아니라고 판단했기 때문입니다.
    • Etag를 사용하려면 Cache-Control에 no-store이 있으면 안되는데 현재 Studay는 모두 로그인이 필요한 요청들이어서 no-store로 정책이 선택됨에 따라 Etag를 사용하는 API에는 no-cache만 적용되도록 Controller에 응답에 설정해주었습니다.
  • /children의 경우 아이가 현재 어떤 일정을 수행 중인지 알려주는 요청이어서 데이터가 잘 바뀌지 않아 Etag를 적용하였습니다.그러나 현재 시각을 계속 응답으로 주는데 이 필드는 실제로 사용하지 않은 필드여서 Etag를 적용하기 위해 하드코딩을 해두었습니다. 이후 프론트분들과 협의하에 필드를 완전히 삭제할 계획입니다. @jisung24 @wonu606

@byeolhaha byeolhaha self-assigned this Dec 12, 2023
@byeolhaha byeolhaha added the enhancement New feature or request label Dec 12, 2023
@byeolhaha byeolhaha merged commit abde55c into develop Dec 16, 2023
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant