- Introduction to Functional Programming Johannes Weiß - https://vimeo.com/100786088
- ReactiveCocoa at MobiDevDay Andrew Sardone - https://vimeo.com/65637501
- The Future Of ReactiveCocoa Justin Spahr-Summers - https://www.youtube.com/watch?v=ICNjRS2X8WM
- Enemy of the State Justin Spahr-Summers - https://www.youtube.com/watch?v=7AqXBuJOJkY
- WWDC 2014 Session 229 - Advanced iOS Application Architecture and Patterns Andy Matuschak - https://developer.apple.com/videos/play/wwdc2014/229/
- Functioning as a Functionalist Andy Matuschak - https://www.youtube.com/watch?v=rJosPrqBqrA
- Controlling Complexity in Swift Andy Matuschak - https://realm.io/news/andy-matuschak-controlling-complexity/
2015-01-29 Unofficial Relay FAQ
Compilation of questions and answers about Relay from React.js Conf.
Disclaimer: I work on Relay at Facebook. Relay is a complex system on which we're iterating aggressively. I'll do my best here to provide accurate, useful answers, but the details are subject to change. I may also be wrong. Feedback and additional questions are welcome.
Relay is a new framework from Facebook that provides data-fetching functionality for React applications. It was announced at React.js Conf (January 2015).
// ideally we would define this inside the tree struct | |
private class _Node<T: Comparable> { | |
var _value: T | |
var _left: _Node<T>? = nil | |
var _right: _Node<T>? = nil | |
init(value: T) { _value = value } | |
} |
Rich Hickey • 3 years ago
Sorry, I have to disagree with the entire premise here.
A wide variety of experiences might lead to well-roundedness, but not to greatness, nor even goodness. By constantly switching from one thing to another you are always reaching above your comfort zone, yes, but doing so by resetting your skill and knowledge level to zero.
Mastery comes from a combination of at least several of the following:
#!/usr/bin/env fish | |
## | |
## build ogg, vorbis, vorbisfile, vorbisenc and flac frameworks | |
## | |
rm -fr build_deps | |
mkdir -p build_deps | |
cd build_deps | |
wget http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.xz |
func encode<T>(var value: T) -> NSData { | |
return withUnsafePointer(&value) { p in | |
NSData(bytes: p, length: sizeofValue(value)) | |
} | |
} | |
func decode<T>(data: NSData) -> T { | |
let pointer = UnsafeMutablePointer<T>.alloc(sizeof(T.Type)) | |
data.getBytes(pointer) | |
(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.
import Foundation | |
class GrayShark { | |
var name:String | |
var howSwim:String | |
init(name:String, howSwim:String) { | |
self.name = name | |
self.howSwim = howSwim; | |
} |
Sorted by stargazers count of GitHub repo (as of 2014-02-07 02:37:00 +0900)
- 10586 AFNetworking
- 7433 Three20
- 5480 RestKit
- 5164 GPUImage
Last Update: May 13, 2019
Offline Version