Upgrade to Pro — share decks privately, control downloads, hide ads and more …

뉴비의 시점에서 바라본 Kotlin suspend - 네이버 부스트캠프 7기 부스트...

ezhoon
July 05, 2024
46

뉴비의 시점에서 바라본 Kotlin suspend - 네이버 부스트캠프 7기 부스트 컨퍼런스

네이버 부스트캠프 7기 부스트 컨퍼런스에서 Android 섹션에서 발표한 자료입니다.

Kotlin에서 어떻게 suspend 키워드 만으로 suspend가 가능하게 해주는 것인지 Decompile 해서 분석한 것과 예제를 만들어서 발표를 했습니다.

ezhoon

July 05, 2024
Tweet

Transcript

  1. ⓒ NAVER Connect Foundation 뉴비의 시점에서 바라본 Kotlin suspend 2022.10.20

    작성자 : 이지훈 # 우당탕탕 코루틴 적용 일기
  2. ⓒ NAVER Connect Foundation 4 코루틴을 공부하게 된 계기 1.

    Coroutine이 무엇일까? 루틴의 일종으로서, 협동 루틴이라고 할 수 있다. (코루틴의 “Co”는 with, 또는 together를 뜻한다.)
  3. ⓒ NAVER Connect Foundation 6 1. Coroutine이 무엇일까? 공통점 Routine

    컴퓨터 프로그램의 일부로서, 특정한 일을 실행하기 위한 명령
  4. ⓒ NAVER Connect Foundation 9 다들 이번 프로젝트에서 어느 부분에서

    비동기적으로 구현하셨나요? 1. Coroutine이 무엇일까?
  5. ⓒ NAVER Connect Foundation 10 동기 방식 1. Coroutine이 무엇일까?

    Block onDraw() onDraw() onDraw() onDraw() 네트워크 요청을 하고 2초 이상이 걸린다면?
  6. ⓒ NAVER Connect Foundation 12 코루틴 방식 1. Coroutine이 무엇일까?

    Supend onDraw() onDraw() onDraw() Resume onDraw()
  7. ⓒ NAVER Connect Foundation update() 19 Continuation 나 어디까지 진행했지?..

    Continuation 나 어디까지 했어? signup() 2. suspend function
  8. ⓒ NAVER Connect Foundation 22 2. suspend function Continuation 객체를

    만들고 invokeSuspend는 result를 갱신하고, 본인을 다시 호출하네!
  9. ⓒ NAVER Connect Foundation 24 2. suspend function 실행할 때마다

    result, label을 저장하고 다시 호출될 때 switch에서 label을 기준으로 실행하는구나!
  10. ⓒ NAVER Connect Foundation 28 2. suspend function 콜백말고 코루틴

    써봐 한 번 사용만 이라도… suspend 대단한 놈이잖아
  11. ⓒ NAVER Connect Foundation 참고 자료 꿈 많은 개발자가 되자

    – Kotlin coroutine suspend? 디컴파일을 통해 알아보자 Chang W.Doh – Kotlin의 Coroutine은 어떻게 동작하는가 Android Developers – Suspend Functions – Kotlin Vocabulary JetBrainsTV – Deep Dive into Coroutines on JVM by Roman Elizarov Kotlin 공식문서 – Kotlin Language Specification NAVER Engineering – 화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드 NAVER Engineering – 안드로이드에서 코루틴은 어떻게 적용할 수 있을까?