무작정 딥다이브하는 경우가 있진 않겠지만 굳이 모든 걸 딥다이브해가면서 공부할 필요가 있을까? 그건 아니다. 개발자로써 끄적끄적. 난 누구인가?그냥 끄적거려 보는 글이다. 10년 차 안드로이드 개발자이다. 다양한 회사에서 하고 싶은 거 다 해 보면서 충분히 좋은 경험을 해보았다고 생각한다. 그에 비해 좋은 코드를 만들었다고 생각하지thdev.net 그럼 무엇을 공부해야할까? 일단 시작이 중요하다. 뭔가 만들고 따라 해보고 나서 필요하면 딥다이브하는 것도 매우 좋다. 무작정 안쪽 코드 파악해서 얻어봐야 그걸 안 보고도 말할 수 있는 사람도 있다. 그럼 뭐가 중요한 것일까?안드로이드 개발자 로드맵이라는 GDE skydoves의 번역글을 참고해도 좋다. 안드로이드 개발자 로드맵 Part 4: Design Pa..
자세한 내용은 아래 링크로 Android view에서 ViewModel을 호출했는데, UnitTest는 어떻게 할까? | I’m an Android Developer. thdev.tech Android ViewModel에서 Flow를 이용한 View Controller 방법을 살펴보았습니다. Android view에서 ViewModel을 어떻게 호출해 사용해 볼 수 있을까? 이전 글에서도 작성했지만 그 코드 상태로는 테스트 코드 활용이 불가능합니다. 이번 글에서는 테스트 가능한 형태를 만들기 위한 작업을 해보겠습니다. 이 글에서 알아볼 내용 UnitTest 가능한 형태로 함수 분리 UnitTest를 위한 dependency 추가 UnitTest 작업 자세한 내용은 아래 링크로 Android view에서 ..
자세한 내용은 링크로 Android view에서 ViewModel을 어떻게 호출해 사용해 볼 수 있을까? | I’m an Android Developer. thdev.tech 위 영상에서 언급한 내용을 포함하고 있으나, 일부 이해하지 못할 수 있으니 그냥 간단하게 이러한 방법으로도 접근이 가능하구나 정도로만 이해하시면 좋겠습니다. 이 글에서는 View에서 ViewModel을 어떻게 호출하고 접근하는 게 좋은지를 다루기 위한 글입니다. RxJava 또는 Flow를 활용해 Click event 처리를 stream으로 받아 처리하도록 만들어 줄 수 있습니다. 대표적인 예는 JakeWharton/RxBinding의 예가 됩니다. RxBinding처럼 Rx 스트림을 활용하는 방법을 사용하여 작성하는 코드의 샘플입..
Android 개발 시 자주 활용하는 LiveData. LiveData의 데이터 처리를 알아보는 글이다. 이 글에서 도움 될 문서는 아래와 같다. Google LiveData 문서 Fragment Lifecycle과 LiveData - pluu 이 글에서 알아볼 내용 LiveData 사용법을 알아본다. MutableLiveData와 LiveData의 구분? LiveData는 항상 UI로 처리하는 코드를 살펴본다. 중복 데이터의 위험성을 알아본다. 이어보기 Android LiveData의 사용법과 내부 코드를 통한 UI 처리, 중복 처리 등 살펴보기 | I’m an Android Developer. thdev.tech
Callback 이벤트로 받은 데이터를 Coroutines의 Flow를 활용한 방법에 대해서 소개했었다. 최근 Medium에서 Channel을 사용한 방법을 소개한 글이 있어 Channel을 사용하는 방법을 정리해보려고 한다. 여기에서 사용한 샘플은 단순한 테스트를 한 것이고, 네트워크가 포함되어 있지 않다. 다만 단순한 테스트로도 발생하는 문제가 있어 정리해두려고 한다. 참고한 글은 Kotlin Channel and WebSocket Complete Example (Also Why Not Flow)이다. 이 글에 도움 될 문서는 아래와 같다. Channels Callback으로 받은 데이터를 Coroutines에서 활용하는 방법! Flow 활용 이 글에서 알아볼 내용 Flow와 Channel의 간단한 ..
runBlocking과 GlobalScope에 대해서 알아보았다. Kotlin Coroutines의 runBlocking은 언제 써야 할까? 잘 알고 활용하자! Kotlin Coroutines의 GlobalScope을 어떻게 사용할 수 있을까? - 사실 추천하지 않는다. 이 두 가지의 코루틴은 이유 없이 사용해서는 안 되는 것들이다. 그럼 사용할 수 있는 건 가장 기본적인 CoroutineScope이 남는다. 필자가 한참 코루틴을 학습할 때 적었던 내용에 CoroutineScope의 활용 방법은 이미 다양하게 나온다. Android에서 사용하는 CoroutineScope을 알아보자 이 글에서는 CoroutineScope의 사용 방법을 좀 더 알아보고(MainScope, CoroutineScope), 무한..
코루틴의 runBlocking에 대해서 이야기했다. Kotlin Coroutines의 runBlocking은 언제 써야 할까? 잘 알고 활용하자! 결국 잘 알고 사용하는 건 문제가 없다. 역시나 잘 못 알고 사용하는 경우라면 사실 사용치 않는 게 맞는다고 생각한다. 이번 글은 코루틴 관련 2 번째 글로 GlobalScope에 대해서 알아보려고 한다. 이 역시 Android 개발에서는 lifecycle과 관련이 깊다. 일반적인 서버나 웹에서도 역시 GlobalScope을 무작정 사용하는 건 맞지 않을 것이다. CoroutineScope은 각각의 라이프 사이클을 별도로 가지고 종료를 할 수 있는 반면 GlobalScope은 싱글톤으로 만들어져있어, 잘못 활용한다면 프로그램 전체에 악영향을 미칠 수 있다. 싱..