huiungJetpack Compose 사용 후기Jetpack Compose가 등장한지 어느덧 3년이 지나갔다. 처음 Jetpack Compose가 등장했을 때, 다른 안드로이드 개발자들은 어땠을지 몰라도, 나는 굉장히 반가웠다. 안드로이드 개발 이외에도 React, Flutter를 경험해 본적이…Dec 5, 2023Dec 5, 2023
huiungAnnotation을 이용한 컴파일 타임 코드 생성(Kotlin Compiler Plugin) — 2실제로 Compiler Plugin을 만드는 예제를 보기전에, Dagger-hilt가 동작하는 과정을 살펴보자. 과거의 안드로이드 개발자는 DI에 대한 처리를 하기위해 Dagger를 직접 사용해야 했고, 이것은 생각보다 귀찮은 일이였다. 이러한…Aug 6, 2023Aug 6, 2023
huiungAnnotation을 이용한 컴파일 타임 코드 생성(Kotlin Compiler Plugin) — 1일반적으로 많은 개발자들은 반복적인 코드를 보게 되면 이것을 피할 수 있는 방법을 찾으려고 한다. 나 또한 프로젝트에 존재하는 Boilerplate code들이 문득 보이게 되었고 이것을 어떻게 효율적으로 제거할 수 있을지에 대한 고민을 하기…Jul 19, 2023Jul 19, 2023
huiungOpen Source Contribute 해보기(support Animated Image library)오늘은, 처음으로 Open Source에 Contirubte를 했던 경험에 대해서 글을 써보려고 합니다. 그동안 꼭 해보고 싶다는 생각은 들었지만 생각보다 엄두가 나지 않아서 시도를 하지 못했습니다. 이번에 프로젝트에서 APNG 및 AWebp를…Apr 26, 2023Apr 26, 2023
huiungImplementing EventBus with Flow (SharedFlow)Photo by Wesley Shen on UnsplashMar 31, 2023Mar 31, 2023
huiungFlow(SharedFlow)를 이용하여 EventBus 구현하기Application을 개발하다 보면, Android Component 사이에서 Event를 보내줘야 하는 경우가 종종 생긴다. 예를 들어, 현재 화면에서 특정 동작을 수행 했을 때 이전 화면들의 Ui data들이 변경되어야 하는 경우가 있을 수…Mar 30, 2023Mar 30, 2023
huiungKotlin by lazy under the hoodIn Kotlin, there are keywords(lateinit, by lazy) to initialize variables lazily.Aug 30, 2022Aug 30, 2022
huiungKotlin by lazy 분석해보기Kotlin에서는 변수의 초기화를 지연시키는 키워드들이 존재합니다. 대표적으로 lateinit, 이나 by lazy가 있습니다.Aug 17, 2022Aug 17, 2022