반응형 Paging3 적절히 판단해서 사용하기 채팅 로그 서비스 개발에 사용했던 Paging3에 대한 경험을 기록합니다. Room 기반으로 채팅 데이터를 기록하고, 이 데이터를 Paging3 를 활용하여 보여줍니다.하지만 원하는 요구사항에 항상 Paging3가 맞아 떨어지진 않았습니다.Paging3를 사용할지 직접 구현할지를 결정하고, 그 경험을 기록합니다. 1. Gallery 뷰에 Paging3 활용 사례우선, Paging3를 활용했던 경우에 대해서 먼저 이야기하겠습니다. Gallery 뷰의 진입점은 채팅방 -> 갤러리로 이뤄지고 있습니다.휴대폰의 기본 갤러리 앱 처럼, N x 3의 그리드 형식으로 사진들을 보여줘야 하고날짜에 따라 날짜 헤더 구분자 또한 필요합니다. 우선 이 요구사항들을 기반으로, Paging3를 구현하게 된다면 두 가지 방법이 .. 2025. 2. 23. Firebase Cloud Functions V2 정복 (요금제 업그레이드 필요) Firebase Cloud Functions를 V1에서 V2로 마이그레이션하고,Cli를 이용해서 테스트하고 배포까지 진행하는 과정을 기록했습니다. 2023년에 Firebase Cloud Functions V1에 대한 글을 작성했는데,해당 글을 수정하여 V2 버전에 대한 내용으로 다시 채우게 되었습니다. V1버전에 대한 지원이 중단될 예정이므로, V2 버전으로 마이그레이션 바랍니다.V2버전에 대한 마이그레이션 방법은 공식 문서를 참고하거나, 이 글을 통해 진행하실 수 있습니다. Firebase에도 AWS의 서버리스 프레임워크 AWS Lambda 처럼, 서버리스를 지원합니다.그 서비스 이름은 바로 'Cloud Functions' 입니다. 도입 배경저같은 경우에는, 한정적인 서버 자원에서 서버의 과부하를 .. 2025. 2. 21. Paging3 - insertSeparators 활용하여 갤러리 구현하기 사진 갤러리에서 날짜 데이터를 추가해야 할 일이 생겼습니다. Paging3는 PagingData로 데이터가 감싸져 있어서, 내부 데이터를 다룰 수가 없는 불편함이 있는 만큼insertHeaderItem(), insertFooterItem(), insertSeparator() 같은 내부 함수들을 지원합니다. 이 중 insertSeparator()를 활용하면, 우리가 갤러리 앱에서 볼 수 있는 UI를 쉽게 구현할 수 있습니다.@CheckResult@JvmSyntheticpublic fun PagingData.insertSeparators( terminalSeparatorType: TerminalSeparatorType = FULLY_COMPLETE, generator: suspend (T?, .. 2025. 2. 20. Spring Data JPA 에는 ON DUPLICATE KEY UPDATE 가 없다 ! 어떻게 해야할까 ! 이번에 새로운 서비스를 개발하다가 필요한 기능이 생겼다.이번 서비스는 일종의 크롤링과도 관련이 있다. 주기적으로 타 API를 호출하여 데이터를 가져와서1. 기존 데이터셋에 추가하거나2. 기존 데이터의 필드 중 변경사항이 있다면 업데이트해주어야 한다. 문제는, 타 API에서 하나의 데이터를 두 개로 관리해주고 있다.그래서 나는 이 데이터를 합쳐서 하나의 테이블로 관리해주어야 한다. API 1은 기본 정보에 관한 것이다.{ userId: 1, name: "john", phone: "012-3456-789"} API 2는 세부 정보에 관한 것이다.{ userId: 1, job: "Student", introduce: "Hello, my name is jonh", vi.. 2025. 2. 19. 이전 1 2 3 4 ··· 242 다음 반응형