일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Coroutine
- 안드로이드강좌
- ReactiveProgramming
- 병렬프로그래밍
- Kotlin
- Rxjava
- 코틀린
- 알게되는
- 글또
- 자바
- g 단위테스트
- 알고리즘
- 안드로이드
- theming
- Gradle
- 안드로이드스튜디오
- 디자인패턴
- 병럴프로그래밍
- 책
- viewmodel
- 스레드
- 코루틴
- k8s
- 테스트
- 커스텀상태
- mockito
- Compose
- android
- 회고
- kotlin강좌
- Today
- Total
목록코루틴 (2)
선생님, 개발을 잘하고 싶어요.
흔한 개발 시나리오 왜 Coroutine이 필요할까요? 이를 쉽게 이해하기 위해서 회원가입을 해야 하는 상황을 생각해봅시다. 편의를 위해서 회원가입 완료할 때 로그인 처리까지 하고 싶다고 합시다. 이메일, 비밀번호를 입력받습니다. 이메일, 비밀번호를 기반으로 회원가입을 요청합니다. 회원가입이 성공적으로 완수되면, 해당 이메일과 비밀번호를 사용해서 로그인을 요청합니다. 성공 메시지를 노출시킵니다. 이걸 코드로 옮겨보겠습니다. // 1. 이메일, 비밀번호를 입력 받습니다. val email: String = "greedy0110@gmail.com" val password: String = "0110" // 2. 이메일, 비밀번호를 기반으로 회원가입을 요청합니다. server.requestSignUp(emai..
도입 코틀린 문서: https://kotlinlang.org/docs/reference/coroutines-overview.html 안드로이드 문서: https://developer.android.com/kotlin/coroutines 실무에서 프로그램을 작성하면 언제나 멀티 스레드 작업을 하게 된다. 하지만 복잡하고 타이밍 문제가 속출하는 멀티 스레드를 기본 제공되는 API로 구현하는 것은 끔찍한 일이다. 그래서 Task 같은 인터페이스로 추상화된 개념으로 작업을 하거나, RxJava 라이브러리를 추가해서 멀티 스레드 작업을 처리했다. 그런데 기존 방식의 문제는 간단한 구현과 관련된 엄청난 러닝 커브와 직관적이지 않은 형태, 그리고 많은 보일러 플레이트 코드가 문제가 됐다. 다른 언어 (C#, ES)등..