Android: MVVM & Android Architecture Components

viewmodel이나 livedata를 말하기전에 이게 어디서 튀어나온건지 알기위해 app architecture에 대해 알아야한다. 더불어 Android에서 지원하는 Architecture Components도 간단하게 알아보자. 이 부분에 있어 잘 설명된 문서가 있으니 이것을 참조해도 좋다. MVC 패턴 대부분 프로그램이 개발과정과 유지보수를 용이하게 하기위해 구조적 디자인패턴들을 이용한다. 여기서 가장 기본개념은 UI, DATA 그리고 비지니스 로직을 분리하는 것이다. 오랫동안 더 읽기

Android: Data binding basics

Data Binding은 2018년도 Jetpack 라이브러리의 일부로 소개되었다. 일단, 그 이전에 UI를 다루는 방식을 알아보자. 이전에는 코드내에서(보통 onCreate()나 onCreateView()) LayoutInflater를 이용하여 XML을 파싱 후 View 오브젝트로 변환하는 작업을 해야했다. UI를 구성하는 변환된 View 오브젝트는 트리형태로 되어있으며, 원하는 View를 얻어오려면 findViewById()등을 이용해 이 트리구조를 검색해야 가능했다. XML파싱도 검색도 모두 부하가 상당한 작업들이었다. 더 읽기

Kotlin: Delegated Properties

Kotlin 공식 문서를 보고 정리했다. 공식 문서 참조. property들의 값을 get(), set()으로 구현해야 하는 경우, 같은 형태의 property가 필요하면, 각 property마다 get(), set()을 구현해야 한다. 이런 경우, 한번만 구현해서 중복을 제거하면 좋을 것이다. 이는 delegate를 통해 가능해진다. 예를 들면 다음과 같은 케이스들이 존재한다. 이런 경우들을 위해, Kotlin에서는 delegated properties를 지원한다.사용법은 더 읽기

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 https://www.youtube.com/watch?v=TJAmOGymyHU&list=PLLnvxH5YKLoLD_Y-DdmOwLofXSEzhCF7s 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 더 읽기

Python: Generator

오래전에 C# Coroutine을 살펴본적이 있다. Coroutine을 실행하면, yield를 만날 때까지 실행되다가 yield를 만나면 리턴된다. 특이한 점은 다음 실행시, yield 부분부터 실행된다는 점이다. Unity는 초당 수십번 루프를 돌며 프레임 렌더링등을 처리하기 때문에, 단일 쓰레드에서 Coroutine을 마치 새로운 쓰레드를 생성한 것처럼 사용할 수 있었다. 이처럼 C#의 Coroutine과 유사하게 Python 에서도 yield를 사용할 더 읽기