코루틴 3

코루틴과 비동기 프로그래밍의 관계

재미없는 대학 숙제같은 제목이지만, 최근에 책을 하나 읽으면서 Kotlin의 코루틴(Coroutine)을 사용하면서 풀리지 않던 찝찝함을 풀어서 코루틴과 비동기 프로그래밍의 관계에 대해 포스팅 해보려한다. 이 글은 코루틴, 루틴, 서브루틴, 비동기 프로그래밍, 스레드같은 관련 단어가 각각 따로 뭔지는 알겠는데 이것들의 관계에 대해 명확히 설명하지 못하는 사람이라면 도움이 될 것이다.어떤 개념에 대해 이해하기 위해서는 그 개념이 왜 등장했는지, 이것이 해결하고자하는 문제점은 무엇인지에 대해 생각해보는게 좋은 접근이라는 것을 꽤 오래 잊고있었다. 그냥 "코루틴"이라고 구글에 검색해서 아티클을 몇가지 보면서 이해했다고 넘겼다. 하지만 정작 "코루틴"이 무엇인가? 그리고 비동기 프로그래밍과는 어떤 관계가 있는가..

[Android] 안드로이드로 게임을 만들어 보았다

그것이 유저를 위해서라면... 게임 멤버십 서비스 플레이오는 모바일 게임을 플레이 하고, 게임 플레이에 대한 보상을 받을 수 있는 앱이다. 앱 특성상 사용 연령대는 어린편이나 게임 시간 측정을 위해 안드로이드에서 오버레이 권한과 앱 사용시간 접근을 허용하는 등 처음 사용법이 다소 어려운 편이다. 그래서 유저 튜토리얼을 추가하여 훈련시켜보는 건 어떨까하는 생각에 ... 앱에서 튜토리얼을 위한 모의 게임을 만들자! 라고 제안했는데 받아들여졌고 결국 그렇게... 허접하지만 미니 게임을 만들게되었다. 이 글에서는 이번에 안드로이드에서 미니 게임을 만들면서 고려했던 문제들을 하나 하나씩 살펴보려한다. # 어떤 게임? 위 짤이 바로 만든 게임의 화면이다. 노란 새 버디가 유치원에 등교를 하는데, 버디의 부모님인 동..

[Kotlin] Channel이란?

원문: https://proandroiddev.com/kotlin-coroutines-channels-csp-android-db441400965f원문을 읽으면서 제가 이해하기 위해 번역한 것입니다.개념만 남기고 예제는 거의 뺐으니 예제를 보시려면 여기로~ Channels Channel은 2개의 Coroutine 사이를 연결한 파이프라고 생각하면 된다.이 파이프는 두 Coroutine 사이에서 정보를 전송할 수 있도록 한다.하나의 Coroutine은 파이프를 통해서 정보를 보낼 수 있고, 다른 하나의 Coroutine은 정보를 받기위해 기다린다. 채널이라는 말을 일상생활에서는 TV에서 제일 많이 쓰는데..채널을 통해서 우리는 방송국에서 쏴주는 방송을 본다. (일방적 커뮤니케이션)사진에서 1번 Corouti..

1