You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
GUIã¢ã¼ããã¯ãã£ãã¿ã¼ã³ã¨ãã¦Model View Whateverãæ¡ç¨ããéã«ãRxã®ã¹ããªã¼ã ããã¬ã¼ã³ãã¼ã·ã§ã³å±¤ããã¢ãã«å±¤ã¾ã§ä¸æ°é貫ã§ã¤ãªãã¦ãã¾ãã®ã¯ã¢ã³ããã¿ã¼ã³ã§ãããã¨ãã話ããã¾ãã åæ GUIã¢ã¼ããã¯ãã£ãã¿ã¼ã³ã«ããã Model View Whatever ãã¿ã¼ã³ãã¨ãã«MVVMã«è¿ããã¿ã¼ã³ãåæã¨ãã¾ãããããããµã¼ããµã¤ãã®ãwebç³»MVCãã¯åæã¨ãã¾ããã Model View Whateverãã¿ã¼ã³ã¨PDS ããããGUIã¢ããªã±ã¼ã·ã§ã³ã§Model View Whateverã¨ããã¢ã¼ããã¯ãã£ãã¿ã¼ã³ãæ¡ç¨ããçç±ã¨ãã¦ãPDSã®å®ç¾ãããã¾ãããã®ãããã®è©±ã¯è©³ããã¯å®æ³ä¸ç¶ã·ãªã¼ãº Vue.jsã§å®ç¾ããMVVMãã¿ã¼ã³ Fluxã¢ã¼ããã¯ãã£ã¨ã®è·é¢ - Re.Ra.Ku ã¢ããã³ãã«ã¬ã³ãã¼ day 13 - Re.Ra.K
compile 'io.reactivex:rxjava:1.1.4' compile 'io.reactivex:rxandroid:1.2.0' compile 'com.jakewharton.rxbinding:rxbinding:0.4.0' â»ã¾ããä»åã¯ã©ã¤ããµã¤ã¯ã«ã¤ãã³ãã¸ã®ãã¤ã³ãã£ã³ã°ãªã©ã®å¦çã¯çãã¾ãã®ã§ãã使ãã®ã©ã¤ãã©ãªã«åããã¦è¿½å ãã¦ãã ããã 以ä¸ã§ä¸æºåã¯çµäºã§ãï¼ ããããå ·ä½çãªRxBindingã使ã£ãå¦çã«ã¤ãã¦è¦ã¦ããã¾ããã EditTextã§Emailã¨Passwordã®å ¥åç¶æ ç£è¦ ã¾ãã¯ããã°ã¤ã³ç»é¢ãªã©ã§ããããEditTextã®å ¥åç¶æ ã«ãã£ã¦ãã¿ã³ã®enableãåãæ¿ããå¦çã§ãã public class LoginActivity extends AppCompatActivity { // Regex patterns
ã¯ããã« ãªã¢ã¯ãã£ãããã°ã©ãã³ã°ã§ã¢ããªãè¨è¨ããã«ã¯ã©ãããã°ãããã§ããããï¼ã§ããã ãç´æçã«ç解ã§ããããã«ãã¸ã¥ã¢ã«åãã¦è§£èª¬ãã¾ãã ä»ã¾ã§ RxSwift ã«ã¤ãã¦ã®ä»¥ä¸ã®è¨äºãæ¸ãã¦ãã¾ããã ãªãã¶ã¼ãã¼ãã¿ã¼ã³ããå§ããRxSwiftå ¥é RxSwiftå ¥é(2) éåæå¦çãã¦ã¿ã RxSwiftãæ·±ãç解ãã RxSwiftã®æ©è½ã«ã¿ãã° ã¾ãã¯æ¢åã®ã¤ãã³ãéç¥ã®ããæ¹ãç½®ãæããããéåæå¦çã«ä½¿ã£ãããããã使ãã便å©ãªéå ·ãã¨ã㦠RxSwift ã使ã£ã¦ããããã¨ãã趣æ¨ã§è§£èª¬ãã¦ãã¾ãã ãã®ããããªã¢ã¯ãã£ãããã°ã©ãã³ã°ã¨ã¯ï¼ãã¨ããé¢æ°åã¨ãã¦ã®å´é¢ãããã¨ãããªãã¸ã§ã¯ãæåããã°ã©ãã«ã¨ã£ã¦æ·å± ãé«ããã¨æãããã¦ãã¾ãè¨èã説æãé¿ãã¦ãã¾ããã æ¦å¿µãããã¾ãã©ã¤ãã©ãªã¨ãã¦ä½¿ã£ã¦è¦ªããã§ããã®æ¹ããæ¦å¿µãç解ããããã¨æã£ãã®ã§ããR
ãã®é£è¼ã§ã¯ãJavaã§ãªã¢ã¯ãã£ãããã°ã©ãã³ã°ãè¡ãããã®ã©ã¤ãã©ãªã§ãããRxJavaãã使ã£ã¦ããªã¢ã¯ãã£ãããã°ã©ãã³ã°ã«ããããã¤ã³ãããRxJavaãæã¤æ©è½ã«ã¤ãã¦å¦ãã§ããã¾ããä»åã¯ãRxJavaããã³ãªã¢ã¯ãã£ãããã°ã©ãã³ã°ã®æ¦è¦ã«ã¤ãã¦è§£èª¬ãã¾ãã 対象èªè Javaçµé¨è ï¼åå¿è å¯ï¼ RxJavaæªçµé¨è ãªã¢ã¯ãã£ãããã°ã©ãã³ã°æªçµé¨è RxJavaã¨ã¯ RxJavaã¯ãJavaã§ãªã¢ã¯ãã£ãããã°ã©ãã³ã°ãè¡ãããã®ã©ã¤ãã©ãªã§ãããã®ã©ã¤ãã©ãªã¯è»½éã§ãããã¾ããä»ã®ã©ã¤ãã©ãªã«å¯¾ããä¾åããªãã®ã§RxJavaã®jarããã¹ã«éãã ãã§ä½¿ããããã«ãªãã¾ãã対å¿ãã¦ããJavaã®ãã¼ã¸ã§ã³ã¯6ããã§ãããã«Androidããã¼ã¸ã§ã³2.3ï¼Gingerbreadï¼ãããµãã¼ããã¦ãã¾ãã ããã¦ãRxJavaã¯å³å¯ã«ã¯é¢æ°åãªã¢ã¯ãã£ãããã°ã©ãã³ã°ï¼F
ãã¼ãã¥ã¼ã®ç§è¡ã«ãããINotifyPropertyChangedä¸è¦ã§ãå¤ã®å¤æ´ãæ¤ç¥ããIObservableåãã¾ããä¾ãã°INotifyPropertyChangedãããªãã¨ãããããWidthã¨Heightãå¼ãåºãã¦ã¿ã¾ãã using Reactive.Bindings.Extensions; public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); this.ObserveEveryValueChanged(x => x.Width).Subscribe(x => WidthText.Text = x.ToString()); this.ObserveEveryValueChanged(x => x.Height).Subscribe(x => Heig
追è¨(2017/05/2) redux-sagaã§ã®éåæãã¼ã¸ã§ã³ã®ç´¹ä»ã¨ãªã³ã¯ã追è¨ã 追è¨(2017/2/23ä¿®æ£) å è¨äºã®è¿½è¨3ã«ã¦è¨åãé ããããã«ã以ä¸ã®ãè¦æãçãã³ã¼ãã¯å ã³ã¼ããå®ç¾ãã¦ããæ©è½ãæããã¡ã¦ããã¨ãã誤ããããã¾ããé ããªãã¾ãããããè©«ã³ã®ä¸ä¿®æ£ããã¦ããã ãã¾ãã ä¿®æ£å 容ã¯ä»¥ä¸ã®ãrefreshãã¿ã³æ¼ä¸ã§ãã¹ã¦ã®åè£ãæ¶å»ãã®é ç®ã«è¿½è¨ãã¾ããã ä¸è¨è¿½è¨ã®è¶£æ¨ã¨ãã¦ããªã¢ã¯ãã£ãããã°ã©ãã³ã°ã¯ããã»ã©å¤ãé£ãã®ã ãã¨ãããææã«ãªã£ã¦ãã¾ãããè¿ãè¨èããããã¾ããã ã¯ããã« å æ¥ããªã¢ã¯ãã£ãããã°ã©ãã³ã°ã¨ã¯ä½ã ã£ãããã¨ããè¨äºãç®ã«ãã¾ãã¦ãå 容ã¯ããã¸ãèå³æ·±ãã£ãã®ã§ããã以ä¸ã®è¨è¿°ãããã¾ããã ã宣è¨çãã¨ãããããªã®ã¯ãããã¾ããããã©ãã¤ã ã¨ãã¦å¾æ¥ã®ã³ã¼ãã¨ã¯ä¸ç·ãç»ããã®ã§ãããã¨ã¯ç¢ºãã§ãããã©ãè´å±ç®ã«ã¿ã¦ãã²ã
ãã®è¨äºã¯RxJava Advent Calendar 2015 11æ¥ç®ã®è¨äºã§ãã RxJavaã»RxAndroidã®ç´¹ä»è¨äºã®ä¸ã«ã¯ãããé¢åãããASyncTaskã使ããªãã¦æ¸ããã¨ãã£ãRxJavaãéåæå¦çã®ä»£ããã¨ãã¦ç´¹ä»ããã¦ãã¾ãã ãã¡ãããéåæå¦çãç½®ãæããããã¨ããç¹ã¯RxJavaã®æå¹çãªä½¿ãæ¹ã®ä¸ã¤ã§ãããRxJavaã«ã¯ä»ã«ã便å©ã«ä½¿ããæ©è½ãããã¾ãã ä»åã¯ãããã®æ©è½ã®ä¸ã¤ã§ããSubjectã«ã¤ãã¦ç´¹ä»ãããã¨æãã¾ãã Subjectã¨ã¯ çãè¨ãã¨ãSubscriberã¨Observableã®2ã¤ã®æ©è½ãä½µãæã£ããã®ãã§ãã Subscriberã«ãããããªonNextãonErrorãonCompleteã¨ãã£ãã¡ã½ãããå¼ã³åºããObservableã®ããã«subscribeã¡ã½ãããå¼ã³åºããã¨ãã§ãã¾ãã Observable.c
åé¡ ä»¥ä¸ã®ã³ã¼ããå®è¡ããã¨side effectã¯ä½å表示ããããï¼ var source = new Rx.Subject<number>(); var stream = source.do(i => console.log("side effect")); stream.subscribeOnNext(i => console.log("child1: " + i)); source.onNext(1); stream.subscribeOnNext(i => console.log("child2: " + i)); source.onNext(2); çã 3å ãªã2åã§ã¯ãªãã®ãï¼ Rxã§ã¯åºæ¬çã«ãªãã¬ã¼ã¿ãã¤ãªãã æã«ã¹ããªã¼ã ã®æ¥ç¶ãé©ç¨ãããã®ã§ã¯ãªããSubscribeããæã«åãã¦æ¥ç¶ãé©ç¨ããã ã¤ã¾ããä¸è¨ã³ã¼ãã§ããã°ãstreamã¨ããã®ã¯ãsource
ãã®è¨äºã¯ bouzuya's RxJS Advent Calendar 2015 ã® 4 æ¥ç®ã㤠RxJS Advent Calendar 2015 ã® 4 æ¥ç®ã§ãã ã¯ããã« ä»æ¥ã¯ ReactiveX ã® Operators ã® Transform ã«ã¤ã㦠RxJS ã® API ããã¥ã¡ã³ããã½ã¼ã¹ã³ã¼ããè¦ã¦ããã¾ãã ã¾ã RxJS 4.0.7 ã対象ã«ãã¦ãã¾ãã Observable ã®å¤æ Observable.prototype.map ReactiveX - Map operator Observable.prototype.map API Document Observable.prototype.map Source Code Array.prototype.map ã§ãããªãã¿ã®ãã®ã§ããåãã«ã¤ãã¦ã¯èª¬æã¯ä¸è¦ã§ãããã import { Observab
TL;DR Promiseã¯åä¸ã¤ãã³ããæ±ããï¼ Rxã¯è¤æ°ã¤ãã³ãã®æµãï¼ã¹ããªã¼ã ï¼ãæ±ããï¼ Rxã§é次å¦çããããã¨ãã¯flatMap()ã§é½åº¦Observableãä½ã£ã¦ãããï¼ Introduction RxJava大æµè¡æ代ï¼ãã®å°å ¥ã®çç±ï¼å»ºåï¼ã¨ãã¦ããèªãããã®ã¯æ¬¡ã®ãããªãã®ãå¤ãæ°ãããï¼ Promiseï¼ã£ã½ããã® è¤æ°ã®é次 or 並è¡ãªéåæå¦çãããæãã«æããã ãã¼ã¿ãã¤ã³ãã£ã³ã°ï¼ç㪠Modelã®å¤æ´ãããæãã«Viewã«éç¥ããã ãªã¹ãå¦ç ç¹ã«ï¼éåæã¾ããã§ã¤ããMAXã«ãªãAndroidçã«ããã¦ã¯ï¼1ã¤ç®ã®Promiseã£ã½ãã®ãçµæ§éè¦é«ãæ°ããã¦ããï¼ãã ï¼ãRxã使ã£ã¦Promiseã¿ãããªãã¨ãã§ãããï¼ãã¨æ¸ãã¦ããè¨äºã¯ãã£ã¦ãå ·ä½çãªèãæ¹çã«è§¦ãã¦ãããã®ã¯ãã¾ãè¦ãè¨æ¶ãç¡ãã®ã§ï¼æ¬ç¨¿ã§ã¯ããã«çç®ãã¦ããï¼ Rxã¨P
ãã®è¨äºã¯ãæ¢ã«Rxãã´ãªã´ãªåããã¦ãªã¢ã¯ãã£ããªä¸çãå ªè½ãã¦ã人ãããã対象ã«ãã¦ãã¾ãã Subject!!!! Rxã«ã¯Subjectã¨ãããã®ãããã¾ããä»åã¯ãã®Subjectãä¸å¿ã«Rxã®ãã¨ãé©å½ã«è©±ãã¾ãã Subjectã£ã¦ãªã« Subjectã¯æ¢ã«è²ããªå ´æã§è§£èª¬ããã¦ããã¨ãããIObservable<T>ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¨IObserver<T>ã¤ã³ã¿ã¼ãã§ã¼ã¹ã両æ¹å®è£ ããã¯ã©ã¹ã§ããã¨ãã£ã¦ãå ¨ç¶åãããªãã®ã§ããã£ãã¨åããã¦ã¿ã¾ãããã public static void Main() { // subjectãã¤ãã var subject = new Subject<int>(); // subjectãè³¼èªãã var disposable = subject.Subscribe( x => WriteLine($"OnNext: { x }")
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}