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

3주차 이용진 pr #7

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

3주차 이용진 pr #7

wants to merge 1 commit into from

Conversation

Leesin0222
Copy link
Member

No description provided.

@Leesin0222 Leesin0222 self-assigned this Jan 12, 2025
Copy link

Automated Review

Feedback for file: week3/yongjin/yongjin.md
죄송하지만 공유하신 이미지 링크를 제가 직접 볼 수 없어서 구체적인 내용을 볼 수 없습니다. 그러나 Android Room을 공부하신 것에 대해 간략한 설명과 추가적으로 공부하실 수 있는 방향을 제시해 드릴 수 있습니다.

Android Room 기초 요약

  • Room Database: SQLite를 추상화하고 쉽게 데이터를 영속적으로 저장할 수 있는 방법을 제공합니다. Room을 사용하면 SQLite의 복잡함을 추상화하여 데이터베이스 작업을 단순화할 수 있습니다.
  • Entity: Room에서 Entity는 데이터베이스 테이블을 나타냅니다. 클래스로 정의되며, 각 인스턴스 변수는 테이블의 컬럼에 매핑됩니다.
  • DAO (Data Access Object): 데이터베이스에 액세스하는 데 사용하는 메소드를 포함하는 인터페이스입니다. 어떤 SQL 쿼리를 실행할지 정의하는 메소드를 포함합니다.
  • Database: RoomDatabase를 상속받는 추상 클래스로, 애플리케이션의 영속적인 데이터를 보유한 데이터베이스 인스턴스를 생성할 기반을 제공합니다. DAO의 인스턴스를 포함하며, 데이터베이스 생성이나 버전 관리도 처리합니다.

공부하신 내용에 대한 피드백

  • Coding Best Practices: Room을 사용하면 데이터베이스 작업을 수행할 때 매끄럽게 복잡성을 관리할 수 있지만, 성능 최적화와 데이터 관리 전략(예: 트랜잭션 관리, 쿼리 최적화)에 대해서도 배우는 것이 중요합니다.
  • Migration: Room에서 데이터베이스 스키마를 변경해야 할 경우, 마이그레이션을 통해 이전 버전의 데이터베이스에서 새 버전으로 사용자 데이터를 안전하게 전송할 수 있습니다. 마이그레이션을 어떻게 설계하고 테스트하는지에 대해 공부해 보세요.
  • LiveData와 ViewModel: Room과 함께 LiveData 및 ViewModel을 사용하여 데이터베이스 작업을 UI와 동기화하는 방법을 배우면 앱의 반응성을 높일 수 있습니다.

추천하는 추가 학습 자료

  1. 심화 Android Room:

    • 다중 테이블 관계(One-to-One, One-to-Many, Many-to-Many)
    • 커스텀 SQL 쿼리와 @RawQuery 사용 방법
    • TypeConverters를 사용하여 복잡한 데이터 유형을 저장하는 방법
  2. 유닛 테스팅:

    • Room 데이터베이스와 DAO 함수에 대한 유닛 테스트 방법을 배워보세요. 애플리케이션의 안정성을 높일 수 있습니다.
  3. 아키텍처 컴포넌트:

    • Room을 다른 Android Jetpack 구성 요소와 통합하는 방법을 배우면 좀 더 견고하고 유지 관리가 쉬운 애플리케이션을 만들 수 있습니다. 예를 들어, Repository 패턴과 같은 패턴을 사용하여 데이터 소스를 추상화할 수 있습니다.

이러한 주제들은 Room 데이터베이스를 더 깊이 있고 효율적으로 사용하는 데 도움이 될 것입니다. 계속해서 학습을 진행하시면서 실제 애플리케이션에 적용해 보시길 권장합니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant