본문 바로가기

안드로이드 스터디3

[Kotlin] 언제 뭘 써야 돼? 헷갈리는 스코프 함수 한 방 정리 코틀린은 기본적으로 '표준 스코프 함수 (Scope Function)' 라는 것을 제공한다. 스코프 함수는 특정 객체의 컨텍스트 내에서 특정 동작 (프로퍼티 초기화, 활용 등) 을 실행하기 위한 목적만을 가진 함수다. 스코프 함수를 람다 함수로 사용하게 되면 임시로 스코프를 형성하는데, (그래서 이름이 스코프 함수다.) 이 스코프 내에서는 객체의 이름을 통해 일일히 참조할 필요 없이 객체를 접근하고 핸들링할 수 있다는 편리하다는 장점이 있다. 코틀린이 제공하는 스코프 함수는 총 5가지로, [ apply, run, with, alse, let ] 로 이루어져있다. 그런데, 얼핏 보기에는 역할이나 수행하는 기능들이 너무 비슷해서 무슨 상황에 무엇을 써야할 지 헷갈리게 된다. 필자도 엄청 헷갈려서 매번 닿는대.. 2021. 3. 15.
[Android] 대체 사람들이 RxJava 거리는 게 뭐야? 안드로이드 앱 개발자 채용 공고를 보면, 어떤 회사이든 자격 요건에 항상 이 말이 적혀 있다. 'RxJava 사용이 가능하신 분 'Reactive X 에 익숙하신 분' 'RxJava3 등 Reactive Programming 경험이 있으신 분' 뭐가 뭔지 모르겠지만 아무튼 중요하니까 우대 사항, 자격 요건에 Rx 사용 경험을 요구하는 것 같다. 그런데 실제로 Reactive Programming 을 한 번 경험하게 되면 기법 자체가 환상적이며 다시 명령형 프로그래밍 기법으로 돌아갈 수 없다는 말들을 하곤 한다. 그만큼 강력하단 뜻이다. 아무튼 Reactive Programming 을 쉽게 구현할 수 있도록 도와주는 라이브러리가 Reactive X 이니까, Reactive Programming 이 무엇인지.. 2020. 11. 23.
[Android] 깔쌈하게 MVVM 패턴과 AAC 알아보기 Android 앱 개발을 하다보면, Activity 클래스에 모든 앱 동작 코드를 다 집어넣는 경우가 많았다. 물론 동작에 있어 큰 문제는 없지만 체계적인 구조가 전혀 없어 추후에 유지 보수가 어렵다. 실제로 몇몇 프로젝트를 진행함에 있어 이러한 방식으로 앱을 개발하다 보면, 기능을 바꾸거나 추가할 때 어떤 부분을 수정해야 할지 머리가 아득해졌던 경험이 있다. 문득 여태 짠 지저분한 코드들을 보면서 이러한 생각이 자연스레 들었다. '아무래도 MVVM 디자인 패턴 공부를 해야겠다' 그래도 새로이 등장한 MVVM 패턴에 따른 앱 개발이 대세가 대세인만큼 구글에서도 이를 도와주는 듯 Android Jetpack 의 구성 요소로서 AAC (Android Architecture Component) 라는 것을 제공.. 2020. 11. 17.