(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| // with just a simple extension function for the Data Binding ObservableField | |
| inline fun <R> ObservableField<R>.observe(crossinline callback: (R) -> Unit) { | |
| this.addOnPropertyChangedCallback(object : Observable.OnPropertyChangedCallback() { | |
| override fun onPropertyChanged(p0: Observable?, p1: Int) { | |
| callback(get()) | |
| } | |
| }) | |
| } | |
| ... |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| #!/bin/sh | |
| # | |
| # a simple way to parse shell script arguments | |
| # | |
| # please edit and use to your hearts content | |
| # | |
| ENVIRONMENT="dev" |
| git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %Cblue<%an>%Creset' --abbrev-commit --date=relative |