| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- WebView
- Android WebView
- android recyclerview
- 프로그래머스 알고리즘
- 알고리즘 자바
- DataBinding
- OkHttp Interceptor
- Android 12 대응
- 코틀린 코루틴
- 안드로이드
- 안드로이드 갤러리 접근
- 66챌린지
- Android Jetpack
- MVP Architecture
- Kotlin FCM
- Kotlin
- scope function
- Android ProgressBar
- Android ViewPager2
- Android
- 안드로이드 카카오 로그인
- 영어공부
- Java
- coroutine
- Android Navigation
- 카카오 알고리즘
- 영어독립365
- Android Interceptor
- 습관만들기
- Android 12
- Today
- Total
목록분류 전체보기 (145)
나미래 Android 개발자
왜 Jetpack Compose는 순수 함수만 허용한는가: Recomposition 원리와 안전한 코드 작성법이 글은 안드로이드 공식 문서 중 CORE AREAS > UI 내용을 기반으로 작성되었습니다.ref). 공식 문서 Jetpack Compose는 선언형 UI(Declarative UI) 패러다임을 기반으로 하여, 기존 Android View 시스템에서 사용하던 명령형 UI(Impreative UI) 방식과 완전히 다른 사고방식을 요구한다. 선언형 UI의 핵심은 "데이터가 바뀌면 UI를 다시 그리는 것"이며, Compose에서는 이를 Recomposition이라고 부른다. Recomposition을 올바르게 이해하기 위해서는 다음과 같은 Compose의 특성과 미래 방향성까지 함께 고려해야 한다.R..
Hilt 내부 동작 이해하기Annotation Processing부터 Bytecode 변조까지Android 개발에서 의존성 주입(DI)을 본격적으로 적용하려면 가장 먼저 만나게 되는 프레임워크가 Hilt다. Hilt는 Dagger2를 기반으로 Android 환경에 최적화된 DI 솔루션이며, 복잡한 Android 컴포넌트 생명주기(Lifecycle)를 고려한 주입 방식을 표준화한다.이번 글은 Hilt 내부 동작을 큰 흐름 중심으로 이해하는 것을 목표로 학습한 내용을 전한다. 너무 심화된 내부 구현까지 들어가기보다는, "왜 이런 구조가 필요한가?"에 집중했다.1. Android에서 DI가 까다로운 이유Android 환경에서 DI가 어려운 이유는 크게 두 가지다.1). Android 컴포넌트는 개발자가 직접 ..
Hilt는 왜 등장했을까? Android 개발자를 위한 DI 표준 솔루션 이해하기Android 개발에서 의존성 주입(Dependency Injection, DI)은 규모가 커질수록 반드시 필요해지는 기술이다.하지만 DI를 구현하는 기존 솔루션들은 Android 환경에서 여러 문제들이 있었고, 이 문제들을 해결하기 위해 Google이 만든 Android 전용 DI 솔루션이 바로 Hilt이다.이번 글에서는 Hilt가 왜 등장했는지, 그리고 왜 Android 개발자가 Hilt를 사용해야 하는지 정리해본다.1. Hilt가 등장한 배경Android 개발자들이 처음부터 Hilt를 사용할 수 있었던 것은 아니다.DI 발전 과정은 아래와 같이 흘러왔다.1). Guice - 서버 환경 기반의 리플렉션 DIGuice는 J..
이 글은 마르친 모스카와의 ⟪코틀린 코루틴⟫ 책을 기반으로 작성하였습니다. 여러분은 코루틴을 사용하기 위해 어떤 방식으로 코루틴을 만들고 계신가요?아마 비동기 처리를 효과적으로 하기 위해서 직접 스레드를 생성하지 않고, 자연스럽게 중단(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이 종료되지 않도록 하려면 어떻게 해야 하는지 동료에게 또는 면접에서 질문을 받았다면 답변할 수 있으신가요?만약 답변하기 어렵다고 생각이 든다면 이 글을 통해서 자신 있게 답변할 수 있도록 도와드리겠습니다.이 글을 통해서..
