Reactive Programing(4) – Scheduler

Reactive Programing(1) – 리액티브 프로그래밍 개념잡기 Reactive Programing(2) – Reactive Operator Reactive Programing(3) – Reactive Operator Reactive Programing(4) – Scheduler Reactive Programing(5) – 안드로이드에서의 RxJava 활용 Scheduler 스케줄러 개념 익히기 지금까지의 예제들은 대부분 MainThread에서 동작 했습니다. 이를 비동기로 동작하게 하기 위해 다른 쓰레드를 생성하거나 이용하는것이 바로 스케쥴러입니다. 예제를 살펴보도록 하겠습니다. 더보기…

Reactive Programing(3) – Reactive Operator

Reactive Programing(1) – 리액티브 프로그래밍 개념잡기 Reactive Programing(2) – Reactive Operator Reactive Programing(3) – Reactive Operator Reactive Programing(4) – Scheduler Reactive Programing(5) – 안드로이드에서의 RxJava 활용 Reactive Operators(리액티브 연산자) 지난 포스팅에서 생성연산자와, 변환연산자에 대해서 알아보았습니다. 이번 포스팅에서는 결합연산자, 조건연산자에 대해서 알아보겠습니다.   결합연산자 1. zip() 함수 2개 이상의 Observable을 결합하여 더보기…

Reactive Programing(2) – Reactive Operator

Reactive Programing(1) – 리액티브 프로그래밍 개념잡기 Reactive Programing(2) – Reactive Operator Reactive Programing(3) – Reactive Operator Reactive Programing(4) – Scheduler Reactive Programing(5) – 안드로이드에서의 RxJava 활용 Reactive Operators(리액티브 연산자) 리액티브 연산자의 소개 링크 : http://reactivex.io/documentation/operators 리액티브 연산자는 자바의 관점에서 보면 메소드이지만, 함수형 프로그래밍의 원리에 따르면 리액티브 연산자는 Side Effect가 없는 순수 더보기…

Reactive Programing(1) – 리액티브 프로그래밍 개념잡기

Reactive Programinng(Rx Java) Reactive Programing(1) – 리액티브 프로그래밍 개념잡기 Reactive Programing(2) – Reactive Operator Reactive Programing(3) – Reactive Operator Reactive Programing(4) – Scheduler Reactive Programing(5) – 안드로이드에서의 RxJava 활용 리액티브 프로그래밍이란? -> 데이터의 흐름과 전달에 관한 프로그래밍 패러다임   명령형 프로그래밍 vs 리액티브 프로그래밍 명령형 프로그래밍 – 작성된 코드가 정해진 더보기…

AAC – LiveData (의역)

LiveData LiveData는 생명주기를 알 수 있는 데이터 홀더 클래스입니다. 무슨 뜻이냐면 옵저버가 LifecycleOwner에 추가 될 수 있고, LifecycleOwner가 활성화 되어있을때 래핑된 데이터들의 수정사항에 대한 알림을 받을 수 있음을 뜻합니다. 상태가 STARTED 또는 RESUMED이면 LifecycleOwner는 활성상태 입니다. observeForever에 의해 추가된 observer는 항상 활성화 된 것으로 간주되므로 수정된 내용에 대해 항상 알림을 받을 더보기…

글쓴이 Charlezz,

AAC – ViewModel (의역)

Android Arcitecture Component – ViewModel    ViewModel 클래스는 UI  관련된 데이터를 생명주기를 고려한 방식으로 저장하고 관리하도록 설계 되어있습니다. ViewModel 클래스를 사용하면 화면 회전과 같은 구성 변경 사항에도 데이터가 그대로 유지 된다. Note : ViewModel을 안드로이드 프로젝트로 가져오려면 프로젝트에 AAC 라이브러리를 추가해야합니다. 안드로이드 프레임워크는 액티비티와 프레그먼트 같은 UI 컨트롤러의 생명주기를 관리합니다. 프레임워크는 더보기…

글쓴이 Charlezz,

안드로이드 단위 테스트 (1)

소프트웨어 개발에서 테스트는 종종 저평가 되거나 무시되버리곤 한다. 모바일앱에서 테스트 코드를 하나도 작성하지 않고 앱을 출시하는 경우도 허다 합니다.   대부분 개발자가 유닛테스트를 적용하지 않는 이유는? 모바일 앱은 프론트앤드니까 대부분은 백엔드에서 테스트해야 되지! 모바일은 유닛테스트부분에서는 좀 달라, 왜냐면 대부분의 로직이 UI랑 연결되어있거든! 기껏해봐야 넌 UI 테스트만 신경쓰겠지. 백엔드랑 비교하면 모바일앱은 더보기…

글쓴이 Charlezz,

테스트 더블

테스트 더블(test double) 테스트 작성시, 테스트 대상 코드와 상호작용하는 객체   테스트 더블의 역할 테스트 대상 코드를 격리한다. 테스트 속도를 개선한다. 예측불가능한 실행 요소를 제거한다. 특수한 상황을 시뮬레이션한다. 감춰진 정보를 얻어낸다.     테스트 더블의 종류 1. Dummy 가장 기본적인 테스트 더블 유형. 구현이 포함되어 있지 않고, 주로 매개 변수 값으로만 더보기…

글쓴이 Charlezz,

[패스트캠퍼스] iOS 세미나

섹션 1. RxSwift, 오진성 – 카카오 데이터의 흐름에 따라 코딩을하며, 코드의 길이와 로직이 명령형 프로그래밍에 상대적으로 간결해집니다. 반응형 프로그래밍을 해야하는 이유. 예를 들어 서버로부터 두가지 이상의 API를 호출하여 결과를 받아서 처리를 해야한다면 어떻게 할까요? 보통 생각하는 방법 : 1번 API호출 -> 1번 응답 성공 -> 2번 API 호출 -> 2번 더보기…

글쓴이 Charlezz,

(AnimatedVectorDrawable) Turn Record Button into StopButton

AnimatedVectorDrawable? AnimatedVectorDrawable 클래스는 VectorDrawable, ObjectAnimator 또는 AnimatorSet과 함께 동작하는 애니메이션 효과 주는 클래스입니다 API25레벨 이전에는  UI 쓰레드에서 동작했던것과는 달리, API 25레벨부터는 RenderThread에서 동작합니다. 그래서 UI 쓰레드에 작업량이 많아도 동작이 매우 부드럽습니다. UI쓰레드가 응답하지 않아도 UI쓰레드가 다음 프레임을 처리할수 있을 때까지 계속 애니메이션을 적용 할 수 있습니다. 따라서 RenderThread 가 활성된 더보기…

글쓴이 Charlezz,