일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로토타입 패턴
- F
- 추상팩토리패턴
- PrototypePattern
- El
- ㅋㅁ
- Abstract Factory
- 함수형프로그래밍
- Singleton
- 추상 팩토리
- 코틀린
- 옵저버 패턴
- Functional Programming
- r
- builderPattern
- 디자인패턴 #
- ㅓ
- Design Pattern
- designPattern
- Kotlin
- 빌터패턴
- 디자인패턴
- 싱글톤
- Observer Pattern
- a
- 팩토리 메소드
- factory method
- Today
- Total
목록Coroutine (24)
오늘도 더 나은 코드를 작성하였습니까?
LiveData는 2017년에 우리에게 필요했던 것이었습니다. Observer pattern 은 우리가 코딩을 하는데 있어서 더 쉽게 만들어 주었지만, 당시에는 RxJava와 같은 옵션이 초보자에게 너무 복잡했습니다. Architecture Components 팀은 Android용으로 설계된 매우 독단적인 Observable 데이터 홀더 클래스인 LiveData를 만들었습니다. LiveData는 시작하기 쉽도록 단순하게 만들었고, RxJava와 LiveData사이의 통합을 활용하여 보다 복잡한 reactive streams의 경우 RxJava를 사용하는 것이 좋습니다. DeadData? LiveData는 여전히 Java 개발자, 초보자 및 간단한 상황을 위한 솔루션입니다. 이것을 제외한다면, Kotlin..
context에 대한 지식을 children 및 jobs과 함께 가지고 있어야 한다. 애플리케이션에 수명 주기가 있는 객체가 있지만 해당 객체는 코루틴이 아니라고 가정해보자 예를 들어, 우리는 Android 애플리케이션을 작성하고 데이터를 가져오고 업데이트하고, 애니메이션을 수행하는 등의 비동기 작업을 수행하기 위해 Android Activity의 context에서 다양한 코루틴을 시작합니다. 모든 코루틴은 memory leak를 방지하기 위해 Activity이 파괴될 때 취소되어야 한다. 물론, context와 job을 수동으로 설정하여 Acitvity의 생명주기에 해당 코루틴을 연결할 수 있지만 kotlinx.coroutines는 다음을 캡슐화하는 추상화를 제공합니다. coroutine Builder..
코루틴은 항상 Kotlin 표준 라이브러리에 정의된 CoroutineContext type로 표시되는 context에서 실행됩니다. coroutne context - 다양한 요소의 집합 - 주요 요소는 이전에 본 코루틴의 job / dispatcher Dispatchers and threads 코루틴 context에는 해당 코루틴이 실행에 사용하는 스레드를 결정하는 코루틴 디스패처(CoroutineDispatcher 참조)가 포함됩니다 코루틴 디스패처는 코루틴 실행을 특정 스레드로 제한하거나, 스레드 풀에 디스패치하거나, 제한 없이(unconfined) 실행되도록 할 수 있습니다. launch{ ... } 및 async {...} 와 같은 모든 코루틴 빌더는 새 코루틴 및 기타 컨텍스트 요소에 대한 디스..
Sequential by default (기분 순차적 구성) 두개의 유용한 작업을 하는 suspend 함수가 있다고 가정하자. suspend fun doSomethingUsefulOne(): Int { delay(1000L) // pretend we are doing something useful here return 13 } suspend fun doSomethingUsefulTwo(): Int { delay(1000L) // pretend we are doing something useful here, too return 29 } 위 2개의 함수의 결과 값을 합친 값을 필요로한다면 어떻게 해야되나? 보통 코드와 마찬가지로 코루틴의 코드는 기본적으로 순차적이기 때문에 일반 순차 호출을 사용합니다. 다음..