개발자
결론부터 이야기하면 앱 서비스에서 로컬 DB에 저장된 데이터를 서버에 어느 시점에 어떻게 저장할지 고민입니다. 첫번째 질문은 "동일한 핸드폰에서 게스트 모드로 사용했던 데이터를 사용자가 서비스에 가입하여 로그인 했을 때 게스트에서 이용했던 데이터들을 어떻게 사용할 수 있을까?" 입니다. 서비스에 게스트 모드를 이용하게 될 때는 로컬 DB를 이용해서 구현하고 있습니다. 이때 소셜 로그인 시 로컬에 있는 데이터를 해당 계정에 반영하고 싶습니다. 일단 설정 탭에 버튼을 두어 게스트 모드와 동기화를 시키는 방향이 가장 먼저 떠오르는데 이 방법 외에 여러 방법을 듣고 싶습니다. 두번째는 소셜 로그인 시에도 로컬 기반으로 서비스를 만든다고 가정했을 때 서버에 데이터를 저장되는 방식과 시점이 고민입니다. 업데이트될 때마다 로컬과 서버 두 곳에 바로 저장할지 아니면 앱에 일정 트리거 마다 서버에 있는 기존 데이터를 지우고 새롭게 로컬 데이터를 최신화 시키는 게 좋을지, 혹은 다른 방식은 있는지 궁금합니다!
답변 1
## 결론 로컬에 우선 저장하고, 특정 타이밍에 서버에 데이터를 전송 왜 why? - 일단 화면엔 업데이트 된 내용이 보여지는 게 UX 방면에서 정석이기 때문입니다.(반응성) - 로컬에 저장한 데이터가 서비스 정책이나 법률에 의거했을 때 불온할 수 있기 때문입니다. (예, 야한 것, 욕 등) ## 어느 시점, 어느 타이밍? - 로컬 DB에 필요한 데이터가 온전하게 들어왔을 때라면 언제든 ## 동기화 버튼 동기화 버튼은 피하시고 자동으로 작업할 수 있는 함수나 워커들을 만들어 사용하세요. * 동기화 버튼을 사용하는 경우 - 유저 데이터의 저장 장소가 유저마다 다르게 설정할 수 있을 때 (예, 옵시디언)
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
5월 1일
앱 서비스에서 로컬 데이터를 서버에 업데이트하는 전략을 고려할 때, 여러 가지 방법이 있습니다. 첫번째 질문에 대한 저의 의견은 다음과 같습니다. 사용자가 소셜 계정으로 로그인하면 그동안 게스트 모드에서 사용했던 데이터를 해당 계정에 연결해야 합니다. 하나의 방법은 게스트 세션 중에 생성된 모든 데이터를 서버로 전송한 후, 이들을 임시 데이터로 관리하는 것입니다. 이 사용자가 로그인하면 이 임시 데이터를 해당 사용자의 계정으로 옮깁니다. 다른 방법으로는 앱 내부에 별도의 '게스트 아이디'를 생성하여, 유저가 회원가입을 하고 나면 이 '게스트 아이디'의 내용들을 실제 아이디로 마이그레이션 하는 방식도 있습니다. 두 번째 질문에는 동기화 전략에 따라 다르지만 몇 가지 일반적인 전략은 다음과 같습니다: 1. **즉시 동기화:** 앱 내에서 변경사항이 생길 때마다 즉시 서버에 업로드합니다. 2. **일정 간격 동기화:** 앱에서 변경사항을 기록하고, 정해진 시간 또는 특정 조건(예: 사용자가 앱을 종료할 때)에 따라 변경사항을 한 번에 서버에 업로드합니다. 3. **백그라운드 동기화:** 서비스가 휴면 상태일 때, 모든 변경 사항을 백그라운드에서 실시간으로 또는 주기적으로 서버로 보냅니다. 모든 경우에 대해 최상의 해결책이나 일관된 방법은 없으며, 각 구현마다 장단점이 있습니다. 어플리케이션의 특성과 목표, 사용자 기대 등을 고려하여 결정해야 합니다. 중요한 것은 사용자에게 데이터를 안전하게 유지하고 직관적인 경험을 제공하는 것입니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!