| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- android designsystem
- 옵저버 패턴
- 디자인패턴
- factory method
- Kotlin
- builderPattern
- 코틀린
- 추상 팩토리
- Design Pattern
- 함수형프로그래밍
- 추상팩토리패턴
- kmp
- 코루틴
- ㅋㅁ
- compose
- material3
- PrototypePattern
- 코틀린멀티플랫폼
- designPattern
- 팩토리 메소드
- Coroutines
- Functional Programming
- 디자인패턴 #
- define
- 안드로이드 디자인시스템
- Observer Pattern
- Abstract Factory
- 프로토타입 패턴
- 빌터패턴
- kotlin multiplatform
- Today
- Total
목록Coroutine (30)
오늘도 더 나은 코드를 작성하였습니까?
중단함수는 Continuation을 다른 중단함수로 전달해야 한다. 중단함수는 일반함수 호출가능, 중단함수를 호출가능일반함수는 일반함수 호출가능, 중단함수를 호출 불가능 중단함수를 "연속적"으로 호출하다보면 시"작되는 지점"이 존재한다. 그것이 코루틴 빌더이다. launch 빌더코루틴을 시작하면 불꽃놀이를 할 때 불꽃이 하늘 위로 각자 펴지는 것처럼 별개로 실행된다. CoroutineScope 인터페이스의 확장함수=> 부모 코루틴과 자식 코루틴사이의 관계를 정립하기 위한 목적으로 사용되는 구조화된 동시성의 핵심import kotlinx.coroutines.GlobalScopeimport kotlinx.coroutines.delayimport kotlinx.coroutines.launchfun main..
코틀린 언어에서 자체적으로 지원하는 부분(컴파일러의 지원과 코틀린 기본 라이브러리의 요소)과 코틀린 라이브러리(kotlinx.coroutines)으로 구성되어 있다. 언어 차원에서의 지원kotlinx.coroutines 라이브러리컴파일러가 지원하며 코틀린 기본 라이브러리에 포함되어 있다.의존성을 별도로 추가해야 한다.kotlin.coroutines 패키지에 포함되어 있다.kotlinx.coroutines 패키지에 포함되어 있다.Continuation, suspendCoroutines과 같은 몇몇 기본적인 것들과 suspend 키워드를 최소한으로 제공한다.launch, async, Deferred 처럼 다양한 기능을 제공한다.직접 사용하기 아주 어렵다.직접 사용하기에 편리하게 설계되어 있다. 거의 모든 동..
중단- 코틀린 코루틴의 다른 모든 개념의 기초가 되는 필수적인 요소 코루틴을 중단한다는건 실행을 중간에 멈추는것을 의미한다.코루틴은 중단하였을때 continuation객체를 반환하고, continuation을 이용해서 중단된 곳에서 다시 시작할 수있다. 재개중단 함수는 말 그대로 코루틴을 중단할 수 있는 함수입니다. 이는 중단 함수가 반드시 코루틴(또는 다른 중단 함수)에 의해 호출되어야 함을 의미한다.suspend fun main() { println("before") println("after")}// before// after suspendCoroutine 함수를 이용하여 before, after출력 사이에서 중단해 보기 import kotlin.coroutines.suspendCorou..
코틀린의 sequence List, Set과 같은 컬렉션이랑 비슷한 개념이지만, 필요할 때마다 값을 하나씩 계산하는 지연(lazy) 처리를 한다. - 요구되는 연산을 최소한으로 수행한다.- 무한정이 될 수 있다.- 메모리 사용이 효율적이다.val seq = sequence { // this : SequenceScope yield(1) yield(2) yield(3)}fun main() { for (num in seq) { print(num) }} 수신 객체 지정 람다 함수 사용 ( susepnd SequenceScope.() -> Unit )숫자가 미리 생성되는 대신 필요할 때마다 생성된다는 것이 핵심이다. 시퀀스의 작동방식 val seq = sequence { ..