올
올리브영
October 4, 20231회
useInfiniteQuery로 무한스크롤 구현하기
간단 소개
react-query의 useInfiniteQuery를 사용하여 무한 스크롤을 구현하고, 뒤로가기 시 이전 스크롤 위치와 상품 목록을 유지하는 방법을 설명합니다.
AI Summary
- useInfiniteQuery를 활용한 무한 스크롤 구현
- react-query의 useInfiniteQuery 훅을 사용하여 무한 스크롤을 구현하고, fetchNextPage, hasNextPage, isFetchingNextPage 등의 반환 값을 활용.
- getNextPageParam 옵션을 통해 마지막 페이지를 판단하고, react-intersection-observer의 useInView 훅을 사용하여 뷰포트 내 요소 감지를 통해 다음 페이지를 로딩.
- 뒤로가기 시 스크롤 및 상품 목록 유지
- 상품 상세 페이지 이동 시 세션 스토리지에 클릭된 상품의 인덱스 값과 스크롤 Y값을 저장하여 페이지 간 이동 시 정보 유지.
- useQueryClient의 prefetchInfiniteQuery, getQueryData, setQueryData를 활용하여 이전 상품 목록을 복원하고 스크롤 위치를 이동.
- 문제 해결 및 추가 고려 사항
- 레거시 API의 pagination 부재로 인해 getNextPageParam에서 마지막 페이지 여부를 직접 판단해야 하는 문제점.
- 검색 결과 페이지 진입 경로를 활용하여 불필요한 세션 스토리지 값을 제거.
Next Feeds

신규 재고 시스템 구축을 위한 개발 여정
올리브영의 신규 재고 시스템 구축 여정을 소개하며, 주요 기술 도입 및 시스템 안정성 확보 과정을 설명합니다.
재고 시스템MSARedissonKafkaReactive Programming
2023. 10. 4.
올리브영

Google Cloud Next’23 참관기
Google Cloud Next '23 참관 후기: Generative AI와 Duet AI를 중심으로 클라우드 기술 동향을 파악하고, AI의 혁신적인 가능성을 엿볼 수 있었던 경험.
Google Cloud NextGenerative AIDuet AIBigQuery클라우드
2023. 10. 3.
요기요

퇴근길에 카뱅 들러서 기술 한 잔 어때요? : 첫 번째 기술 밋업 회고
카카오뱅크의 첫 기술 밋업 '퇴근길 기술 한 잔'의 준비 과정과 주요 내용을 공유하고, 향후 개발자들과의 지속적인 소통 계획을 밝힙니다.
카카오뱅크기술 밋업iOS 개발자DevRel네트워킹
2023. 9. 29.
카카오뱅크
올리브영 개발자가 좋아하는 과자는?
올리브영 개발자들의 최애 과자를 설문 조사하여, 초콜릿, 쿠키파이, 홈런볼, 빈츠, 오예스, ABC 초콜릿 등이 인기 있음을 확인하고 '개발자 능률 팩'을 제안한다.
올리브영개발자간식선호도 조사능률 팩
2023. 9. 27.
올리브영

Redis 사용량 타노스하기
Redis 사용량 최적화를 통해 Elasticache 메모리 사용량 52%, 비용 66% 절감. Protobuf, Brotli 압축, Key 압축 등 다양한 방법 적용.
RedisElasticacheProtobufBrotli최적화
2023. 9. 26.
AB180
올리브영 잡 챌린지! 프론트엔드 개발자로의 전환
올리브영 잡 챌린지를 통해 프론트엔드 개발자로 전환한 경험과 W CARE 스쿼드에서의 실무 경험을 공유합니다.
올리브영잡 챌린지프론트엔드개발자W CARE
2023. 9. 26.
올리브영