일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- cleanarchitecture
- Jetpack
- 코딩테스트
- 리사이클러뷰
- Authentication
- 알고리즘
- 플레이스토어
- 커스텀뷰
- NavHost
- 코틀린
- 안드로이드
- MVVM
- sharedFlow
- Build variants
- Flow
- NavController
- 파이어베이스
- 클린아키텍처
- Android
- coroutine
- Compose
- 로그인
- ListAdapter
- 회원가입
- DiffUtil
- 컴포즈
- UiState
- XML
- Kotlin
- 뷰
- Today
- Total
목록코루틴 (2)
Grusie 안드로이드 개발 기술 블로그
회사 프로젝트를 개편하려던 중 화면을 불러오는 것이 너무나도 느리기에, 코드를 들여다 보니, 전부 다 동기처리로 되어있었다. 그냥 콜백을 보내고, 다음 함수를 호출하고의 문제가 아니라, 아예 콜백을 보내고? 콜백을 받아와서, 성공했을 때 그 다음 콜백을 요청하는 형태로 구현이 되어있어서.. 경악을 금치 못했다.또한 OkHttp로 구현이 되어있었기에 Retrofit으로 변경하며, 클린아키텍처로 변경하면서 비동기, 병렬 처리에 대해 고민을 하였다. 예전에 suspend 함수의 통신 결과를 받아오기 위해 await()함수를 사용하였던 적이 있다.그 땐 await()가 값을 가져오기 위해 쓰는 것이기에 동기라고만 생각 하고 넘어 갔었다. 여러 개의 서버통신을 비동기로 변경하면서 생긴 고민"비동기로 처리하면, 서..
JetPack의 Compose를 활용하여 UI 개발을 하던 중 사용하는 사이드 이펙트들이 궁금해서 공부 해보려고 한다. 사이드 이펙트란? - 사이드 이펙드는 UI에서 발생하는 Effect들을 효율적으로 관리 할 수 있는 함수이다. - JetPack Compose에서 사이드 이펙트의 목적은 제어되고 예측 가능한 방식으로 컴포저블 함수 밖에서 앱의 상태를 변경하는 non-UI 관련 작업을 실행 할 수 있도록 하는 것이다. - 데이터를 업데이트 하거나, 네트워크 요청을 하는 등의 효과들은 UI 랜더링과 별도로 유지하여 코드의 성능과 유지보수성을 향상시켜야 한다. JetPack Compose는 UI 랜더링 로직에서 사이드이펙트를 분리하고 별도의 코루틴 스코프에서 실행함으로써 개발자가 효과적으로 부수효과를 관리 ..