Recommended
PDF
웹 프론트엔드 개발자의 얕고 넓은 Rx 이야기
PDF
PDF
Protocol Oriented Programming in Swift
PDF
[Main Session] 미래의 Java 미리보기 - 앰버와 발할라 프로젝트를 중심으로
PPTX
PPTX
PDF
GDG 2014 - RxJava를 활용한 Functional Reactive Programming
PDF
track2 04. MS는 Rx를 왜 만들었을까? feat. RxJS/ 네이버, 김훈민
PDF
PDF
[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기
PDF
PDF
PDF
PDF
PPTX
7가지 동시성 모델 - 3장. 함수형 프로그래밍
PPTX
PDF
PDF
PPTX
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
PDF
PDF
[1B4]안드로이드 동시성_프로그래밍
PDF
PDF
GKAC 2015 Apr. - Battery, 안드로이드를 위한 쉬운 웹 API 호출
PDF
PDF
EcmaScript6(2015) Overview
PDF
PDF
PDF
PPT
PDF
More Related Content
PDF
웹 프론트엔드 개발자의 얕고 넓은 Rx 이야기
PDF
PDF
Protocol Oriented Programming in Swift
PDF
[Main Session] 미래의 Java 미리보기 - 앰버와 발할라 프로젝트를 중심으로
PPTX
PPTX
PDF
GDG 2014 - RxJava를 활용한 Functional Reactive Programming
PDF
track2 04. MS는 Rx를 왜 만들었을까? feat. RxJS/ 네이버, 김훈민
What's hot
PDF
PDF
[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기
PDF
PDF
PDF
PDF
PPTX
7가지 동시성 모델 - 3장. 함수형 프로그래밍
PPTX
PDF
PDF
PPTX
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
PDF
PDF
[1B4]안드로이드 동시성_프로그래밍
PDF
PDF
GKAC 2015 Apr. - Battery, 안드로이드를 위한 쉬운 웹 API 호출
PDF
PDF
EcmaScript6(2015) Overview
PDF
PDF
PDF
Viewers also liked
PPT
PDF
PPTX
[160402_데브루키_박민근] UniRx 소개
PDF
홍성우, 내가 만든 언어로 게임 만들기, NDC2017
PDF
조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012
PDF
PDF
PPT
PPTX
검색엔진이 데이터를 다루는 법 김종민
PPTX
PDF
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
PPTX
대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴
PPTX
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
PDF
Similar to [Td 2015]너에게만 나는 반응해 반응형 응용프로그램(이규원)
PDF
PDF
PPTX
Model View ViewModel이란 무엇이고 UE에서는 어떻게 적용하는가?
PPTX
PPTX
PPTX
PPTX
Developing iOS with Rx, MVVM
PDF
PPTX
Ahea Study reactive programming
PDF
PDF
[TECHCON 2019: MOBILE - Android]2.예제에서는 알려주지 않는 Model 이야기
PPTX
PDF
Reactive programming vs reactive systems
PPTX
PDF
PDF
Reactive Programming with Rxjs
PDF
Clojurescript로 하는 함수형 UI 프로그래밍
PDF
GKAC 2014 Nov. - RxJava를 활용한 Functional Reactive Programming
PDF
Rx for iOS App. RxMVVM-DataCenter!
PPTX
More from Sang Don Kim
PDF
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)
PDF
[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)
PDF
[TD 2015] Microsoft Azure IaaS v2(최정현)
PDF
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)
PDF
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
PDF
[Td 2015]맨땅에 헤딩하고 터득한 스토어 공략법(돈벌기)(육주용)
PDF
[Td 2015]치즈케이크 팩토리는 알겠는데, 데이터 팩토리는 뭔가요(한기환)
PDF
[Td 2015]녹슨 c++ 코드에 모던 c++로 기름칠하기(옥찬호)
PDF
[Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)
PDF
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
PDF
[Td 2015]조막만한 화면에서 대박만한 화면까지. 고생 끝 적응(adaptive ui) 시작(권영철)
PDF
[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016
PDF
[Td 2015]틱틱대도 써야 하는 windows 10 앱 개발, c# tips & tricks(송기수)
PDF
[Td 2015]프로그래밍 언어의 f1머신 c++을 타고 windows 10 uwp 앱 개발의 세계로~(유영천)
PDF
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
PDF
[Td 2015]두근두근 asp.net 5(한상훈)
PDF
[TD2015] 이 시대에 소규모 게임 개발팀이 마소와 함께 살아가는 방법(송용성)
PDF
[Td 2015]windows 10 엔터프라이즈 시나리오 part II 보안 및 관리(권순만)
PDF
[Td 2015]함께하면 더 좋은 windows 10과 인텔 스카이레이크, 아키텍쳐와 인텔 그래픽스 최적화 살펴보기(하태동)
PDF
[Td 2015]windows 10 엔터프라이즈 시나리오 part I 배포 및 이미징(박성기)
[Td 2015]너에게만 나는 반응해 반응형 응용프로그램(이규원) 1. 2. 세션 개요
효율적인 뷰 상태 동기화 구현법을 고민합니다.
Rx와 MVVM 패턴을 사용하여 관심사를 분리하는 방법을 이해합니다.
Rx(Reactive Extensions)는 반응형 프로그래밍 도구입니다.
MVVM(Model-View-ViewModel) 패턴은 수평적 분리를 도와주는 아키텍처 패턴입니다.
반응형 모델 스트림 오픈소스 프레임워크 Flip을 소개합니다.
3. 4. 5. 6. 수직적 관심사 분리(Vertical Separation of Concerns)
관심사 분리(separation of concerns)
기능(feature)을 모듈로 분리
분리된 팀에 의한 기능의 개발과 관리
테스트 용이성(testability) 및
유지보수성(maintainability) 증대
모듈2
모듈1
모듈3
모듈4
팀 1 팀 2 팀 3 팀 4
7. 그래픽 사용자 인터페이스 응용프로그램
사용자 인터페이스
논리2
논리1
논리3
논리4
뷰 2뷰 1 뷰 3 뷰 4
*수평적분리
사용자
8. 뷰 상태 동기화(View State Synchronization)
논리2
논리1
논리3
논리4
뷰 2뷰 1 뷰 3 뷰 4
10. 11. 발행-구독 패턴(Publish-Subscribe Pattern)
메시징(messaging) 패턴
전송자는 수신자에게 직접 메시지를 보내지 않는다
구독자에 대해 알지 못한 채 메시지를 전송
발행자에 대해 알지 못한 채 메시지를 수신
약한 결함(loose coupling)
테스트 용이성(testability)
규모 확장성(scalability)
12. 발생/구독 기반 상태 흐름(Pub/Sub based State Flow)
논리 1
논리 2
논리 3
뷰 1
뷰 2
뷰 3
메시지 중개자
13. 14. 15. 16. 18. 모델 개정의 반응형 스트림
(Reactive Stream of Model Revisions)
… 개정
n + 2
개정
n + 1
개정
n …
Flipbook
19. 20. Rx(Reactive Extensions)
Observables + LINQ + Schedulers
비동기 이벤트 기반 프로그래밍 도구
관측 대상(observables)으로 비동기 데이터 스트림(asynchronous data
streams)을 표현
Java, JavaScript, C#, Unity, Scala, Clojure, C++, Ruby, Python,
Groovy, JRuby, Kotlin, Swift
RxNetty, RxAndroid, RxCocoa
http://reactivex.io
21. 관측 대상(Observables)
Pull/ Synchronous/ Interactive Push/ Asynchronous/ Reactive
Single value
T
f(x);
Task<T>
f(await x);
Multiple values
IEnumerable<T>
foreach (var x in xs)
{
f(x);
}
IObservable<T>
xs.Subscribe(x =>
{
f(x);
});
22. 관측 대상과 관측자(Observables and Observers)
IObservable<T>
public interface IObservable<out T>
{
IDisposable Subscribe(
IObserver<T> observer);
}
IObserver<T>
public interface IObserver<in T>
{
void OnNext(T value);
void OnError(Exception error);
void OnCompleted();
}
23. 24. 모듈
Rx를 사용한 반응형 모델 흐름
(Reactive Model Flow with Rx)
발행(방출) 구독
논리 뷰(관측자)
명령
모델 스트림(관측 대상)
25. 26. 모델-뷰-뷰모델(Model-View-ViewModel, MVVM) 아키텍처 패턴
2005년, John Gossman(Microsoft)에 의해 소개
프리젠테이션(presentation)과 프리젠테이션 논리(presentation
logic) 분리
양방향 바인딩(two-way binding)
속성과 명령(properties and commands)
테스트 용이성(testability)
WPF, Silverlight, Xamarin Forms, AngularJS, EmberJS, KnockoutJS,
RoboBinding
27. 28. 29. 30. Flip
반응형 모델 스트림 프레임워크
상태 동기화
(문제)
단방향 흐름
(아이디어)
반응형
스트림
(해결책)
+ MVVM Flip
(프레임워크)
31. Flip
반응형 모델 스트림 프레임워크
오픈소스 프로젝트
유일한 의존성은 Rx(Rx는 거의 모든 곳에 있습니다!)
envicase iOS 응용프로그램 개발 경험 사례 반영
https://github.com/envicase/flip
32. 스트림과 연결(Streams and Connections)
스트림
연결
IObservable
IDisposable
논리 뷰 IObserver
스트림 생명주기 관리
동질성검사기
비동기스위치
상태유착기
약한구독
33. 프로젝트 로드맵
Flip(.NET/ Xamarin)
Flip.Mvvm
…
Flip.js
Flip.js.knockout
Flip.js.react
…
Flip.Android
Flip.Android.Mvp
Flip.Android.Mvvm
…
34. 35. 36. 37. 관련 컨텐트
http://reactivex.io
https://github.com/Reactive-Extensions
https://github.com/ReactiveX/RxJava
Introduction to Model/View/ViewModel pattern for building WPF apps
http://blogs.msdn.com/b/johngossman/archive/2005/10/08/478683.aspx
WPF Apps With The Model-View-ViewModel Design Pattern
https://msdn.microsoft.com/en-us/magazine/dd419663.aspx
https://github.com/envicase/flip
https://github.com/gyuwon/tdk2015
38. ASP.NET Korea User Group
한국 ASP.NET 개발자 모임입니다.
ASP.NET에 관심이 있다면 누구나
참여하실 수 있는 공개 그룹입니다.
https://www.facebook.com/groups/AspxKorea
39. 41.