일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MVP Architecture
- Java
- 카카오 알고리즘
- Android Navigation
- 66챌린지
- Android WebView
- Android Jetpack
- coroutine
- OkHttp Interceptor
- 안드로이드 카카오 로그인
- 영어공부
- android recyclerview
- 습관만들기
- Kotlin FCM
- scope function
- Android 12
- Android 12 대응
- 안드로이드 갤러리 접근
- 영어독립365
- Android ViewPager2
- 안드로이드
- 알고리즘 자바
- Kotlin
- Android
- 코틀린 코루틴
- WebView
- Android ProgressBar
- 프로그래머스 알고리즘
- Android Interceptor
- DataBinding
- Today
- Total
목록전체 글 (142)
나미래 Android 개발자

이 글은 마르친 모스카와의 ⟪코틀린 코루틴⟫ 책을 기반으로 작성하였습니다. 여러분은 코루틴을 사용하기 위해 어떤 방식으로 코루틴을 만들고 계신가요?아마 비동기 처리를 효과적으로 하기 위해서 직접 스레드를 생성하지 않고, 자연스럽게 중단(suspend) 함수를 호출하면서 코루틴에서 처리하도록 하고 있을 겁니다.그렇다면 질문 하나 드려볼게요. 코루틴을 생성할 때, 어떤 상황에서 어떤 코루틴 빌더를 사용해야 하는지 설명할 수 있으신가요? 여기서 등장하는 개념이 바로 코루틴 빌더(Coroutine Builder) 입니다.이번 글에서는 Kotlinx.coroutines 라이브러리에서 제공하는 코루틴 빌더 중, async 함수를 집중적으로 살펴보겠습니다. fun CoroutineScope.async { co..

≪부자 아빠 가난한 아빠≫ - 돈과 삶에 대한 근본적인 질문을 던진다책을 읽는다는 것은 단순히 지식을 쌓는 일이 아니라, 내가 어떤 태도로 인생을 살아가야 할지 방향을 찾는 일이다. 로버트 기요사키의 ≪부자 아빠 가난한 아빠≫는 돈과 삶에 대한 근본적인 질문을 던진다. 이 책을 통해 나는 단순히 “돈을 버는 방법”이 아니라, 돈과 리스크, 학습과 용기, 그리고 나 자신의 사고방식까지 다시 점검하게 되었다.부자 아버지 vs 가난한 아버지 - 돈이 일하게 만드는 사람들책에서 가장 먼저 다가온 메시지는 “나는 돈을 위해 일하지 않는다. 돈이 나를 위해 일한다”라는 부자 아버지의 말이었다. 이는 단순한 구호가 아니다. 개발자가 되기 위해 공부하듯, 부자가 되기 위해서는 돈의 원리를 배우고 자산을 늘리는 방법을 ..

이 글은 마르친 모스카와의 ⟪코틀린 코루틴⟫ 책을 기반으로 작성하였습니다. 여러분은 코루틴을 사용하기 위해 어떤 방식으로 코루틴을 만들고 계신가요?아마 비동기 처리를 효과적으로 하기 위해서 직접 스레드를 생성하지 않고, 자연스럽게 중단(suspend) 함수를 호출하면서 코루틴에서 처리하도록 하고 있을 겁니다.그렇다면 질문 하나 드려볼게요.코루틴을 생성할 때, 어떤 상황에서는 어떤 코루틴 빌더를 사용해야 하는지 답변할 수 있으신가요? 여기서 등장하는 개념이 바로 코루틴 빌더(Coroutine Builder) 입니다.이번 글에서는 Kotlinx.coroutines 라이브러리에서 제공하는 코루틴 빌더 중, 가장 많이 사용되는 launch 함수를 집중적으로 살펴보겠습니다. fun CoroutineScope.la..

책을 읽는다는 것은 단순히 지식을 쌓는 일이 아니라, 저자의 삶을 빌려 내 삶을 다시 돌아보는 일이라는 생각을 자주 한다. 켈리 최 작가의 『파리에서 도시락을 파는 여자』 역시 그런 책이었다. 한 여성이 좌절과 시련을 온몸으로 부딪치며 어떻게 성장했는지를 담담하게 풀어내지만, 그 속에서 나는 나 자신을 비추는 거울을 발견했다. 실패를 분석하는 힘 책을 읽으며 가장 크게 와닿은 대목은 바로 “성공한 사람들은 결국 실패를 분석한다”는 메시지였다. 저자는 자신의 삶을 바꾸기로 결심한 순간부터 역사 속 수많은 성공 사례들을 거꾸로 추적했다. 그들의 공통점은 바로 실패의 과정을 철저히 분석하고, 그것을 발판 삼아 다시 도약했다는 것이다. 나 또한 실패를 대하는 태도를 다시 돌아보게 되었다. 그동안은 실패를 애써..

이 글은 마르친 모스카와의 ⟪코틀린 코루틴⟫ 책을 기반으로 작성하였습니다.여러분은 코루틴 스코프 함수를 어디까지 사용해보셨나요?코루틴 스코프 함수의 기본이 되는 coroutineScope 함수, 아래 정의와 같은 함수를 사용해 보셨나요?suspend fun coroutineScope( block: suspend CoroutineScope.() -> R): R혹시 coroutineScope 함수를 사용하면서 자식 코루틴이 취소/예외가 발생했을 때, coroutineScope의 Job이 종료되지 않도록 하려면 어떻게 해야 하는지 동료에게 또는 면접에서 질문을 받았다면 답변할 수 있으신가요?만약 답변하기 어렵다고 생각이 든다면 이 글을 통해서 자신 있게 답변할 수 있도록 도와드리겠습니다.이 글을 통해서..

이 글은 코틀린 코루틴 마르친 모스카와의 ⟪코틀린 코루틴⟫ 책을 기반으로 작성하였습니다. 여러분은 코루틴 스코프 함수는 어떤 것들이 있고, 어떤 경우에 사용해야 하는지 질문을 받는다면 답을 어떻게 하실건가요?만약 개발 중에 PR 리뷰로 또는 면접 질문으로 코루틴 스코프 함수를 왜 사용했냐는 질문을 받는다면 질문자를 납득할 수 있는 답변을 하실 수 있으신가요?만약 답변하기 어렵다고 생각이 든다면 이 글을 읽고 나서는 자신있게 coroutineScope에 대해서 위와 같은 질문에 대해서 답변하실 수 있으실 겁니다.코루틴 스코프 함수란?먼저 기본 배경 지식으로 '코루틴 스코프 함수'에 대해서 간략하게 설명하겠습니다.'코루틴 스코프 함수'는 코틀린에서 제공하는 코루틴 스코프를 만드는 중단 함수입니다.'코루틴 스..
"ViewModel에서 viewModelScope를 쓰면 따로 cancel() 안 해도 된다고들 하죠. 그 이유, 정확히 알고 계신가요?"혹시 아직도 정확한 원리를 설명 못하겠다면, 이 글을 반드시 끝까지 읽어보세요. 안 읽고 지나가면 분명 손해입니다. Android에서 Kotlin Coroutines를 제대로 쓰기 위해 꼭 알아야 하는 개념 중 하나가 바로 "코루틴 취소"입니다. 특히 ViewModel이나 Activity 생명주기에 따라 적절한 시점에 코루틴을 종료하지 않으면, 앱은 곧 메모리 누수나 예외의 늪에 빠지게 됩니다. 이번 글에서는 Kotlin Coroutines: Deep Dive의 9장 "취소(Cancellation)" 내용을 Android 관점에서 재해석하고, 실전 코드에 어떻게 적용할..

launch를 launch 안에 또 썼는데… 이게 무슨 순서로 실행되는 거지? viewModelScope 안에서 launch를 썼는데 화면이 닫혀도 계속 돌아가는 이유가 뭘까? Android 개발자라면 한 번쯤은 겪어봤을 이 찜찜한 상황들. Kotlin Coroutines의 구조적 동시성 개념을 이해하지 못하면, 우리는 종종 이런 질문에 명확한 답을 내리지 못한 채 감에 의존한 코드를 짜게 됩니다.이번 글에서는 『Kotlin Coroutines Deep Dive』 8장 “잡과 자식 코루틴 기다리기”의 핵심 내용을 바탕으로, Job과 구조적 동시성의 본질을 파헤치고 Android 실전에서 안정성과 신뢰성을 확보하는 방법을 함께 정리해보려고 합니다. 구조적 동시성(Structured Concurren..

코틀린 코루틴을 쓰면서 CoroutineContext는 반드시 마주치는 개념이다. 하지만 공식 문서를 읽거나 튜토리얼을 보면, "Context에 여러 요소를 담는다"는 식의 설명만 있어서 막연하게 느껴지기 쉽다. 나 역시 그랬다. 그래서 이번 글에서는, Android 개발자 입장에서 실제로 살아 있는 지식이 될 수 있도록, CoroutineContext를 '완전히' 풀어 설명하려고 한다. CoroutineContext란 무엇인가?CoroutineContext를 쉽게 말하면, 코루틴이 실행될 때 필요한 환경 정보들을 모아놓은 곳이다.예를 들어,어떤 쓰레드(Dispatcher)에서 돌릴지어떤 작업 그룹(Job)에 속하는지예외가 발생하면 어떻게 처리할지(ExceptionHandler)디버깅을 위한 이름(N..