목록안드로이드(Android)/연구 및 프로젝트 (3)
Simple&Natural

Dispatcher Dispatcher는 코루틴을 특정 스레드에서 실행할 수 있도록 도와주는 기능이다. 코루틴에서는 디스패처를 이용하여 다양하게 스코프를 지정할 수 있다. Rx류의 라이브러리에서 쓰이는 스케쥴러가 유사한 기능을 한다. 특히 비동기 백그라운드 작업을 수행할 때 가장 많이 쓰이는 것이 IO 와 Default Dispatcher이다. Coroutine을 처음 접하면 이 두 디스패처 중 어떤 것을 써야 하는지 헷갈릴 수 있다. 정확히 이 두 디스패처의 차이가 무엇인지 알아보자. Dispatchers.Default 다음은 Default Dispatcher에 대한 공식 설명이다. * The default [CoroutineDispatcher] that is used by all standard bu..

이전에 멀티스레드 환경에서 싱글톤 패턴을 사용할 때 할때 유의해야 할 코드 패턴에 대해 작성했던 글이 있다. 이후 사용할 일이 없어서 잠시 잊고 지냈다가 최근 Repository나 DataSource를 구현할 때 싱글톤을 쓰게 되는 일이 자주 있어서 이 부분에 대해 추가적으로 학습하고 정리한 내용을 기록해보고자 한다. 우선 싱글톤 패턴 사용시 기존에 가장 잘 알려져 있는 코드 작성 방법 중 하나는 DCL(Double Checked Locking)이다. class Singleton( private val param: SomeParameter ) { ... companion object { private var instance: Singleton? = null fun getInstance(param: Som..

과거 과제로 만들었던 앱을 새로운 구조를 학습과 패턴 적용을 연습하는 목적으로 리팩토링한 내용을 기록한 것입니다. 전체 프로젝트 소스는 다음 링크에서 볼 수 있습니다. github.com/unnamedw/NewsReaders-Task unnamedw/NewsReaders-Task Contribute to unnamedw/NewsReaders-Task development by creating an account on GitHub. github.com [앱 설명] 구글 뉴스 기사를 크롤링하여 보여주는 앱입니다. 클릭하면 상세 기사를 볼 수 있으며 화면을 당겨 새로운 기사로 업데이트 할 수 있습니다. 작업이 완료된 데이터부터 순차적으로 보여줍니다. 데이터가 많고 파싱하는 작업이 오래 걸리기 때문에 프로그레스..