목록Kotlin (10)
Shunz Android Dev Note
이 포스팅은 아래 게시글을 번역 및 일부 수정하여 작성하였습니다. https://medium.com/androiddevelopers/coroutines-first-things-first-e6187bf3bb21 이 일련의 포스팅은 코루틴의 취소와 예외에 대하여 자세히 설명합니다. 취소 작업은 메모리와 베터리 수명을 낭비 할 수 있는 필요 이상의 작업을 하지 않도록 하는데 중요합니다. 적절한 예외 처리는 훌륭한 사용자 경험을 제공하는데 핵심 요소입니다. 본 포스팅은 이어서 작성할 다른 두 포스팅(2부 : 취소, 3부 : 예외)의 기초에 관하여 설명을 합니다. 예를 들어 CoroutineScope, Job 그리고 CoroutineContext입니다. 만약 영상을 보는것을 더 선호한다면 KotlinConf'19..
비동기 프로그래밍은 애플리케이션을 개발할 때 Main Thread를 블럭킹하지 않고 시간이 오래 걸리는 작업 (예 : 원격 저장소에서 데이터를 가져오기, I/O 작업) 등 여러 작업을 동시에 수행할 수 있도록 해주는 중요한 테크닉입니다. 코틀린은 Android App 및 Backend 개발을 위해 강력한 언어로서 kotlin coroutine을 통해 비동기 프로그래밍을 탁월하게 지원합니다. 이번 포스팅에서는 비동기 프로그래밍을 쉽게 만드는 kotlin coroutine의 세 가지 필수 기능인 async{}, await, awaitAll의 개념에 대해 알아보겠습니다. 빌더 함수 async {} kotlin coroutine에서 async{}는 새로운 코루틴을 시작하는 코루틴 빌더로, 비동기 연산을 시작한다..
마지막으로 다루게 될 Flow 타입은 SharedFlow의 하위 항목인 StateFlow입니다. SharedFlow에 대해 자세히 알아보려면 여기서 이전 게시글을 확인해주세요. 이제 StateFlow를 특별하게 만드는 방법에 대하여 알아보겠습니다. 아래 다이어그램을 바로 이해하지 못하더라도 본 게시글을 모두 읽어 보셨다면 충분히 이해 할 수 있을것으로 기대합니다. StateFlow는 특별한 SharedFlow Flow와 SharedFlow의 차이점과는 다르게, SharedFlow와 StateFlow는 매우 많은 공통점이 있습니다. 사실, 특별한 속성들(properties)을 가지는 SharedFlow를 만들어서 독자만의 StateFlow를 만들 수 있습니다. 먼저 replay value를 1로 설정하여 ..
이전 포스팅에서 Flow에 대하여 살펴보았습니다. 이번 포스팅에서는 Flow의 child에 속하는 SharedFlow에 대하여 살펴보려고 합니다. 이 타입은 FRP(Functional Reactive Programming) 스타일로 프로그래밍을 할때 더욱 많은 가능성을 열어줍니다. 이전 포스팅에서 다루었던 많은 내용들이 이 포스팅에서 이어지겠지만, SharedFlow는 Flow와 비교할 때 몇가지 주요 차이점이 있습니다. 아래 다이어그램을 바로 이해하지 못하더라도 본 게시글을 모두 읽어 보았다면 충분히 이해 할 수 있을것으로 기대합니다. Hot Flow 첫 번째이자 가장 중요한 차이점은 SharedFlow가 콜드(cold)가 아니라 핫(hot) 스트림이라는 점입니다. 이는 SharedFlow에서 컬렉션이..