2015 - network 2015, ua: defensive programming, resilience patterns & antifragility
TRANSCRIPT
![Page 1: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/1.jpg)
danielfisher.com
![Page 2: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/2.jpg)
danielfisher.com
![Page 3: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/3.jpg)
danielfisher.com
![Page 4: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/4.jpg)
danielfisher.com
![Page 5: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/5.jpg)
danielfisher.com
![Page 6: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/6.jpg)
danielfisher.com
https://www.flickr.com/photos/38295844@N05/4980776534/
![Page 7: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/7.jpg)
danielfisher.com
https://www.flickr.com/photos/pagedooley/2398572388/
![Page 8: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/8.jpg)
danielfisher.com
http://www.city-data.com/forum/anchorage/692696-anchorage-here-we-come-finally.html
![Page 9: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/9.jpg)
danielfisher.com
BOSS
![Page 10: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/10.jpg)
danielfisher.com
“Office Space” by Mike Judge / Twentieth Century Fox Film Corporation
![Page 11: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/11.jpg)
danielfisher.com
CHANGE
![Page 12: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/12.jpg)
danielfisher.com
https://www.flickr.com/photos/bluedharma/89186151
![Page 13: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/13.jpg)
danielfisher.com
https://www.flickr.com/photos/armydre2008/3144377781
![Page 14: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/14.jpg)
danielfisher.com
RELEASE
![Page 15: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/15.jpg)
danielfisher.com
Time
Chang
e Big
…
Sm
all
…
![Page 16: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/16.jpg)
danielfisher.com
![Page 17: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/17.jpg)
danielfisher.com
FAIL
![Page 18: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/18.jpg)
danielfisher.com
https://www.flickr.com/photos/38403488@N08/5100179116
![Page 19: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/19.jpg)
danielfisher.com
Thomas Edison
![Page 20: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/20.jpg)
danielfisher.com
![Page 21: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/21.jpg)
danielfisher.com
https://www.flickr.com/photos/edrost88/8235944730
![Page 22: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/22.jpg)
danielfisher.com
Yoda Conditions
if (variable.Equals("literal")){
... }
if ("literal".Equals(variable)){
... }
![Page 23: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/23.jpg)
danielfisher.com
Check Collections for Null
var files = SomeApi.GetFileList();
if (files != null){
for (var i = 0; i < files.length; i++){
...
}
}
![Page 24: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/24.jpg)
danielfisher.com
All classes are sealed by default
public class Class1{...
}
public sealed class Class1{...
}
![Page 25: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/25.jpg)
danielfisher.com
DDD Value Object Input Validation
public sealed class ZipCode: IValueObject
{public ZipCode(int value)
{
// Input validation!!!
Value = value;
}
public int Value { get; private set;}
}
![Page 26: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/26.jpg)
danielfisher.com
![Page 27: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/27.jpg)
danielfisher.com
![Page 28: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/28.jpg)
danielfisher.com
![Page 29: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/29.jpg)
danielfisher.com
![Page 30: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/30.jpg)
danielfisher.com
![Page 31: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/31.jpg)
danielfisher.com
![Page 32: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/32.jpg)
danielfisher.com
http://research.microsoft.com/en-us/um/people/lamport/pubs/distributed-system.txt
![Page 33: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/33.jpg)
danielfisher.com
![Page 34: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/34.jpg)
danielfisher.com
![Page 35: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/35.jpg)
danielfisher.com
![Page 36: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/36.jpg)
danielfisher.com
![Page 37: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/37.jpg)
danielfisher.com
![Page 38: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/38.jpg)
danielfisher.com
![Page 39: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/39.jpg)
danielfisher.com
![Page 40: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/40.jpg)
danielfisher.com
![Page 41: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/41.jpg)
danielfisher.com
![Page 42: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/42.jpg)
danielfisher.com
https://www.flickr.com/photos/qubodup/8278039181
![Page 43: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/43.jpg)
danielfisher.com
https://www.flickr.com/photos/st3f4n/143623217
![Page 44: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/44.jpg)
danielfisher.com
http://moonbasetshirts.limitedrun.com/products/557785-palpatine-vader-2016
![Page 45: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/45.jpg)
danielfisher.com
https://www.flickr.com/photos/susivinh/16341538221
![Page 46: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/46.jpg)
danielfisher.com
![Page 47: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/47.jpg)
danielfisher.com
![Page 48: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/48.jpg)
danielfisher.com
Antifragility
Resilience
Robustness
Fragile
![Page 49: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/49.jpg)
danielfisher.com
![Page 50: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/50.jpg)
danielfisher.com
![Page 51: 2015 - Network 2015, UA: Defensive programming, resilience patterns & antifragility](https://reader030.vdocuments.site/reader030/viewer/2022021502/58f37da51a28ab8e588b45df/html5/thumbnails/51.jpg)
danielfisher.com