전체 글 240

Cold Flow와 Hot Flow (SharedFlow)

#1 Cold Flow와 Hot Flow#1-1 개요데이터 스트림은 크게 Cold Flow와 Hot Flow로 나눌 수 있다. 이 분류 기준에 대해 알아본다. 또, Kotlin의 Coroutines Flow를 활용해 간단한 Cold Flow 및 Hot Flow를 구현해본다.  #1-2 훌륭한 비유 What is the hot flow and cold flow in coroutines and the difference between them?I am mastering Kotlin coroutines and trying to figure out 1- what is hot flow and cold flow ? 2- what is the main difference between them? 3- when to ..

[Android] Coroutines Flow - Jetpack Compose에서 사용하기

#1 개요 [Kotlin] Coroutines Flow - 기초#1 Coroutines Flow#1-1 개요 FlowFlow An asynchronous data stream that sequentially emits values and completes normally or with an exception. Intermediate operators on the flow such as map, filter, take, zip, etc are functions that are applied to the upstkenel.tistory.com위에서 다룬 Coroutines Flow를 Jetpack Compose에 적용시켜본다. 여기서 말하는 '적용'이란, 단순한 사용이 아니라 Flow 객체를 State로서 ..

어떻게 살아야 하는가?

#1 어떻게 살아야 하는가?나는 늘 스스로에게 물었다. "어떻게 살아야 하는가?" 질문은 언제나 하나였으나, 대답(방법론)은 늘 달랐다. 대충 생각해도 8살부터는 이런 질문을 해왔다. 지금까지 모인 대답의 갯수를 전부 합하면 수백수천 가지는 족히 될 것이다. 과장이 아니다. 나는 어느 때는 컴퓨터 게임을 할 수 있음에도, 그 선택지 대신 '대답'에 심취하여 생각에 잠긴 때도 많았기 때문이다. 나에게 있어 그 대답이란 나의 인생과 이 세상을 관통하는 하나의 진실이어야 했고, 나는 그 진실에 늘 매달렸다. #2 슬로건그러다 어느 순간부터 지쳐버리고 말았다. 1. 어떤 대답을 오랜 고민 끝에 도출한다. 2. 이 세상의 법칙(후술할 혼돈)에 의해 대답이 산산이 부셔지고 논파된다. 3. "내가 틀린 대답을 했을 ..

카테고리 없음 2024.08.05

[Kotlin] Coroutines Flow - 기초

#1 Coroutines Flow#1-1 개요 FlowFlow An asynchronous data stream that sequentially emits values and completes normally or with an exception. Intermediate operators on the flow such as map, filter, take, zip, etc are functions that are applied to the upstream flow or flows and return a dokotlinlang.orgFlow는 내부적으로 Coroutine을 사용해 비동기적으로 데이터 스트림을 처리하는 API다. 이를 반응형 프로그래밍이라고도 한다. 반응형 프로그래밍을 한 마디로 정의하면, ..

[Kotlin] Coroutines - 한 Scope 내에서의 계층 관계

#1 이전 글 [Kotlin] Coroutines - Coroutine builder#1 Coroutine builder kotlinx-coroutines-coreCore primitives to work with coroutines. Coroutine builder functions: Coroutine dispatchers implementing CoroutineDispatcher: More context elements: Synchronization primitives for coroutines: Top-level suspendinkenel.tistory.com위 게시글의 CoroutineScope의 생략에 대해 다룬 #6-4에서 이어지는 글이다. 이전 글에선 CoroutineScope을 생략하는 게..

[Android] Jetpack Compose - ViewModel에서 State 사용하기

#1 개요Jetpack Compose에서 ViewModel을 사용해본다. Jetpack Compose를 사용하지 않는 전통적인 방식에서의 ViewModel과 크게 다를 게 없다. Jetpack Compose에 ViewModel을 구현함으로써 State Hoisting 패턴을 극대화시키는 효과도 확인해본다. #2 코드#2-1 MainActivity.kt...class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Box( modifi..

[Android] Jetpack Compose - State Hoisting

#1 개요 상태를 호이스팅할 대상 위치  |  Jetpack Compose  |  Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. 상태를 호이스팅할 대상 위치 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Compose 애플리케이션에서developer.android.comState Hoisting(상태 호이스팅) 패턴을 적용해 코드의 잠재적 유지보수성을 높혀본다. #2 코드#2-1 State Hoisting 패턴이 적용되지 않은 코드...class MainActivity : ComponentActivity() {    override fun onCreate(savedInstanceState: Bundle?) {  ..

[Android] Jetpack Compose - State Remembering

#1 개요 상태 및 Jetpack Compose  |  Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. 상태 및 Jetpack Compose 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 앱의 상태는 시간이 지남에 따라developer.android.comState가 가지는 위치 제약 그리고 해당 제약을 해소하는 방법에 대해 살펴본다. #2 코드#2-1 에러가 발생하는 코드 (State object의 위치 제약)@Composablefun ButtonExample(modifierParam: Modifier = Modifier) {    val count = mutableStateOf(0)    Button(     ..

[Kotlin] 위임 프로퍼티 (Delegated properties)

#1 Delegated properties#1-1 개요 Delegated properties | Kotlin kotlinlang.org위임 프로퍼티는, getter와 setter 로직을 다른 클래스에 위임(delegate)하는 코틀린 프로퍼티를 의미한다. 본 게시글에서는 위임 프로퍼티의 기제에 대해 탐구하고 또 위임 프로퍼티를 간단히 구현해본다. #1-2 위임(delegate)의 의미 [Kotlin] 프로퍼티(Property)#1 필드와 프로퍼티 #1-1 프로퍼티의 개념 // Java String name = "steve"; // Field System.out.println("my name is" + name); name = "kevin"; --- // Kotlin var name : String = "..

[Android] Jetpack Compose - State 기초

#1 개요 상태 및 Jetpack Compose  |  Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. 상태 및 Jetpack Compose 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 앱의 상태는 시간이 지남에 따라developer.android.comJetpack Compose의 State 개념에 대해 살펴본다. #2 일반적인 개념으로서의 State먼저, State라는 용어 자체에 대한 이해가 필요하다. Jetpack Compose에서 쓰이는 State가 아니라 일반적인 개념으로서의 State 말이다. 상태라는 말로 번역되는 State는 말 그대로 상태, 즉 시간이 흐름에 따라 변할 가능성이 있는 값으로 다름..