실제 업무에서 발생했던 이벤트를 nowinandroid 프로젝트에 비유해서 표현하였습니다. tl;dr이미지 로더로 Coil 을 사용한다면, respectCacheHeaders 의 값을 서버 환경에 맞게 잘 설정해줘야 합니다.잘못될 경우, Disk 에 저장만하고, 사용하지 않고 있을 수도 있습니다.Glide 에 OkHttp 를 integration 해서 사용한다면 같은 문제가 발생할 수 있습니다. 동료가 Coil 을 이용해서 개발중, 이미지가 너무 늦게 보이는 것 같다는 이야기하였고 실제로 URL 형식의 이미지를 로드하는데, 특정 이미지의 경우 Disk Hit 이 되지 않고, 항상 Network Hit 이 되는 경우가 있었습니다. 다만 Glide 는 Disk Hit 이 잘 되고 있었습니다. (뒤에서 이야..
해당 포스트는 엄재웅 - Compose 성능 최적화를 위한 Stability 마스터하기(https://www.youtube.com/watch?v=bDyhdJk3uZM) 를 보고 간략하게 정리한 내용 & 간단한 개인 의견을 주저리 적어두었습니다.원본 영상은 좋은 내용이 많으니, 보시길 추천드립니다.Stable 로 간주되는 유형원시 타입파라미터가 없는 모든 람다 (파라미터를 넘기는 경우 해당 파라미터가 Stable 인 경우만)(data) class 의 public property 가 불변(val) 이거나 Stable 인 경우(data) class 에 @Stable 이나 @Immutable 을 명시적으로 표기하는 경우 Unstable 로 간주되는 유형(아래 모든 유형은 equals 와 별개로 동작하기 때문에 ..
트위터에 근무중인 GDE 인 JORGE CASTILLO 가 온라인 교육을 진행하고 있는데, 어떤 코스로 가르치는지 궁금해서 정리해둡니다. (저자의 스펙이 굉장하네요) 저대로 공부하면 나도 컴포즈 전문가..? 왜 써야할까 ? Compose 는 새로운 UI 개발에 있어 안드로이드 표준이기 떄문에 꼭 배워야 합니다. 1. 필수 코스 Composable 함수를 작성해보고 어떤식으로 동작하는지 Compose compiler, Compose runtime 입장에서 바라봅니다. 컴포즈 아키텍쳐 알아보기(UI, Foundation, Material, Runtime, Compiler) Box, Text 을 이용한 첫번째 Composable 함수 작성해보기 Composable Preview 에 대해 알아보기 Composa..
해당 글은 https://newsletter.jorgecastillo.dev/p/the-composable-node-tree 번역 글입니다. The Composable node tree 🌲 Learn how the Jetpack Compose node tree is built, updated, how changes to it are applied, the different types of nodes on it, and more 🔥 newsletter.jorgecastillo.dev Jetpack Compose 노트 트리가 빌드되고, 업데이트 되고, 어떤식으로 변경사항이 적용되고 다양한 노드 타입들에 알아보겠습니다. 컴포저블 노드 트리가 어떤식으로 표현되고 생성되고 유지 되는지에 대한 글은 인터넷에 많지 ..
해당 글은 https://newsletter.jorgecastillo.dev/p/stateful-vs-stateless-composables 의 번역본입니다. Stateful vs Stateless Composables Differences and when to use each one newsletter.jorgecastillo.dev 해당 포스트는 Jetpack Compose and internals course 에서 "State" 주제를 가져와서 짧게 소개하는 포스트 입니다. 링크에서 전체 개요에 대해 알아보세요 In View world (뷰 시스템) Compose 전에는 대부분 ViewModel, Presenter, Controller 등을 Activity, Fragment 와 같은 최상단 루트에서..
https://newsletter.jorgecastillo.dev/p/modifiers-order-of-precedence 번역한 글이에요 Modifiers: order of precedence A basic visual example on how modifier order affects the final result in Jetpack Compose newsletter.jorgecastillo.dev Modifiers: order of precedence (Modifier 의 우선순위) 원형 모양의 이미지가 있다고 가정해볼게요. 원형 효과를 만들기 위해서는 clip(자르기) 해야해요. modifier 의 clip 속성을 이용할 수 있어요. 그림자와 함께 사용하고 싶은 경우에는 modifier 에서 제공..
https://newsletter.jorgecastillo.dev/p/the-color-of-composable-functions 의 번역 버전입니다. The color of Composable functions 🖍️ A separate category of functions newsletter.jorgecastillo.dev Composable 함수들은 표준 함수와 다른 제한 사항과 기능들을 가지고 있습니다. Composable 함수들을 다른 형식으로 매우 구체적인 관심사를 모델링 합니다. 이러한 차이들은 "함수의 색상(특성 정도로 생각하면 됩니다)"의 형태로 이해할 수 있습니다 여러분야의 함수 형태 중에 한 부분을 차지하고 있습니다. Function coloring (함수의 색) "Function c..
해당 포스트는 https://newsletter.jorgecastillo.dev/p/using-jetpack-compose-with-mvvm 를 번역하였습니다. Using Jetpack Compose with MVVM How to integrate Compose efficiently with an MVVM architecture newsletter.jorgecastillo.dev 몇 주 전에 사람들이 어떤 아키텍쳐 패턴에 익숙한지 알기 위해서 트위터에서 설문조사를 진행했습니다. 그러한 이유로 Compose + MVVM 으로 간단한 포스트를 작성하기로 했습니다. First, the solution (첫번째 솔루션) 아래 코드는 NowInAndroid 에 존재하는 코드의 일부분 입니다. 실제 코드를 보고 싶..
해당 블로그의 글은 https://developer.android.com/topic/architecture/ui-layer 에 대한 정리하는 글 입니다. 우리는 UI Layer 와 관련된 많은 Entity 들을 살펴보고, 각각의 부분에 대해 이해하고, 모범 사례에 대해 이야기해볼 예정이에요. 해당 시리즈의 마지막에서는 우리는 UI layer 에서 발생하는 일반적인 것들과, UI Layer 안에서 로직과 상태를 처리할 때 어떤식으로 처리할 수 있는지도 이해할 수 있어요. 이와 관련있는 다양한 API 들의 어떤식으로 사용하는지 설명하고 또 확실하지 않은 상태에서도 도움을 줄 수 있는 의사 결정 트리를 제공할 예정이에요. 파트 1 에서 UI 와 UI state 에 대해 다뤄봤어요. 이를 통해 UI Layer ..