SlideShare a Scribd company logo
1 of 41
Download to read offline
Rx(Reactive Extensions) 기반
반응형 응용프로그램 아키텍처
이규원(Yi Gyuwon)
Microsoft MVP
Chief Technology Officer
envicase
gyuwon@live.com
www.facebook.com/gyuwon.yi
세션 개요
효율적인 뷰 상태 동기화 구현법을 고민합니다.
Rx와 MVVM 패턴을 사용하여 관심사를 분리하는 방법을 이해합니다.
 Rx(Reactive Extensions)는 반응형 프로그래밍 도구입니다.
 MVVM(Model-View-ViewModel) 패턴은 수평적 분리를 도와주는 아키텍처 패턴입니다.
반응형 모델 스트림 오픈소스 프레임워크 Flip을 소개합니다.
상태 동기화
State Synchronization
상태 동기화
(문제)
마스터-상세 인터페이스(Master-Detail Interface)
탭 응용프로그램(Tabbed Application)
수직적 관심사 분리(Vertical Separation of Concerns)
 관심사 분리(separation of concerns)
 기능(feature)을 모듈로 분리
 분리된 팀에 의한 기능의 개발과 관리
 테스트 용이성(testability) 및
유지보수성(maintainability) 증대
모듈2
모듈1
모듈3
모듈4
팀 1 팀 2 팀 3 팀 4
그래픽 사용자 인터페이스 응용프로그램
사용자 인터페이스
논리2
논리1
논리3
논리4
뷰 2뷰 1 뷰 3 뷰 4
*수평적분리
사용자
뷰 상태 동기화(View State Synchronization)
논리2
논리1
논리3
논리4
뷰 2뷰 1 뷰 3 뷰 4
단방향 데이터 흐름
One-way Data Flow
상태 동기화
(문제)
단방향 흐름
(아이디어)
발행-구독 패턴(Publish-Subscribe Pattern)
 메시징(messaging) 패턴
 전송자는 수신자에게 직접 메시지를 보내지 않는다
 구독자에 대해 알지 못한 채 메시지를 전송
 발행자에 대해 알지 못한 채 메시지를 수신
 약한 결함(loose coupling)
 테스트 용이성(testability)
 규모 확장성(scalability)
