반응형 Kotlin184 [Kotlin] Kotlin 공식 문서 번역 - 코루틴 문맥과 디스패처 (Coroutine context and dispatchers) 코루틴 문맥과 디스패처 (Coroutine context and dispatchers) 코루틴은 항상 Kotlin 표준 라이브러리에 정의된 CoroutineContext 유형의 값으로 표시되는 컨텍스트에서 실행됩니다. 코루틴 컨텍스트는 여러 요소의 집합입니다. 주요 요소는 코루틴의 Job(이전에 보았던 것)과 이 섹션에서 다루는 디스패처(Dispatcher)입니다. 디스패처와 스레드 코루틴 컨텍스트에는 코루틴의 실행에 사용되는 스레드 또는 스레드 집합을 결정하는 코루틴 디스패처(see CoroutineDispatcher)가 포함되어 있습니다. 코루틴 디스패처는 코루틴 실행을 특정 스레드에 제한하거나 스레드 풀에 디스패치하거나 무제한으로 실행하도록 할 수 있습니다. launch 및 async와 같은 모든 .. 2023. 10. 1. [Kotlin] Kotlin 공식 문서 번역 - 코루틴 중단 가능한 함수 조합 (Composing suspending functions) 코루틴 중단 가능한 함수 조합 (Composing suspending functions) 이 섹션에서는 중단 가능한 함수를 조합하는 다양한 방법을 다룹니다. 기본적으로 순차적으로 실행 다른 곳에서 정의된 두 개의 중단 가능한 함수가 있다고 가정해보세요. 이 함수들은 원격 서비스 호출 또는 계산과 같은 유용한 작업을 수행한다고 가정합니다. 이 예제를 위해 각 함수가 1초 동안 지연됩니다. suspend fun doSomethingUsefulOne(): Int { delay(1000L) // 유용한 작업을 하는 것처럼 가정 return 13 } suspend fun doSomethingUsefulTwo(): Int { delay(1000L) // 유용한 작업을 하는 것처럼 가정 return 29 } 이 함수.. 2023. 10. 1. [Kotlin] Kotlin 공식 문서 번역 - 코루틴 취소와 타임아웃 (Coroutines Cancellation and timeouts) 코루틴 취소와 타임아웃 (Coroutines Cancellation and timeouts) 이 섹션은 코루틴 취소와 타임아웃에 관한 내용을 다룹니다. 코루틴 실행 취소 긴 실행 시간이 필요한 애플리케이션에서는 백그라운드 코루틴에 대한 미세한 제어가 필요할 수 있습니다. 예를 들어 사용자가 코루틴을 시작한 페이지를 닫았으며 이제 해당 결과가 더 이상 필요하지 않으며 작업을 취소할 수 있습니다. launch 함수는 실행 중인 코루틴을 취소하는 데 사용할 수 있는 Job을 반환합니다: val job = launch { repeat(1000) { i -> println("job: I'm sleeping $i ...") delay(500L) } } delay(1300L) // 약간 지연 println("main.. 2023. 10. 1. [Kotlin] Kotlin 공식 문서 번역 - 코루틴과 채널 - 튜토리얼 (Coroutines and channels − tutorial) 코루틴과 채널 - 튜토리얼 (Coroutines and channels − tutorial) 이 튜토리얼에서는 IntelliJ IDEA에서 코루틴을 사용하여 네트워크 요청을 수행하는 방법을 배우게 됩니다. 이 과정에서 기본 스레드를 차단하지 않거나 콜백을 사용합니다. 코루틴에 대한 사전 지식은 필요하지 않지만 기본적인 Kotlin 구문에 익숙해야 합니다. 다음을 배울 것입니다: 네트워크 요청을 수행하기 위해 중단 함수를 사용하는 이유와 방법. 코루틴을 사용하여 동시에 요청을 보내는 방법. 채널을 사용하여 다른 코루틴 간에 정보를 공유하는 방법. 네트워크 요청에 대해서는 Retrofit 라이브러리가 필요하지만, 이 튜토리얼에서 보여주는 방법은 코루틴을 지원하는 다른 라이브러리에 대해서도 유사하게 작동합니다.. 2023. 10. 1. [Kotlin] Kotlin 공식 문서 번역 - 코루틴 기초 (Coroutines basics) 코루틴 기초 (Coroutines basics) 이 섹션은 기본적인 코루틴 개념을 다룹니다. 첫 번째 코루틴 코루틴은 중단 가능한 계산의 인스턴스입니다. 개념적으로 스레드와 유사하며 코드 블록을 실행하며 나머지 코드와 동시에 작동한다는 점에서 스레드와 유사합니다. 그러나 코루틴은 특정 스레드에 바인딩되지 않습니다. 코루틴은 한 스레드에서 실행을 일시 중단하고 다른 스레드에서 다시 실행할 수 있습니다. 코루틴은 가벼운 스레드로 생각할 수 있지만, 실제 사용에서는 스레드와 매우 다른 중요한 차이점이 있습니다. 첫 번째 작동하는 코루틴에 도달하려면 다음 코드를 실행하세요: fun main() = runBlocking { // 이것: CoroutineScope launch { // 새로운 코루틴을 시작하고 계속.. 2023. 10. 1. [Kotlin] Kotlin 공식 문서 번역 - 코루틴 가이드 (Coroutines guide) 코루틴 가이드 (Coroutines guide) 코틀린은 다른 라이브러리가 코루틴을 활용할 수 있도록 최소한의 저수준 API만을 제공합니다. 비슷한 기능을 가진 많은 다른 언어와는 달리, async와 await는 코틀린의 키워드가 아니며 표준 라이브러리에 포함되어 있지 않습니다. 더구나, 코틀린의 중단 함수 개념은 future 및 promise보다 비동기 작업에 대한 안전하고 오류가 적은 추상화를 제공합니다. kotlinx.coroutines는 JetBrains에서 개발한 코루틴을 위한 풍부한 라이브러리입니다. 이 가이드에서 다루는 launch, async 및 기타 고수준 코루틴 지원 원시들을 포함하고 있습니다. 이는 kotlinx.coroutines의 핵심 기능에 대한 가이드로, 다양한 주제로 나누어진.. 2023. 10. 1. [Kotlin] Kotlin 공식 문서 번역 - 시퀀스 (Sequence) 시퀀스 (Sequence) 컬렉션과 함께 Kotlin 표준 라이브러리에는 또 다른 유형인 시퀀스(Sequence)가 포함되어 있습니다. 컬렉션과는 달리 시퀀스는 요소를 포함하지 않고 반복 중에 요소를 생성합니다. 시퀀스는 Iterable과 동일한 함수를 제공하지만 다단계 컬렉션 처리에 대한 다른 접근 방식을 구현합니다. Iterable의 처리가 여러 단계를 포함할 때, 이러한 단계는 즉시 실행됩니다. 각 처리 단계가 완료되고 결과인 중간 컬렉션을 반환합니다. 그 다음 단계는 이 컬렉션에서 실행됩니다. 반면에 시퀀스의 다단계 처리는 가능한 경우 게으르게 실행됩니다. 실제 계산은 전체 처리 체인의 결과가 요청될 때만 발생합니다. 작업 실행 순서도 다릅니다. 시퀀스는 모든 처리 단계를 각 요소마다 하나씩 수행.. 2023. 9. 26. [Kotlin 번역] What's new in Kotlin 1.9.0 2023년 8월 23일 Kotlin 1.9.0 릴리스가 출시되었으며 JVM용 Kotlin K2 컴파일러가 이제 베타 버전으로 제공됩니다. 또한 다음은 주요 업데이트 중 일부입니다: 새로운 Kotlin K2 컴파일러 업데이트 enum 클래스 values 함수의 안정적인 대체 오픈 엔드 범위를 위한 안정된 ..< 연산자 이름에 따라 regex 캡처 그룹을 얻는 데 사용하는 새로운 공통 함수 상위 디렉토리를 만들기 위한 새로운 경로 유틸리티 Kotlin Multiplatform에서 Gradle 구성 캐시 미리보기 Kotlin Multiplatform에서 Android 대상 지원 변경 Kotlin/Native에서 사용자 지정 메모리 할당기 미리보기 Kotlin/Native에서 라이브러리 링크 Kotlin/Was.. 2023. 9. 17. [Kotlin 번역] What's new in Kotlin 1.9.20-Beta 2023년 9월 11일 이 문서는 초기 액세스 미리보기 (EAP) 릴리스의 모든 기능을 다 다루지는 않지만, 최신 기능과 주요 개선 사항을 강조하고 있습니다. GitHub 변경 로그에서 전체 변경 목록을 확인하세요. Kotlin 1.9.20-Beta 릴리스가 출시되었습니다! 이 미리보기 버전의 주요 하이라이트는 다음과 같습니다: 멀티플랫폼 프로젝트 설정을 위한 새로운 기본 계층 구조 템플릿 Kotlin Multiplatform에서 Gradle 구성 캐시의 완전한 지원 Kotlin/Native에서 기본으로 활성화된 사용자 지정 메모리 할당기 Kotlin/Native의 가비지 컬렉터 성능 개선 Kotlin/Wasm에서 새로운 및 이름이 변경된 대상들 Kotlin/Wasm을 위한 표준 라이브러리에서 WASI .. 2023. 9. 17. 이전 1 2 3 4 5 6 ··· 21 다음 반응형