Microsoft 설명서 외에도 Microsoft Reactive (Rx) 프레임 워크에 대한 유용한 소개와 자습서가 있습니까?
또한 Reactive가 기존 비동기 코딩 기술을 사용하여 해결하기 어려운 프로그래밍 문제를 쉽게 만드는 좋은 예 (코드 포함)는 무엇입니까?
Microsoft 설명서 외에도 Microsoft Reactive (Rx) 프레임 워크에 대한 유용한 소개와 자습서가 있습니까?
또한 Reactive가 기존 비동기 코딩 기술을 사용하여 해결하기 어려운 프로그래밍 문제를 쉽게 만드는 좋은 예 (코드 포함)는 무엇입니까?
답변:
업데이트 : 아래 블로그 게시물이 내 온라인 서적 www.IntroToRx.com에 의해 대체되었습니다 . 무료로 제공되는 포괄적 인 19 장 책입니다. 웹에서 찾아 보거나 킨들에 대한 mobi 버전을 다운로드 할 수 있습니다. 작은 비용 (~ 99c / 77p)으로 아마존에서 직접 구입할 수도 있습니다. 이 책이 귀하의 요구 나 기대를 충족시키지 못하면 저 (저자)에게 알려 주시면 v2를 위해 더 잘할 것입니다.
Hot / Cold 게시물에 대한 링크를 보내 주셔서 감사합니다. 이것은의 한 부분입니다 전체 시리즈 ,
더 많은 Rx 소개 자료로이 블로그를 계속 업데이트하겠습니다.
보다 고급적인 내용을 보려면 Rx 포럼 (MSDN)으로 이동하십시오.
다음은 .NET Rx 프레임 워크의 다양한 기능을 사용하는 방법을 보여주는 많은 코드 예제가 포함 된 위키 사이트입니다. http://rxwiki.wikidot.com/101samples
이 사이트는 가장 포괄적 인 사이트이며 가장 빠른 사이트라는 것을 알았습니다.
Rx 프레임 워크 용 MSDN 사이트
더 깊이 들어가는 개발자를 위해 소스 코드
Rx에 관한 멋진 오스트리아 기조 연설
이것이 내가 본 것 중 최고입니다 : DevCamp 2010 Keynote-Rx : 비동기식 프로그래밍 블루스 치료
채널 9의 흥미로운 동영상
Kim Hamilton 및 Wes Dyer : BCL의 .NET Rx 및 IObservable / IObserver 내부 (VS 2010)
Rx : Expert to Expert : Brian Beckman과 Erik Meijer 의 제작자와의 인터뷰 -.NET Reactive Framework (Rx) 내부
Rx 제작자 소개
코드 프로젝트 기사
다음은 반응 형 프로그래밍으로 쉽게 할 수 있지만 고전적인 이벤트에서는 지저분하지만 도전적이지 않은 경우 마우스 버튼을 누른 상태에서 선을 그립니다. 읽을 수 있으며 명시적인 상태 처리가 없습니다.
var pen = new Pen(Color.Red, 3);
var graphics = this.CreateGraphics();
var mouseMoveWhileDown =
from md in this.GetMouseDown()
from mv in this.GetMouseMove().Until(this.GetMouseUp())
select new Point(mv.X, mv.Y);
mouseMoveWhileDown
.Pairwise()
.Subscribe(tup => graphics.DrawLine(pen, tup.Item1, tup.Item2));
(이 예제에서 Pairwise ()는 자란 것입니다 ...)
IObservable의 가장 중요한 점은 IEnumerable과 마찬가지로 '구성 가능'하다는 것입니다.
나는 다른 답변에서 언급 한 비디오를 엄격하게 추천합니다. 실제로 Channel9의 주제에 대한 여러 가지 비디오가 있습니다.
TakeUntil
, 이는 적합한 것으로 보입니다.
var pairwise = source.Zip(source.Skip(1), (x, y) => new Tuple(x, y))
.
HandsOnLab 을 포함한 몇 가지 기본 사항을 살펴본 후에는 Rx에서 신비한 미스터리를 가져간 Lee Campbell의 Hot and Cold Observables 를 확인하십시오. :)
리 액티브 LINQ에 대한이 일련의 기사 (4 개가 있음)가 유용합니다. 리 액티브 프로그래밍 (II.)-리 액티브 LINQ 소개 .
그는 그것을 사용하여 게임을 작성하는 예를 가지고 있기 때문에, 당신이 찾고있는 것이기를 바랍니다.
나는 또한 Reactive Framework Part I 을 소개했다CodeBetter.com
. 같은 사이트의 첫 번째 부분에 속편이 있습니다.
이것이 도움이되기를 바랍니다.
이상하게도 Reactive Extensions 홈페이지 는 12 개의 비디오 및 블로그에 연결되지만 포괄적 인 공식 참조 문서에 연결하는 것을 잊어 버립니다. 팀을 안다면 웹 사이트를 고치라고 요청하십시오!
Rx Sandbox 와 함께 사용 하면 다양한 조합기의 의미를 매우 직관적으로 볼 수 있습니다. 이것은 내가 본 최고의 학습 도구입니다.
이 기사를 살펴보고 특히 관련 소스 코드를 다운로드하여 사용하십시오.
도움이 될 것입니다 믿어
두 번째 질문에 답하기 위해 Rx에서 많은 이점을 얻을 수있는 문제가 있습니다. "빠르게 부자"라고합니다.
당신은 같은 이름으로 게임을 개발했으며 꽤 잘 팔리고 있습니다. 그러나 그것은 당신의 상점에서만 도매로 구입할 수 있습니다. 현금 처리를보다 쉽게하기 위해 컨베이어 벨트가 있습니다.
(위의 이야기를 자유롭게 변경하십시오 :))
영업 사원은 뭉치에있는 청구서의 양과 유형을 나타내는 레이블이없는 뭉치의 현금을 뭉치로 놓습니다. 당신의 임무는 돈을 분류하고 계산하는 것입니다. 나중에 더 많은 돈을 받으면 다른 사람을 고용하여 도움을 줄 수 있습니다.
이 경우 소스는 현금 뭉치 (프로듀서)의 비동기 소스입니다. 직원과 공급 업체는 돈을 기대하지만, 뭉치를 소비하고 포장을 풀고 맞춤형 비즈니스 로직을 사용하여 지불하기에 적합한 재 포장을해야합니다.
영업 사원은 자신의 스레드에서 실행되므로 벨트에 던지는 것을 계산할 때까지 기다릴 필요가 없습니다. 계산할 수있는 돈이 더있을 때 다른 일을 할 수있을 때까지 시간이 가장 잘 활용됩니다.
각 뭉치를 바이트 []로 나타낼 수 있습니다.
이것은 매우 일반적인 실제 상황입니다. 네트워크 또는 주변 장치의 데이터에서 리소스 (예 : 검색 엔진, 이미지 또는 비디오 용 웹 페이지)를 검색하면 바이트 단위 (헤더 포함)로 가져옵니다. 단일 스레드 또는 작업하기에 너무 어려운 다중 스레드 환경에서는 스레드를 집계하고 처리하는 경향이 있습니다. 더 이상!
Jesse Liberty는 2011 년 10 월에 출판 된 책을 보유하고 있습니다.
Amazon.com : 리 액티브 확장 프로그램 및 LINQ 프로그래밍
Channel9에는 RxWorkshop 비디오가 있습니다.
"Microsoft 문서 제외"조항이 채널 9의 비디오로 확장됩니까?
리 액티브 프레임 워크 Erik Meijer의 제작자 :- 전문가 : 전문가 : Brian Beckman 및 Erik Meijer-.NET Reactive Framework (Rx) 내부
새로운 기능 : Rx Extensions for .NET 시작하기
Andreas Hoffmann의 링크 외에도 Rx를 배울 때 매우 유용했습니다.
다음은 Bart De Smet (정말 잘 설명하는 매우 똑똑한 사람) 동영상입니다.
Rx :
Rx-비동기 프로그래밍 블루스 치료
일부 피투성이 내부 + 어떤 철학이 동영상은 정말 계몽되어
최소 LINQ를 - LINQ의 본질
(LINQ는 좀 다른 것들에 어떻게 관련되는지에 위의 비디오 거래를, 마찬가지로 수신)
DEVHOL202 – Reactive Extensions for .NET (PDF, 2MB)으로 비동기식 블루스를 치료하는 것이 지금까지 본 최고의 랩 / 튜토리얼입니다. 라이브러리의 기본 사항을 안내하므로 학습 한 내용을 작성하고 디자인 할 수 있습니다.
JavaScript 버전도 있습니다. "Reactive Extensions Hands on Lab"을 Google에서 검색하십시오.