Jetpack Compose와 상태관리
개요우아한테크코스에서 각 크루 멤버는 교육 기간 동안 한 번 발표해야 합니다. 주제는 자유롭고, 배운 것이나 경험한 것을 공유해야 합니다. 저는 평소에 관심있게 공부했던 Jetpack Compose를 주제로 선택했습니다. 발표 자료를 공유합니다.
- Deep Dive/Android Jetpack Compose
- · 2024. 11. 2.
개요우아한테크코스에서 각 크루 멤버는 교육 기간 동안 한 번 발표해야 합니다. 주제는 자유롭고, 배운 것이나 경험한 것을 공유해야 합니다. 저는 평소에 관심있게 공부했던 Jetpack Compose를 주제로 선택했습니다. 발표 자료를 공유합니다.
💡우아한테크코스 과정에시 진행한 LiveData를 포함한 테스트에 대하여 기록하였습니다. LiveData Testing안드로이드의 LiveData는 Android에서 UI와 데이터 상태를 관찰할 수 있도록 설계된 구조입니다.LiveData는 Lifecycle에 의존하기 때문에 직접 테스트하기에는 복잡할 수 있으며, 이를 해결하기 위해서 라이프사이클을 수동으로 조작하거나 JUnit과 함께 테스트 도구를 활용해야 합니다. JUnit4 +InstantTaskExecutorRuleLiveData는 기본적으로 백그라운드 스레드에서 동작합니다.InstantTaskExecutorRule를 활용하면 이를 테스트 환경에서 제어 가능하게 하며, 스레드 문제를 회피할 수 있습니다.InstantTaskExecutorRule..
💡우아한테크코스 활동 중에 경험한 코루틴 테스트에 대하여 기록하였습니다. RunTest?runTest는 테스트 코드를 단일 스레드에서 실행할 수 있게 해주는 함수입니다.Kotlin Coroutines Test 라이브러리에서 제공하며, 비동기 테스트 환경에서 시간을 정확하게 제어하고 예외나 지연 작업을 효과적으로 처리할 수 있습니다.runBlockingTestCoroutine 1.6 이전 버전에서 코루틴을 테스트하기 위해 사용되었지만, 1.6 이후 부터는 runBlockingTest가 Deprecated 되었기 때문에 runTest를 활용합니다.runTest를 활용할 경우 더 나은 시간 제어 및 안전성을 제공하며, 타임아웃과 시간 관련 작업의 동작을 제어할 수 있습니다.특징runTest는 기본적으로 60..
💡Coroutine 사용 중에 발생한 에러를 CoroutineExceptionHandler를 활용하여 핸들링 하는 방법에 대하여 기록하였습니다. 개요코루틴 내부에서 예외가 발생했을 때 try - catch 블럭이나 runcatching을 활용하여 예외를 감싸 처리하는 방법이 있습니다. 다른 방법으로는 CoroutineExceptionHandler를 활용하는 방안이 있는데, 코루틴에서 발생한 예외를 처리하고 앱의 비정상 종료를 방지할 수 있습니다.CoroutineExceptionHandlerCoroutineExceptionHandler는 Kotlin의 코루틴에서 발생한 예외를 처리하기 위한 방법으로 주로 비동기 작업에 활용됩니다.전역적으로 예외 처리를 할 수 있는 방법을 제공하며, 취소되지 않은 코루틴에..
💡CoroutineDispatcher에서 IO와 Default의 차이에 대해서 학습하였습니다. CoroutineDispatcher코루틴 디스패처는 코루틴을 스레드로 보내는 역할을 합니다.모든 작업은 스레드 위에서 실행되어야 하고, 코루틴 또안 작업이므로 스레드 위에서만 실행할 수 있습니다.Coroutine은 스레드풀을 만들고 Dispatcher는 Coroutine을 적절한 Thread에 보내 작업을 수행할 수 있도록 배분합니다.CoroutineDispatcher CoroutineDispatcherCoroutineDispatcher Base class to be extended by all coroutine dispatcher implementations. If kotlinx-coroutines is u..
💡 우아한테크코스 과정에서 진행한 mocking을 활용한 Presenter 테스트를 기록하였습니다. 개요MVC to MVP 과정을 통해서 MVP 패턴을 구현하였습니다.구현 후 테스트 코드를 리팩터링 하는 과정에서 Presenter 테스트에 대하여 학습하였고, 그 과정을 기록하였습니다 !이전 기수의 수달님의 영상을 많이 참고하였습니다.[10분 테코톡] 수달의 mock을 사용해 android presenter test하기 MockMock은 Test Double의 종류 중 하나로 호출에 대한 기대를 명세하고 내용에 따라 동작하도록 프로그래밍 된 객체입니다.안드로이드에서는 Mockito 프레임워크를 사용해 Mock 객체를 사용할 수 있으며, 이를 통해 테스트 상에서 어떤 결과를 반환할지 결정이 가능해집니다.T..