건강에 대한 GSoC 중간 보고서
마지막 업데이트에서 User 모델을 만들기 시작했습니다. 지금까지 전체 사용자 모델을 GSettings에서 데이터베이스로 마이그레이션하고 이에 따라 코드베이스를 리팩토링했습니다.
지금까지의 주요 진행 상황은 다음과 같습니다.
새로운 사용자 모델 생성:
새 사용자 모델은 user_birthday, user_height 등과 같이 처음에 GSettings에 저장된 모든 사용자 세부 정보로 구성됩니다. 이 새 모델은 각 사용자를 단일 데이터 구조와 연결하는 데 도움이 됩니다.
pub struct User {
pub user_id: i64,
pub user_name: String,
pub user_birthday: glib::DateTime,
pub user_height: Length,
pub user_weightgoal: Mass,
pub user_stepgoal: i64,
pub enabled_plugins: Vec<PluginName>,
pub recent_activity_types: Vec<ActivityType>,
pub did_initial_setup: bool,
}
현재 사용자 데이터는 유연성을 높이고 여러 다른 사용자를 지원하기 위해 GSettings 대신 데이터베이스에 저장됩니다. 각 사용자에게는 사용자 ID가 할당되고 활성 사용자 ID는 특정 사용자에 대한 빠른 액세스를 위해 GSettings에 저장됩니다.
내 프로젝트의 다음 부분에서는 특정 사용자의 사용자 ID를 기반으로 각 데이터를 저장하고 추출할 수 있도록 가중치와 활동을 특정 사용자와 연관시키는 것을 다루었습니다.
이전에는 Date를 DateTime으로 마이그레이션하는 마이그레이션 기능이 모든 기능에 대해 실행되어 애플리케이션 시작 시간이 느려졌습니다. 이는 데이터베이스 버전이 현재 버전과 같으면 마이그레이션을 건너뛰고 마이그레이션을 실행하고 데이터베이스를 업데이트하도록 데이터베이스에 버전을 추가하여 수정되었습니다. 또한 GSettings 파일의 데이터에서 초기 사용자가 생성되고 각 활동 및 체중을 사용자 ID 1의 초기 사용자와 연결하도록 세 가지 추가 마이그레이션 기능이 추가되었습니다.
중간 평가까지의 마지막 부분은 여러 사용자를 전환하기 위한 UI 추가를 다뤘습니다.
지금까지 내 프로젝트의 전부입니다. 내 MR에 대한 링크는 다음과 같습니다. https://gitlab.gnome.org/World/Health/-/merge_requests/174
다음 단계:
이제 저는 다음 작업을 할 것입니다.
3주 후에 모두 만나요. 읽어 주셔서 감사합니다!
Reference
이 문제에 관하여(건강에 대한 GSoC 중간 보고서), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/amankrx/gsoc-mid-term-report-for-health-med텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)