| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 추상 팩토리
- define
- 싱글톤
- builderPattern
- 안드로이드 디자인시스템
- 팩토리 메소드
- Coroutines
- Kotlin
- Functional Programming
- compose
- ㅓ
- 프로토타입 패턴
- 빌터패턴
- 옵저버 패턴
- ㅋㅁ
- PrototypePattern
- Observer Pattern
- android designsystem
- 코루틴
- material3
- 디자인패턴 #
- Singleton
- 함수형프로그래밍
- Design Pattern
- designPattern
- Abstract Factory
- factory method
- 코틀린
- 디자인패턴
- 추상팩토리패턴
- Today
- Total
목록분류 전체보기 (340)
오늘도 더 나은 코드를 작성하였습니까?
7 Android Lifecycle Interview Questions That Some Got Wrong 올바른 수명 주기 이해는 Android 개발에서 가장 중요합니다. To master Android 개발은 수명 주기를 완전히 마스터하는 것이 가장 중요합니다. 불행히도, 일부 새로운 Android 개발자들이 실수로 생명주기를 완전히 파악하는 것을 놓쳤을 수도 있다는 사실을 알게 되었습니다. 추후에 디버그하기 어려운 이상한 버그 및 문제로 이어질 수 있습니다. 인터뷰를 통과하기 위해서가 아니라 Android 개발에 대해 더 확실히 이해하고 쉽게 놓칠 수 있는 함정을 방지하기 위해 이것을 공유합니다. 1. Launch Fragment by Default 아래 코드는 무엇이 문제일까요? class Mai..
Android 앱에서 Kotlin flow는 일반적으로 UI 계층에서 collect되어 화면에 데이터 업데이트를 표시합니다 하지만 flow을 collect하여 필요한 것보다 더 많은 작업을 수행하고, View가 Background로 이동할 때 리소스(CPU 및 메모리 모두)를 낭비하거나 데이터가 누출되지 않도록 해야됩니다. Lifecycle.repeatOnLifecycle 및 Flow.flowWithLifecycle API가 리소스 낭비로부터 사용자를 보호하는 방법과 UI 계층에서 flow 수집에 사용하기에 좋은 기본값인 이유를 배우게 됩니다. Wasting resources Flow Producer 구현 세부 사항에 관계없이 앱 계층의 하위 계층에서 Flow API를 노출하는 것이 좋습니다. 그리고 안..
val currentWeatherFlow: LiveData = dataSource.fetchWeatherFlow().asLiveData() ViewModel patterns LiveData와 Flow 사용을 비교하면서 ViewModel에서 사용할 수 있는 몇 가지 패턴을 살펴보겠습니다. LiveData: Emit N values as LiveData val currentWeather: LiveData = dataSource.fetchWeather() 변환을 수행하지 않으면 간단히 하나를 다른 하나에 할당할 수 있습니다. Flow: Emit N values as LiveData liveData 코루틴 빌더의 조합을 사용하고 Flow에서 collect할 수 있습니다(이는 각각의 방출된 값을 수신하는 터미널 ..
아키텍처 구성 요소로 코루틴 시작 Jetpack의 아키텍처 구성 요소는 많은 shortcut를 제공하므로 작업 및 취소에 대해 걱정할 필요가 없습니다. opeations 범위를 선택하기만 하면 됩니다. ViewModel scope 대부분의 데이터 opeations이 ViewModel에서 시작되기 때문에 코루틴을 시작하는 가장 일반적인 방법 중 하나입니다. viewModelScope extention을 사용하면, ViewModel이 지워지면 작업이 자동으로 취소됩니다. viewModelScope.launch를 사용하여 코루틴을 시작합니다. class MainActivityViewModel : ViewModel { init { viewModelScope.launch { // Do things! } } } A..
