f-lab-edu / wak-plus Goto Github PK
View Code? Open in Web Editor NEW[안드로이드, 마이리얼트립 합격] 🕊 Wak+ is an application that helps you to conveniently access to WAKTAVERSE member's SNS content such as YouTube, Twitch, Instagram, and Twitter in one app.
[안드로이드, 마이리얼트립 합격] 🕊 Wak+ is an application that helps you to conveniently access to WAKTAVERSE member's SNS content such as YouTube, Twitch, Instagram, and Twitter in one app.
트위치 다시보기 저장 기간 (이후에 삭제됨)
백그라운드 상태의 앱을 다시 실행했을 때 낮은 빈도로 네트워크에 연결이 되어 있는데도 네트워크 연결 되지 않음 UI가 나타나는 버그
스트리머가 트위치의 프로필 이미지 변경 시, 과거 즐겨찾기에 저장했던 Content의 profile url은 만료되어 표시되지 않는 문제가 발생
FavoriteFragment 실행 전 미리 Room DB로부터 즐겨찾기 데이터 불러오기
Android의 코루틴 권장사항 문서를 보면 Don't hardcode Dispatchers
when creating new coroutines 라는 내용이 제일 먼저 등장한다.
// DO NOT hardcode Dispatchers
class NewsRepository {
// DO NOT use Dispatchers.Default directly, inject it instead
suspend fun loadNews() = withContext(Dispatchers.Default) { /* ... */ }
}
Dispatchers
를 하드코딩 하지 말고 주입하라는 이야기인데 기존 코드는 application 범위의 CoroutineScope 를 Hilt를 통해서 생성하고 있긴 했지만 Dispatchers
는 직접 코드에 작성하고 있었으므로 CoroutinesDispatchersModule 을 통해서 Dispatchers
를 주입할 수 있도록 코드를 수정할 것이다.
이 리팩토링은 구글의 안드로이드 개발자 Manuel Vivo의 글 Create an application CoroutineScope using Hilt를 기반으로 진행할 예정이다.
Youtube 또는 Twitch API로부터 직접 데이터를 불러올 경우 할당량 제한 문제가 있으므로 Firebase의 Cloud Firestore를 이용하여 캐싱한 데이터를 불러오는 방법으로 할당량 문제를 해결
Youtube Data API의 부족한 할당량과 속도를 개선하기 위해 Holodex API를 이용하여 유튜브 데이터 로딩 테스트
@Entity(tableName = "twitch_table")
data class TwitchVideoEntity(
@PrimaryKey val twitchUserInfo: TwitchUserInfo, // 문제의 부분
@ColumnInfo val twitchVideoInfo: TwitchVideoInfo,
val isFavorite: Boolean,
) : ContentData()
@PrimaryKey
로 TwitchUserInfo
를 설정하는 바람에 동일한 TwitchUser의 다른 Video(Content)들을 저장하여도 하나의 Video만 저장되는 문제가 발생.
각 Video의 고유한 값이 될 수 있는 TwitchVideoInfo
에 @PrimaryKey
어노테이션을 붙여 간단히 해결.
Date 타입 데이터의 TimeZone 지정 문제
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.