ViewModel은 Android Architecture Component중 하나로 android jetpack라이브러리 형태로 지원한다. 앞서 얘기했듯이, MVVM 모델의 ViewModel을 구현하는데 사용된다. Activity, Fragment들이 UI Controller로서 XML과 함께 화면 rotation의 경우처럼 UI가 destroy-create되는 상황에서도, ViewModel은 data를 들고 완전히 finished 되기 전까지 유지하게 된다. ViewModel은 어쨌든 UI Activity나 Fragment에 대응하고 UI가 완전히 finished되면, 같이 destory되기 때문에 lifecycle의존도가 있고, lifecycle패키지 아래에 존재한다. 사용하려면,…
[월:] 2020년 10월
Android: MVVM & Android Architecture Components
viewmodel이나 livedata를 말하기전에 이게 어디서 튀어나온건지 알기위해 app architecture에 대해 알아야한다. 더불어 Android에서 지원하는 Architecture Components도 간단하게 알아보자. 이 부분에 있어 잘 설명된 문서가 있으니 이것을 참조해도 좋다. MVC 패턴 대부분 프로그램이 개발과정과 유지보수를 용이하게 하기위해 구조적 디자인패턴들을 이용한다. 여기서 가장 기본개념은 UI, DATA 그리고 비지니스 로직을 분리하는 것이다. 오랫동안 사랑받아온 디자인 패턴으로 MVC(model-view-controller)가 있다….
Android: Data binding basics
Data Binding은 2018년도 Jetpack 라이브러리의 일부로 소개되었다. 일단, 그 이전에 UI를 다루는 방식을 알아보자. 이전에는 코드내에서(보통 onCreate()나 onCreateView()) LayoutInflater를 이용하여 XML을 파싱 후 View 오브젝트로 변환하는 작업을 해야했다. UI를 구성하는 변환된 View 오브젝트는 트리형태로 되어있으며, 원하는 View를 얻어오려면 findViewById()등을 이용해 이 트리구조를 검색해야 가능했다. XML파싱도 검색도 모두 부하가 상당한 작업들이었다. 이를 개선하고자, Data Binding 라이브러리가…
Kotlin: Delegated Properties
Kotlin 공식 문서를 보고 정리했다. 공식 문서 참조. property들의 값을 get(), set()으로 구현해야 하는 경우, 같은 형태의 property가 필요하면, 각 property마다 get(), set()을 구현해야 한다. 이런 경우, 한번만 구현해서 중복을 제거하면 좋을 것이다. 이는 delegate를 통해 가능해진다. 예를 들면 다음과 같은 케이스들이 존재한다. lazy properties : 값을 처음 가져올 때, 생성 및 계산이 이루어짐. observable…
Blender: Youtube tutorial channels
내가 구독하고 즐겨보는 블렌더 유튜브 채널들 정리. BlenderBinge https://www.youtube.com/c/blenderBinge/ Basic tutorial, VFX Josh Gambrell : Blender Bros https://www.youtube.com/c/JoshGambrell/ Hard Surface Modeling Blender.Today LIVE https://www.youtube.com/c/BlenderCommunity/ Blender news, new features Hyden https://www.youtube.com/c/Hyden/ Lowpoly, For 3 years there’s no new update but very good contents exist. IanHubert https://www.youtube.com/c/mrdodobird/ VFX, Lazy totorials CG Geek https://www.youtube.com/c/CGGeek/ Basic tutorials, VFX, Nature,…