발생/구독 기반 상태 흐름(Pub/Sub based State Flow)
논리 1
논리 2
논리 3
뷰 1
뷰 2
뷰 3
메시지 중개자
테스트 용이성(Testability)
논리 1
규모확장성(Scalability)
논리 1
논리 2
논리 3
뷰 1
뷰 2
뷰 3
논리 4 뷰 4
메시지 중개자
상태 동기화 복잡도(Complexity of State Synchronization)
x1 x2 x3 x4
응용프로그램 규모
복잡도
반응형 모델 스트림
Reactive Model Stream
상태 동기화
(문제)
단방향 흐름
(아이디어)
반응형
스트림
(해결책)
모델 개정의 반응형 스트림
(Reactive Stream of Model Revisions)
… 개정
n + 2
개정
n + 1
개정
n …
Flipbook
반응형 모델 흐름(Reactive Model Flow)
논리 1
논리 2
논리 3
뷰 1
뷰 2
뷰 3
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
관측 대상(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);
});
관측 대상과 관측자(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();
}
데모
Reactive Extensions
모듈
Rx를 사용한 반응형 모델 흐름
(Reactive Model Flow with Rx)
발행(방출) 구독
논리 뷰(관측자)
명령
모델 스트림(관측 대상)
RMVVM
ReactiveModel-View-ViewModel
상태 동기화
(문제)
단방향 흐름
(아이디어)
반응형
스트림
(해결책)
+ MVVM
모델-뷰-뷰모델(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
MVVM 응용프로그램
뷰모델
프리젠테이션
논리
뷰
사용자
인터페이스
모델
비즈니스 논리
및 데이터
양방향 바인딩
테스트하기 쉬움 테스트하기 어려움
반응형모델-뷰-뷰모델(ReactiveModel-View-ViewModel)
 반응형 모델 스트림 + MVVM 패턴
 envicase
 단방향 모델 바인딩
 규모확장성(scalability)
RMVVM 응용프로그램
뷰 상태
<< 양방향 >>
뷰뷰모델
모델
<< 단방향 >>
명령
모델 스트림
방출
구독
Flip
반응형 모델 스트림 프레임워크
상태 동기화
(문제)
단방향 흐름
(아이디어)
반응형
스트림
(해결책)
+ MVVM Flip
(프레임워크)
Flip
 반응형 모델 스트림 프레임워크
 오픈소스 프로젝트
 유일한 의존성은 Rx(Rx는 거의 모든 곳에 있습니다!)
 envicase iOS 응용프로그램 개발 경험 사례 반영
 https://github.com/envicase/flip
스트림과 연결(Streams and Connections)
스트림
연결
IObservable
IDisposable
논리 뷰 IObserver
스트림 생명주기 관리
동질성검사기
비동기스위치
상태유착기
약한구독
프로젝트 로드맵
 Flip(.NET/ Xamarin)
 Flip.Mvvm
 …
 Flip.js
 Flip.js.knockout
 Flip.js.react
 …
 Flip.Android
 Flip.Android.Mvp
 Flip.Android.Mvvm
 …
데모
Flip.Mvvm
서버측 프로젝트 로드맵
App
Flip
View View
App
Flip
View View
App
Flip
View View
Flip.Scale
on CLR/ JVM/
Node.js
SignalR/ Vert.x/ Socket.io
프로젝트에 참여하세요!
관련 컨텐트
 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
ASP.NET Korea User Group
한국 ASP.NET 개발자 모임입니다.
ASP.NET에 관심이 있다면 누구나
참여하실 수 있는 공개 그룹입니다.
https://www.facebook.com/groups/AspxKorea
www.envicase.com/company/recruit
recruit@envicase.com
http://aka.ms/td2015_again
TechDays Korea 2015에서 놓치신 세션은
Microsoft 기술 동영상 커뮤니티 Channel 9에서
추후에 다시 보실 수 있습니다.

More Related Content

What's hot

스위프트 성능 이해하기
스위프트 성능 이해하기스위프트 성능 이해하기
스위프트 성능 이해하기Yongha Yoo
 
자바8 람다식 소개
자바8 람다식 소개자바8 람다식 소개
자바8 람다식 소개beom kyun choi
 
[1B4]안드로이드 동시성_프로그래밍
[1B4]안드로이드 동시성_프로그래밍[1B4]안드로이드 동시성_프로그래밍
[1B4]안드로이드 동시성_프로그래밍NAVER D2
 
자바에서 null을 안전하게 다루는 방법
자바에서 null을 안전하게 다루는 방법자바에서 null을 안전하게 다루는 방법
자바에서 null을 안전하게 다루는 방법Sungchul Park
 
자바8 스트림 API 소개
자바8 스트림 API 소개자바8 스트림 API 소개
자바8 스트림 API 소개beom kyun choi
 
7가지 동시성 모델 - 데이터 병렬성
7가지 동시성 모델 - 데이터 병렬성7가지 동시성 모델 - 데이터 병렬성
7가지 동시성 모델 - 데이터 병렬성HyeonSeok Choi
 
안드로이드 개발자를 위한 스위프트
안드로이드 개발자를 위한 스위프트안드로이드 개발자를 위한 스위프트
안드로이드 개발자를 위한 스위프트병한 유
 
모델링 연습 리뷰
모델링 연습 리뷰모델링 연습 리뷰
모델링 연습 리뷰beom kyun choi
 
120908 레거시코드활용전략 4장5장
120908 레거시코드활용전략 4장5장120908 레거시코드활용전략 4장5장
120908 레거시코드활용전략 4장5장tedypicker
 
7가지 동시성 모델 - 3장. 함수형 프로그래밍
7가지 동시성 모델 - 3장. 함수형 프로그래밍7가지 동시성 모델 - 3장. 함수형 프로그래밍
7가지 동시성 모델 - 3장. 함수형 프로그래밍Hyunsoo Jung
 
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기Jong Wook Kim
 
7가지 동시성 모델 4장
7가지 동시성 모델 4장7가지 동시성 모델 4장
7가지 동시성 모델 4장HyeonSeok Choi
 
[NDC 2018] 유체역학 엔진 개발기
[NDC 2018] 유체역학 엔진 개발기[NDC 2018] 유체역학 엔진 개발기
[NDC 2018] 유체역학 엔진 개발기Chris Ohk
 
java 8 람다식 소개와 의미 고찰
java 8 람다식 소개와 의미 고찰java 8 람다식 소개와 의미 고찰
java 8 람다식 소개와 의미 고찰Sungchul Park
 
EcmaScript6(2015) Overview
EcmaScript6(2015) OverviewEcmaScript6(2015) Overview
EcmaScript6(2015) Overviewyongwoo Jeon
 
자바8 람다 나머지 공개
자바8 람다 나머지 공개자바8 람다 나머지 공개
자바8 람다 나머지 공개Sungchul Park
 
GKAC 2015 Apr. - Battery, 안드로이드를 위한 쉬운 웹 API 호출
GKAC 2015 Apr. - Battery, 안드로이드를 위한 쉬운 웹 API 호출GKAC 2015 Apr. - Battery, 안드로이드를 위한 쉬운 웹 API 호출
GKAC 2015 Apr. - Battery, 안드로이드를 위한 쉬운 웹 API 호출GDG Korea
 
[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기
[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기
[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기Chris Ohk
 
도메인구현 KSUG 20151128
도메인구현 KSUG 20151128도메인구현 KSUG 20151128
도메인구현 KSUG 20151128beom kyun choi
 

What's hot (20)

스위프트 성능 이해하기
스위프트 성능 이해하기스위프트 성능 이해하기
스위프트 성능 이해하기
 
자바8 람다식 소개
자바8 람다식 소개자바8 람다식 소개
자바8 람다식 소개
 
[1B4]안드로이드 동시성_프로그래밍
[1B4]안드로이드 동시성_프로그래밍[1B4]안드로이드 동시성_프로그래밍
[1B4]안드로이드 동시성_프로그래밍
 
자바에서 null을 안전하게 다루는 방법
자바에서 null을 안전하게 다루는 방법자바에서 null을 안전하게 다루는 방법
자바에서 null을 안전하게 다루는 방법
 
자바8 스트림 API 소개
자바8 스트림 API 소개자바8 스트림 API 소개
자바8 스트림 API 소개
 
7가지 동시성 모델 - 데이터 병렬성
7가지 동시성 모델 - 데이터 병렬성7가지 동시성 모델 - 데이터 병렬성
7가지 동시성 모델 - 데이터 병렬성
 
안드로이드 개발자를 위한 스위프트
안드로이드 개발자를 위한 스위프트안드로이드 개발자를 위한 스위프트
안드로이드 개발자를 위한 스위프트
 
모델링 연습 리뷰
모델링 연습 리뷰모델링 연습 리뷰
모델링 연습 리뷰
 
120908 레거시코드활용전략 4장5장
120908 레거시코드활용전략 4장5장120908 레거시코드활용전략 4장5장
120908 레거시코드활용전략 4장5장
 
7가지 동시성 모델 - 3장. 함수형 프로그래밍
7가지 동시성 모델 - 3장. 함수형 프로그래밍7가지 동시성 모델 - 3장. 함수형 프로그래밍
7가지 동시성 모델 - 3장. 함수형 프로그래밍
 
함수적 사고 2장
함수적 사고 2장함수적 사고 2장
함수적 사고 2장
 
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
 
7가지 동시성 모델 4장
7가지 동시성 모델 4장7가지 동시성 모델 4장
7가지 동시성 모델 4장
 
[NDC 2018] 유체역학 엔진 개발기
[NDC 2018] 유체역학 엔진 개발기[NDC 2018] 유체역학 엔진 개발기
[NDC 2018] 유체역학 엔진 개발기
 
java 8 람다식 소개와 의미 고찰
java 8 람다식 소개와 의미 고찰java 8 람다식 소개와 의미 고찰
java 8 람다식 소개와 의미 고찰
 
EcmaScript6(2015) Overview
EcmaScript6(2015) OverviewEcmaScript6(2015) Overview
EcmaScript6(2015) Overview
 
자바8 람다 나머지 공개
자바8 람다 나머지 공개자바8 람다 나머지 공개
자바8 람다 나머지 공개
 
GKAC 2015 Apr. - Battery, 안드로이드를 위한 쉬운 웹 API 호출
GKAC 2015 Apr. - Battery, 안드로이드를 위한 쉬운 웹 API 호출GKAC 2015 Apr. - Battery, 안드로이드를 위한 쉬운 웹 API 호출
GKAC 2015 Apr. - Battery, 안드로이드를 위한 쉬운 웹 API 호출
 
[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기
[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기
[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기
 
도메인구현 KSUG 20151128
도메인구현 KSUG 20151128도메인구현 KSUG 20151128
도메인구현 KSUG 20151128
 

Viewers also liked

조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012
조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012
조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012devCAT Studio, NEXON
 
예제로 보는 Pattern 연상법
예제로 보는 Pattern 연상법예제로 보는 Pattern 연상법
예제로 보는 Pattern 연상법hyun soomyung
 
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발MinGeun Park
 
게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴MinGeun Park
 
게임 개발에 자주 사용되는 디자인 패턴
게임 개발에 자주 사용되는 디자인 패턴게임 개발에 자주 사용되는 디자인 패턴
게임 개발에 자주 사용되는 디자인 패턴예림 임
 
검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민종민 김
 
[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개MinGeun Park
 
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015NAVER / MusicPlatform
 
홍성우, 내가 만든 언어로 게임 만들기, NDC2017
홍성우, 내가 만든 언어로 게임 만들기, NDC2017홍성우, 내가 만든 언어로 게임 만들기, NDC2017
홍성우, 내가 만든 언어로 게임 만들기, NDC2017devCAT Studio, NEXON
 
파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)Heungsub Lee
 
대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴
대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴
대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴Terry Cho
 

Viewers also liked (14)

조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012
조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012
조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012
 
예제로 보는 Pattern 연상법
예제로 보는 Pattern 연상법예제로 보는 Pattern 연상법
예제로 보는 Pattern 연상법
 
Mvp 이전2
Mvp 이전2Mvp 이전2
Mvp 이전2
 
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
 
게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴
 
게임 개발에 자주 사용되는 디자인 패턴
게임 개발에 자주 사용되는 디자인 패턴게임 개발에 자주 사용되는 디자인 패턴
게임 개발에 자주 사용되는 디자인 패턴
 
검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민
 
Soma search
Soma searchSoma search
Soma search
 
[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개
 
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
 
홍성우, 내가 만든 언어로 게임 만들기, NDC2017
홍성우, 내가 만든 언어로 게임 만들기, NDC2017홍성우, 내가 만든 언어로 게임 만들기, NDC2017
홍성우, 내가 만든 언어로 게임 만들기, NDC2017
 
파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)
 
대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴
대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴
대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴
 
sungmin slide
sungmin slidesungmin slide
sungmin slide
 

Similar to [Td 2015]너에게만 나는 반응해 반응형 응용프로그램(이규원)

Developing iOS with Rx, MVVM
Developing iOS with Rx, MVVMDeveloping iOS with Rx, MVVM
Developing iOS with Rx, MVVMWooseong Kim
 
[1A5]효율적인안드로이드앱개발
[1A5]효율적인안드로이드앱개발[1A5]효율적인안드로이드앱개발
[1A5]효율적인안드로이드앱개발NAVER D2
 
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기현철 조
 
김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019
김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019
김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019min woog kim
 
Daejeon IT Developer Conference Struts2
Daejeon IT Developer Conference Struts2Daejeon IT Developer Conference Struts2
Daejeon IT Developer Conference Struts2plusperson
 
반복적인 작업이 싫은 안드로이드 개발자에게
반복적인 작업이 싫은 안드로이드 개발자에게반복적인 작업이 싫은 안드로이드 개발자에게
반복적인 작업이 싫은 안드로이드 개발자에게Sungju Jin
 
StarUML NS Guide - Design
StarUML NS Guide - DesignStarUML NS Guide - Design
StarUML NS Guide - Design태욱 양
 
E-Gov 기반 Mobile Web Friendly 개발
E-Gov 기반 Mobile Web Friendly 개발E-Gov 기반 Mobile Web Friendly 개발
E-Gov 기반 Mobile Web Friendly 개발JavaCommunity.Org
 
Functional Kotlin makes Kotlin functional
Functional Kotlin makes Kotlin functionalFunctional Kotlin makes Kotlin functional
Functional Kotlin makes Kotlin functionalHyunWoo Lee
 
NDC11_김성익_슈퍼클래스
NDC11_김성익_슈퍼클래스NDC11_김성익_슈퍼클래스
NDC11_김성익_슈퍼클래스Sungik Kim
 
Angular는 사실 어렵지 않습니다.
Angular는 사실 어렵지 않습니다.Angular는 사실 어렵지 않습니다.
Angular는 사실 어렵지 않습니다.장현 한
 
CRUD Pattern in Ajax
CRUD Pattern in AjaxCRUD Pattern in Ajax
CRUD Pattern in AjaxRhio Kim
 
자바스크립트 디버깅
자바스크립트 디버깅자바스크립트 디버깅
자바스크립트 디버깅용성 양
 
RxJS로 비동기와 친해지기
RxJS로 비동기와 친해지기RxJS로 비동기와 친해지기
RxJS로 비동기와 친해지기Seokju Na
 
NDC11_슈퍼클래스
NDC11_슈퍼클래스NDC11_슈퍼클래스
NDC11_슈퍼클래스noerror
 
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravelXECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravelXpressEngine
 
처음 시작하는 라라벨
처음 시작하는 라라벨처음 시작하는 라라벨
처음 시작하는 라라벨KwangSeob Jeong
 
ReactJS | 서버와 클라이어트에서 동시에 사용하는
ReactJS | 서버와 클라이어트에서 동시에 사용하는ReactJS | 서버와 클라이어트에서 동시에 사용하는
ReactJS | 서버와 클라이어트에서 동시에 사용하는Taegon Kim
 
RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어
RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어
RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어r-kor
 

Similar to [Td 2015]너에게만 나는 반응해 반응형 응용프로그램(이규원) (20)

Developing iOS with Rx, MVVM
Developing iOS with Rx, MVVMDeveloping iOS with Rx, MVVM
Developing iOS with Rx, MVVM
 
[1A5]효율적인안드로이드앱개발
[1A5]효율적인안드로이드앱개발[1A5]효율적인안드로이드앱개발
[1A5]효율적인안드로이드앱개발
 
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
 
김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019
김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019
김민욱, (달빛조각사) 엘릭서를 이용한 mmorpg 서버 개발, NDC2019
 
Daejeon IT Developer Conference Struts2
Daejeon IT Developer Conference Struts2Daejeon IT Developer Conference Struts2
Daejeon IT Developer Conference Struts2
 
반복적인 작업이 싫은 안드로이드 개발자에게
반복적인 작업이 싫은 안드로이드 개발자에게반복적인 작업이 싫은 안드로이드 개발자에게
반복적인 작업이 싫은 안드로이드 개발자에게
 
1.react 101
1.react 1011.react 101
1.react 101
 
StarUML NS Guide - Design
StarUML NS Guide - DesignStarUML NS Guide - Design
StarUML NS Guide - Design
 
E-Gov 기반 Mobile Web Friendly 개발
E-Gov 기반 Mobile Web Friendly 개발E-Gov 기반 Mobile Web Friendly 개발
E-Gov 기반 Mobile Web Friendly 개발
 
Functional Kotlin makes Kotlin functional
Functional Kotlin makes Kotlin functionalFunctional Kotlin makes Kotlin functional
Functional Kotlin makes Kotlin functional
 
NDC11_김성익_슈퍼클래스
NDC11_김성익_슈퍼클래스NDC11_김성익_슈퍼클래스
NDC11_김성익_슈퍼클래스
 
Angular는 사실 어렵지 않습니다.
Angular는 사실 어렵지 않습니다.Angular는 사실 어렵지 않습니다.
Angular는 사실 어렵지 않습니다.
 
CRUD Pattern in Ajax
CRUD Pattern in AjaxCRUD Pattern in Ajax
CRUD Pattern in Ajax
 
자바스크립트 디버깅
자바스크립트 디버깅자바스크립트 디버깅
자바스크립트 디버깅
 
RxJS로 비동기와 친해지기
RxJS로 비동기와 친해지기RxJS로 비동기와 친해지기
RxJS로 비동기와 친해지기
 
NDC11_슈퍼클래스
NDC11_슈퍼클래스NDC11_슈퍼클래스
NDC11_슈퍼클래스
 
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravelXECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
 
처음 시작하는 라라벨
처음 시작하는 라라벨처음 시작하는 라라벨
처음 시작하는 라라벨
 
ReactJS | 서버와 클라이어트에서 동시에 사용하는
ReactJS | 서버와 클라이어트에서 동시에 사용하는ReactJS | 서버와 클라이어트에서 동시에 사용하는
ReactJS | 서버와 클라이어트에서 동시에 사용하는
 
RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어
RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어
RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어
 

More from Sang Don Kim

[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016
[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016
[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016Sang Don Kim
 
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)Sang Don Kim
 
[TD 2015] Microsoft Azure IaaS v2(최정현)
[TD 2015] Microsoft Azure IaaS v2(최정현)[TD 2015] Microsoft Azure IaaS v2(최정현)
[TD 2015] Microsoft Azure IaaS v2(최정현)Sang Don Kim
 
[TD2015] 이 시대에 소규모 게임 개발팀이 마소와 함께 살아가는 방법(송용성)
[TD2015] 이 시대에 소규모 게임 개발팀이 마소와 함께 살아가는 방법(송용성)[TD2015] 이 시대에 소규모 게임 개발팀이 마소와 함께 살아가는 방법(송용성)
[TD2015] 이 시대에 소규모 게임 개발팀이 마소와 함께 살아가는 방법(송용성)Sang Don Kim
 
[Td 2015]두근두근 asp.net 5(한상훈)
[Td 2015]두근두근 asp.net 5(한상훈)[Td 2015]두근두근 asp.net 5(한상훈)
[Td 2015]두근두근 asp.net 5(한상훈)Sang Don Kim
 
[Td 2015]windows 10 엔터프라이즈 시나리오 part II 보안 및 관리(권순만)
[Td 2015]windows 10 엔터프라이즈 시나리오 part II   보안 및 관리(권순만)[Td 2015]windows 10 엔터프라이즈 시나리오 part II   보안 및 관리(권순만)
[Td 2015]windows 10 엔터프라이즈 시나리오 part II 보안 및 관리(권순만)Sang Don Kim
 
[Td 2015]windows 10 엔터프라이즈 시나리오 part I 배포 및 이미징(박성기)
[Td 2015]windows 10 엔터프라이즈 시나리오 part I   배포 및 이미징(박성기)[Td 2015]windows 10 엔터프라이즈 시나리오 part I   배포 및 이미징(박성기)
[Td 2015]windows 10 엔터프라이즈 시나리오 part I 배포 및 이미징(박성기)Sang Don Kim
 
[Td 2015]함께하면 더 좋은 windows 10과 인텔 스카이레이크, 아키텍쳐와 인텔 그래픽스 최적화 살펴보기(하태동)
[Td 2015]함께하면 더 좋은 windows 10과 인텔 스카이레이크, 아키텍쳐와 인텔 그래픽스 최적화 살펴보기(하태동)[Td 2015]함께하면 더 좋은 windows 10과 인텔 스카이레이크, 아키텍쳐와 인텔 그래픽스 최적화 살펴보기(하태동)
[Td 2015]함께하면 더 좋은 windows 10과 인텔 스카이레이크, 아키텍쳐와 인텔 그래픽스 최적화 살펴보기(하태동)Sang Don Kim
 
[Td 2015]프로그래밍 언어의 f1머신 c++을 타고 windows 10 uwp 앱 개발의 세계로~(유영천)
[Td 2015]프로그래밍 언어의 f1머신 c++을 타고 windows 10 uwp 앱 개발의 세계로~(유영천)[Td 2015]프로그래밍 언어의 f1머신 c++을 타고 windows 10 uwp 앱 개발의 세계로~(유영천)
[Td 2015]프로그래밍 언어의 f1머신 c++을 타고 windows 10 uwp 앱 개발의 세계로~(유영천)Sang Don Kim
 
[Td 2015]틱틱대도 써야 하는 windows 10 앱 개발, c# tips &amp; tricks(송기수)
[Td 2015]틱틱대도 써야 하는 windows 10 앱 개발, c# tips &amp; tricks(송기수)[Td 2015]틱틱대도 써야 하는 windows 10 앱 개발, c# tips &amp; tricks(송기수)
[Td 2015]틱틱대도 써야 하는 windows 10 앱 개발, c# tips &amp; tricks(송기수)Sang Don Kim
 
[Td 2015]치즈케이크 팩토리는 알겠는데, 데이터 팩토리는 뭔가요(한기환)
[Td 2015]치즈케이크 팩토리는 알겠는데, 데이터 팩토리는 뭔가요(한기환)[Td 2015]치즈케이크 팩토리는 알겠는데, 데이터 팩토리는 뭔가요(한기환)
[Td 2015]치즈케이크 팩토리는 알겠는데, 데이터 팩토리는 뭔가요(한기환)Sang Don Kim
 
[Td 2015]조막만한 화면에서 대박만한 화면까지. 고생 끝 적응(adaptive ui) 시작(권영철)
[Td 2015]조막만한 화면에서 대박만한 화면까지. 고생 끝 적응(adaptive ui) 시작(권영철)[Td 2015]조막만한 화면에서 대박만한 화면까지. 고생 끝 적응(adaptive ui) 시작(권영철)
[Td 2015]조막만한 화면에서 대박만한 화면까지. 고생 끝 적응(adaptive ui) 시작(권영철)Sang Don Kim
 
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)Sang Don Kim
 
[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)
[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)
[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)Sang Don Kim
 
[Td 2015]맨땅에 헤딩하고 터득한 스토어 공략법(돈벌기)(육주용)
[Td 2015]맨땅에 헤딩하고 터득한 스토어 공략법(돈벌기)(육주용)[Td 2015]맨땅에 헤딩하고 터득한 스토어 공략법(돈벌기)(육주용)
[Td 2015]맨땅에 헤딩하고 터득한 스토어 공략법(돈벌기)(육주용)Sang Don Kim
 
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)Sang Don Kim
 
[Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)
[Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)[Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)
[Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)Sang Don Kim
 
[Td 2015]녹슨 c++ 코드에 모던 c++로 기름칠하기(옥찬호)
[Td 2015]녹슨 c++ 코드에 모던 c++로 기름칠하기(옥찬호)[Td 2015]녹슨 c++ 코드에 모던 c++로 기름칠하기(옥찬호)
[Td 2015]녹슨 c++ 코드에 모던 c++로 기름칠하기(옥찬호)Sang Don Kim
 
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)Sang Don Kim
 
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)Sang Don Kim
 

More from Sang Don Kim (20)

[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016
[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016
[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016
 
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
 
[TD 2015] Microsoft Azure IaaS v2(최정현)
[TD 2015] Microsoft Azure IaaS v2(최정현)[TD 2015] Microsoft Azure IaaS v2(최정현)
[TD 2015] Microsoft Azure IaaS v2(최정현)
 
[TD2015] 이 시대에 소규모 게임 개발팀이 마소와 함께 살아가는 방법(송용성)
[TD2015] 이 시대에 소규모 게임 개발팀이 마소와 함께 살아가는 방법(송용성)[TD2015] 이 시대에 소규모 게임 개발팀이 마소와 함께 살아가는 방법(송용성)
[TD2015] 이 시대에 소규모 게임 개발팀이 마소와 함께 살아가는 방법(송용성)
 
[Td 2015]두근두근 asp.net 5(한상훈)
[Td 2015]두근두근 asp.net 5(한상훈)[Td 2015]두근두근 asp.net 5(한상훈)
[Td 2015]두근두근 asp.net 5(한상훈)
 
[Td 2015]windows 10 엔터프라이즈 시나리오 part II 보안 및 관리(권순만)
[Td 2015]windows 10 엔터프라이즈 시나리오 part II   보안 및 관리(권순만)[Td 2015]windows 10 엔터프라이즈 시나리오 part II   보안 및 관리(권순만)
[Td 2015]windows 10 엔터프라이즈 시나리오 part II 보안 및 관리(권순만)
 
[Td 2015]windows 10 엔터프라이즈 시나리오 part I 배포 및 이미징(박성기)
[Td 2015]windows 10 엔터프라이즈 시나리오 part I   배포 및 이미징(박성기)[Td 2015]windows 10 엔터프라이즈 시나리오 part I   배포 및 이미징(박성기)
[Td 2015]windows 10 엔터프라이즈 시나리오 part I 배포 및 이미징(박성기)
 
[Td 2015]함께하면 더 좋은 windows 10과 인텔 스카이레이크, 아키텍쳐와 인텔 그래픽스 최적화 살펴보기(하태동)
[Td 2015]함께하면 더 좋은 windows 10과 인텔 스카이레이크, 아키텍쳐와 인텔 그래픽스 최적화 살펴보기(하태동)[Td 2015]함께하면 더 좋은 windows 10과 인텔 스카이레이크, 아키텍쳐와 인텔 그래픽스 최적화 살펴보기(하태동)
[Td 2015]함께하면 더 좋은 windows 10과 인텔 스카이레이크, 아키텍쳐와 인텔 그래픽스 최적화 살펴보기(하태동)
 
[Td 2015]프로그래밍 언어의 f1머신 c++을 타고 windows 10 uwp 앱 개발의 세계로~(유영천)
[Td 2015]프로그래밍 언어의 f1머신 c++을 타고 windows 10 uwp 앱 개발의 세계로~(유영천)[Td 2015]프로그래밍 언어의 f1머신 c++을 타고 windows 10 uwp 앱 개발의 세계로~(유영천)
[Td 2015]프로그래밍 언어의 f1머신 c++을 타고 windows 10 uwp 앱 개발의 세계로~(유영천)
 
[Td 2015]틱틱대도 써야 하는 windows 10 앱 개발, c# tips &amp; tricks(송기수)
[Td 2015]틱틱대도 써야 하는 windows 10 앱 개발, c# tips &amp; tricks(송기수)[Td 2015]틱틱대도 써야 하는 windows 10 앱 개발, c# tips &amp; tricks(송기수)
[Td 2015]틱틱대도 써야 하는 windows 10 앱 개발, c# tips &amp; tricks(송기수)
 
[Td 2015]치즈케이크 팩토리는 알겠는데, 데이터 팩토리는 뭔가요(한기환)
[Td 2015]치즈케이크 팩토리는 알겠는데, 데이터 팩토리는 뭔가요(한기환)[Td 2015]치즈케이크 팩토리는 알겠는데, 데이터 팩토리는 뭔가요(한기환)
[Td 2015]치즈케이크 팩토리는 알겠는데, 데이터 팩토리는 뭔가요(한기환)
 
[Td 2015]조막만한 화면에서 대박만한 화면까지. 고생 끝 적응(adaptive ui) 시작(권영철)
[Td 2015]조막만한 화면에서 대박만한 화면까지. 고생 끝 적응(adaptive ui) 시작(권영철)[Td 2015]조막만한 화면에서 대박만한 화면까지. 고생 끝 적응(adaptive ui) 시작(권영철)
[Td 2015]조막만한 화면에서 대박만한 화면까지. 고생 끝 적응(adaptive ui) 시작(권영철)
 
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
 
[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)
[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)
[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)
 
[Td 2015]맨땅에 헤딩하고 터득한 스토어 공략법(돈벌기)(육주용)
[Td 2015]맨땅에 헤딩하고 터득한 스토어 공략법(돈벌기)(육주용)[Td 2015]맨땅에 헤딩하고 터득한 스토어 공략법(돈벌기)(육주용)
[Td 2015]맨땅에 헤딩하고 터득한 스토어 공략법(돈벌기)(육주용)
 
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)
 
[Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)
[Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)[Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)
[Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)
 
[Td 2015]녹슨 c++ 코드에 모던 c++로 기름칠하기(옥찬호)
[Td 2015]녹슨 c++ 코드에 모던 c++로 기름칠하기(옥찬호)[Td 2015]녹슨 c++ 코드에 모던 c++로 기름칠하기(옥찬호)
[Td 2015]녹슨 c++ 코드에 모던 c++로 기름칠하기(옥찬호)
 
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
 
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)
 

[Td 2015]너에게만 나는 반응해 반응형 응용프로그램(이규원)