본문 바로가기
반응형

전체 글361

[Kotlin] Kotlin 공식 문서 번역 - 코루틴 비동기 Flow (Coroutines Asynchronous Flow) 코루틴 비동기 Flow (Coroutines Asynchronous Flow) 서스펜딩 함수는 비동기로 단일 값을 반환하지만, 어떻게 여러 비동기로 계산된 값을 반환할 수 있을까요? Kotlin Flows가 이럴 때 사용됩니다. 여러 값을 표현하기 여러 값을 Kotlin에서는 컬렉션을 사용하여 나타낼 수 있습니다. 예를 들어, 세 개의 숫자를 포함하는 List를 반환하는 간단한 함수를 만들고 forEach를 사용하여 모든 값을 출력할 수 있습니다. fun simple(): List = listOf(1, 2, 3) fun main() { simple().forEach { value -> println(value) } } 이 코드는 다음과 같이 출력됩니다: 1 2 3 시퀀스 만약 CPU를 소모하는 블로킹 코.. 2023. 10. 1.
[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.
[AI] ChatGPT 사용법 (20) - ChatGPT Enterprise 이번 포스팅에선 2023년 8월 28일에 공개된 ChatGPT Enterprise에 대해 알아보려고 한다. ChatGPT Enterprise란? ChatGPT Enterprise 공식 사이트에 있는 내용을 번역해서 알아보자! ChatGPT EnterpriseEnterprise-grade security & privacy and the most powerful version of ChatGPT yet.openai.com 먼저 공식 사이트에 있는 소개 글을 먼저 보자. Introducing ChatGPT EnterpriseGet enterprise-grade security & privacy and the most powerful version of ChatGPT yet.openai.com ChatGPT E.. 2023. 9. 18.
반응형