SlideShare uma empresa Scribd logo
1 de 51
danielfisher.com
Defensive Programming,
Daniel Fisher
Resilience Patterns &
Antifragility
danielfisher.com
I’m a technician & always concerned about bandwidth
So I ask you to send one packet instead of two
DANIEL
My name is
Any further questions? Just Ask!
danielfisher.com
software
I design, develop, deploy, teach, train, coach and speak
HTML5 & WEB, DATA ACCESS & PERFORMANCE,
SCALABLE & TESTABLE DESIGN, DISTRIBUTED SYSTEMS
& SERVICES, SECURITY & TRUST
lennybacon.com my blog url
@lennybacon my twitter handle
info@danielfisher.com my smtp
find my services at danielfisher.com
danielfisher.com
THAT IS ALL THAT I DEEPLY BELEVE IN
D I S C L A I M E R
IT FITS MY SHOES
IT MIGHT NOT FIT YOURS
THIS PRESENTATION CONTAINS MY
PERSONAL VIEW ON THE WORLD
IT IS BASED ON MY EXPERIENCE IN SOFTWARE DEVELOPMENT PROJECTS SINCE 1996
MOST THINGS I LEARNED FROM PAIN
OTHERS FROM MOMENTS OF GRACEFULNESS, BRAVENESS & SUCCESS
danielfisher.com
CHAPTER 1
Software Development: A world of fear
danielfisher.com
https://www.flickr.com/photos/38295844@N05/4980776534/
danielfisher.com
https://www.flickr.com/photos/pagedooley/2398572388/
danielfisher.com
http://www.city-data.com/forum/anchorage/692696-anchorage-here-we-come-finally.html
danielfisher.com
BOSS
danielfisher.com
“Office Space” by Mike Judge / Twentieth Century Fox Film Corporation
danielfisher.com
CHANGE
danielfisher.com
https://www.flickr.com/photos/bluedharma/89186151
danielfisher.com
https://www.flickr.com/photos/armydre2008/3144377781
danielfisher.com
RELEASE
danielfisher.com
Time
Change
Big…
Small…
danielfisher.com
“Fight Club” by David Fincher / Twentieth Century Fox Film Corporation
danielfisher.com
FAIL
danielfisher.com
https://www.flickr.com/photos/38403488@N08/5100179116
danielfisher.com
I have not failed!
I've just found
10,000 ways that
won't work …Thomas Edison
danielfisher.com
CHAPTER 2
Paranoia basics: Defensive programming
danielfisher.com
https://www.flickr.com/photos/ajahan/8413794849
danielfisher.com
Yoda Conditions
if (variable.Equals("literal"))
{
...
}
if ("literal".Equals(variable))
{
...
}
danielfisher.com
Check Collections for Null
var files = SomeApi.GetFileList();
if (files != null)
{
for (var i = 0; i < files.length; i++)
{
...
}
}
danielfisher.com
All classes are sealed by default
public class Class1
{
...
}
internal sealed class Class1
{
...
}
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;}
}
danielfisher.com
CHAPTER 3
Advanced paranoia tactics: Robustness
danielfisher.com
CULTURE
IT’S ALL ABOUT
danielfisher.com
Finding Bugs is
good and mustn’t
be punished!
It makes code
less buggy!
danielfisher.com
Finding Bugs in
tests is even
better!
No customer will
even face them!
danielfisher.com
Try to break, burn,
shoot and drown
it together!
I call it
Breakstorming!
danielfisher.com
CHAPTER 4
Professional Paranoia: Resilience patterns
danielfisher.com
A distributed system
is one in which the failure
of a computer you didn't
even know existed can
render
your computer unusable
http://research.microsoft.com/en-us/um/people/lamport/pubs/distributed-system.txt
danielfisher.com
danielfisher.com
Topology changes
Networks fail
Latency varies by location
Bandwidth differs by location
Things get hacked
danielfisher.com
Servers get rebooted
Code has bugs
Other users might use it different
Failover means offline
Processing time varies by amount of data
Environments differ
File system is not always available
danielfisher.com
Life is not a
walk in the park.
neither is software!
danielfisher.com
Success is the ability
to go from one
failure to another
with no loss of
enthusiasm.
WinstonChurchill
danielfisher.com
Scale like a boss
Asynchronicity
No one waiting for an error
Bulkheads & Replays
Loose coupling for the win
But dare you forget the dead letters
No cascading failures and stack trace
danielfisher.com
BASE OVER ACID
Atomic, Consistent, Isolated and Durable
solutions are not a silver bullet.
Basic Availability, Soft-state and Eventual consistency work
better in most distributed scenarios.
BUT YOU MUST THINK DIFFERENT FOR BASE
Use a more relaxed consistency model to reduce coupling
Queues are as transactional as databases
danielfisher.com
Idempotency
Non-idempotency is complicated to handle
and increases coupling between participants.
stateless stateless stateless
THIS ALSO REQUIRES YOU TO THINK DIFFERENT
But in the end it is nothing more than divide and conquer with an eye on the results
Functional programming and
immutable types for the win.
danielfisher.com
Monitor & Audit
Measure to gain latency control and detect non-
timely responses before they time out.
Learn more about the life of your system to predict its behavior.
If you can’t debug, log is your friend
Respond to detected failures.
20% - 40% logging code
Auditing and Logging can even be party of your architecture
danielfisher.com
Retry Pattern
https://www.flickr.com/photos/st3f4n/143623217
danielfisher.com
Circuit Breaker Pattern
https://www.flickr.com/photos/qubodup/8278039181
danielfisher.com
Leader Election Pattern
http://moonbasetshirts.limitedrun.com/products/557785-palpatine-vader-2016
danielfisher.com
CompensatingTransaction Pattern
https://www.flickr.com/photos/susivinh/16341538221
danielfisher.com
CHAPTER 5
Things that gain from disorder: Antifragility
danielfisher.com
Nassim Nicholas Taleb wrote two interesting books
about how economical systems behave.
He focusses on what happens under
stress and on unexpected occurrences
of events.
The black swan
Antifragility
danielfisher.com
Antifragility
Resilience
Robustness
Fragile
Time
Value/Correctness/Stability/…
danielfisher.com
What Doesn't Kill You
Makes You Stronger
Every time something catastrophic
happens that you take on and survive…
… your team and you code becomes
Stronger, Better, Faster, More
danielfisher.com
Asymmetric information & options
An opportunity to cope with
the lack of knowledge
ST R AT E GY
Business, Architecture & Code
Long Term vs Short Term
Sustainability vs Reward
danielfisher.com
Thank you!
github.com/lennybacon my code
danielfisher.com my services
lennybacon.com my blog posts
@lennybacon my twitter handle
info@danielfisher.com my mail

Mais conteúdo relacionado

Destaque

2008 - TechDays PT: Modeling and Composition for Software today and tomorrow
2008 - TechDays PT: Modeling and Composition for Software today and tomorrow2008 - TechDays PT: Modeling and Composition for Software today and tomorrow
2008 - TechDays PT: Modeling and Composition for Software today and tomorrowDaniel Fisher
 
2011 - Dotnet Information Day: NUGET
2011 - Dotnet Information Day: NUGET2011 - Dotnet Information Day: NUGET
2011 - Dotnet Information Day: NUGETDaniel Fisher
 
2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als Cache2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als CacheDaniel Fisher
 
2011 - DNC: REST Wars
2011 - DNC: REST Wars2011 - DNC: REST Wars
2011 - DNC: REST WarsDaniel Fisher
 
2008 - Basta!: DAL DIY
2008 - Basta!: DAL DIY2008 - Basta!: DAL DIY
2008 - Basta!: DAL DIYDaniel Fisher
 
2015 TechSummit Web & Cloud - Gem, NPM, Bower, Nuget, Paket - Päckchen hier, ...
2015 TechSummit Web & Cloud - Gem, NPM, Bower, Nuget, Paket - Päckchen hier, ...2015 TechSummit Web & Cloud - Gem, NPM, Bower, Nuget, Paket - Päckchen hier, ...
2015 TechSummit Web & Cloud - Gem, NPM, Bower, Nuget, Paket - Päckchen hier, ...Daniel Fisher
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt socDaniel Fisher
 
Code violation of 35 pnl out of 377 Electrical Panels Replaced
Code violation of 35 pnl out of 377 Electrical Panels ReplacedCode violation of 35 pnl out of 377 Electrical Panels Replaced
Code violation of 35 pnl out of 377 Electrical Panels ReplacedThomas Loos
 
NICHOLAS R. HANCOCK Resume2016 (1)
NICHOLAS R. HANCOCK Resume2016 (1)NICHOLAS R. HANCOCK Resume2016 (1)
NICHOLAS R. HANCOCK Resume2016 (1)Nicholas R. Hancock
 
The Miracle of Mercy - Part 6 - From Misery To Mercy
The Miracle of Mercy - Part 6 - From Misery To MercyThe Miracle of Mercy - Part 6 - From Misery To Mercy
The Miracle of Mercy - Part 6 - From Misery To MercyLifePointe Church
 
The Miracle of Mercy - Part 6 - From Misery To Mercy
The Miracle of Mercy - Part 6 - From Misery To MercyThe Miracle of Mercy - Part 6 - From Misery To Mercy
The Miracle of Mercy - Part 6 - From Misery To MercyLifePointe Church
 
Gost tr 1579 (catalog)
Gost tr 1579 (catalog)Gost tr 1579 (catalog)
Gost tr 1579 (catalog)Dominic Davies
 
The Miracle Of Mercy - Part 8 - Being An Agent Of Mercy To A Lost & Dying World
The Miracle Of Mercy - Part 8 - Being An Agent Of Mercy To A Lost & Dying WorldThe Miracle Of Mercy - Part 8 - Being An Agent Of Mercy To A Lost & Dying World
The Miracle Of Mercy - Part 8 - Being An Agent Of Mercy To A Lost & Dying WorldLifePointe Church
 
OCR F585 Global Economy Extract 5
OCR F585 Global Economy Extract 5OCR F585 Global Economy Extract 5
OCR F585 Global Economy Extract 5tutor2u
 
OCR F585 June 2015
OCR F585 June 2015OCR F585 June 2015
OCR F585 June 2015tutor2u
 
2009 Dotnet Information Day: More effective c#
2009 Dotnet Information Day: More effective c#2009 Dotnet Information Day: More effective c#
2009 Dotnet Information Day: More effective c#Daniel Fisher
 

Destaque (20)

2008 - TechDays PT: Modeling and Composition for Software today and tomorrow
2008 - TechDays PT: Modeling and Composition for Software today and tomorrow2008 - TechDays PT: Modeling and Composition for Software today and tomorrow
2008 - TechDays PT: Modeling and Composition for Software today and tomorrow
 
2011 - Dotnet Information Day: NUGET
2011 - Dotnet Information Day: NUGET2011 - Dotnet Information Day: NUGET
2011 - Dotnet Information Day: NUGET
 
2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als Cache2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als Cache
 
2011 - DNC: REST Wars
2011 - DNC: REST Wars2011 - DNC: REST Wars
2011 - DNC: REST Wars
 
2008 - Basta!: DAL DIY
2008 - Basta!: DAL DIY2008 - Basta!: DAL DIY
2008 - Basta!: DAL DIY
 
2015 TechSummit Web & Cloud - Gem, NPM, Bower, Nuget, Paket - Päckchen hier, ...
2015 TechSummit Web & Cloud - Gem, NPM, Bower, Nuget, Paket - Päckchen hier, ...2015 TechSummit Web & Cloud - Gem, NPM, Bower, Nuget, Paket - Päckchen hier, ...
2015 TechSummit Web & Cloud - Gem, NPM, Bower, Nuget, Paket - Päckchen hier, ...
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc
 
Resume 2
Resume 2Resume 2
Resume 2
 
Code violation of 35 pnl out of 377 Electrical Panels Replaced
Code violation of 35 pnl out of 377 Electrical Panels ReplacedCode violation of 35 pnl out of 377 Electrical Panels Replaced
Code violation of 35 pnl out of 377 Electrical Panels Replaced
 
NICHOLAS R. HANCOCK Resume2016 (1)
NICHOLAS R. HANCOCK Resume2016 (1)NICHOLAS R. HANCOCK Resume2016 (1)
NICHOLAS R. HANCOCK Resume2016 (1)
 
The Miracle of Mercy - Part 6 - From Misery To Mercy
The Miracle of Mercy - Part 6 - From Misery To MercyThe Miracle of Mercy - Part 6 - From Misery To Mercy
The Miracle of Mercy - Part 6 - From Misery To Mercy
 
The Miracle of Mercy - Part 6 - From Misery To Mercy
The Miracle of Mercy - Part 6 - From Misery To MercyThe Miracle of Mercy - Part 6 - From Misery To Mercy
The Miracle of Mercy - Part 6 - From Misery To Mercy
 
Gost tr 1579 (catalog)
Gost tr 1579 (catalog)Gost tr 1579 (catalog)
Gost tr 1579 (catalog)
 
The Miracle Of Mercy - Part 8 - Being An Agent Of Mercy To A Lost & Dying World
The Miracle Of Mercy - Part 8 - Being An Agent Of Mercy To A Lost & Dying WorldThe Miracle Of Mercy - Part 8 - Being An Agent Of Mercy To A Lost & Dying World
The Miracle Of Mercy - Part 8 - Being An Agent Of Mercy To A Lost & Dying World
 
resume Geraldine
resume Geraldineresume Geraldine
resume Geraldine
 
Rd 04-02-2006
Rd 04-02-2006Rd 04-02-2006
Rd 04-02-2006
 
Maximum prices
Maximum pricesMaximum prices
Maximum prices
 
OCR F585 Global Economy Extract 5
OCR F585 Global Economy Extract 5OCR F585 Global Economy Extract 5
OCR F585 Global Economy Extract 5
 
OCR F585 June 2015
OCR F585 June 2015OCR F585 June 2015
OCR F585 June 2015
 
2009 Dotnet Information Day: More effective c#
2009 Dotnet Information Day: More effective c#2009 Dotnet Information Day: More effective c#
2009 Dotnet Information Day: More effective c#
 

Semelhante a MD DevdDays 2016: Defensive programming, resilience patterns & antifragility

Open Web Technologies and You - Durham College Student Integration Presentation
Open Web Technologies and You - Durham College Student Integration PresentationOpen Web Technologies and You - Durham College Student Integration Presentation
Open Web Technologies and You - Durham College Student Integration Presentationdarryl_lehmann
 
The Cloud 9 - Threat & Solutions 2016 by Bobby Dominguez
The Cloud 9 - Threat & Solutions 2016 by Bobby DominguezThe Cloud 9 - Threat & Solutions 2016 by Bobby Dominguez
The Cloud 9 - Threat & Solutions 2016 by Bobby DominguezEC-Council
 
Performance - a challenging craft
Performance  - a challenging craftPerformance  - a challenging craft
Performance - a challenging craftFabian Lange
 
Mark Villinski - Top 10 Tips for Educating Employees about Cybersecurity
Mark Villinski - Top 10 Tips for Educating Employees about CybersecurityMark Villinski - Top 10 Tips for Educating Employees about Cybersecurity
Mark Villinski - Top 10 Tips for Educating Employees about Cybersecuritycentralohioissa
 
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...Marco Cedaro
 
Dizzion Channel Partner Training opening the door to stickier customers - la...
Dizzion Channel Partner Training  opening the door to stickier customers - la...Dizzion Channel Partner Training  opening the door to stickier customers - la...
Dizzion Channel Partner Training opening the door to stickier customers - la...Dizzion, Inc.
 
Stranded on Infosec Island: Defending the Enterprise with Nothing but Windows...
Stranded on Infosec Island: Defending the Enterprise with Nothing but Windows...Stranded on Infosec Island: Defending the Enterprise with Nothing but Windows...
Stranded on Infosec Island: Defending the Enterprise with Nothing but Windows...Adrian Sanabria
 
Daniel Lance - What "You've Got Mail" Taught Me About Cyber Security
Daniel Lance - What "You've Got Mail" Taught Me About Cyber SecurityDaniel Lance - What "You've Got Mail" Taught Me About Cyber Security
Daniel Lance - What "You've Got Mail" Taught Me About Cyber SecurityEnergySec
 
Your Customers Need A Hero - Save Them From Internet Villains With DMARC
Your Customers Need A Hero - Save Them From Internet Villains With DMARCYour Customers Need A Hero - Save Them From Internet Villains With DMARC
Your Customers Need A Hero - Save Them From Internet Villains With DMARCStephen Mitchell
 
Law Firm & Legal Department Security & Practice In The Real World
Law Firm & Legal Department Security & Practice In The Real WorldLaw Firm & Legal Department Security & Practice In The Real World
Law Firm & Legal Department Security & Practice In The Real WorldRichard Harbridge
 
Can't Touch This: Detecting Lateral Movement In Zero Touch Environments
Can't Touch This: Detecting Lateral Movement In Zero Touch EnvironmentsCan't Touch This: Detecting Lateral Movement In Zero Touch Environments
Can't Touch This: Detecting Lateral Movement In Zero Touch EnvironmentsPhillip Marlow
 
JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...
JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...
JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...Marco Cedaro
 
Word press security 101
Word press security 101  Word press security 101
Word press security 101 Kojac801
 
Breathing Data, Competing on Code
Breathing Data, Competing on CodeBreathing Data, Competing on Code
Breathing Data, Competing on CodeVenkatesh Rao
 
How to Turn More of Your Website Visitors Into Leads
How to Turn More of Your Website Visitors Into LeadsHow to Turn More of Your Website Visitors Into Leads
How to Turn More of Your Website Visitors Into LeadsOrbit Media Studios
 
Make Every Spin Count: Putting the Security Odds in Your Favor
Make Every Spin Count: Putting the Security Odds in Your FavorMake Every Spin Count: Putting the Security Odds in Your Favor
Make Every Spin Count: Putting the Security Odds in Your FavorDavid Perkins
 
Things that go bump on the web - Web Application Security
Things that go bump on the web - Web Application SecurityThings that go bump on the web - Web Application Security
Things that go bump on the web - Web Application SecurityChristian Heilmann
 
Add usability testing to your skill set!
Add usability testing to your skill set!Add usability testing to your skill set!
Add usability testing to your skill set!dcmistry
 
Introduction to the Current Threat Landscape
Introduction to the Current Threat LandscapeIntroduction to the Current Threat Landscape
Introduction to the Current Threat LandscapeMelbourne IT
 
Microsoft Vulnerability Research - How to be a finder as a vendor
Microsoft Vulnerability Research - How to be a finder as a vendorMicrosoft Vulnerability Research - How to be a finder as a vendor
Microsoft Vulnerability Research - How to be a finder as a vendorJeremy Brown
 

Semelhante a MD DevdDays 2016: Defensive programming, resilience patterns & antifragility (20)

Open Web Technologies and You - Durham College Student Integration Presentation
Open Web Technologies and You - Durham College Student Integration PresentationOpen Web Technologies and You - Durham College Student Integration Presentation
Open Web Technologies and You - Durham College Student Integration Presentation
 
The Cloud 9 - Threat & Solutions 2016 by Bobby Dominguez
The Cloud 9 - Threat & Solutions 2016 by Bobby DominguezThe Cloud 9 - Threat & Solutions 2016 by Bobby Dominguez
The Cloud 9 - Threat & Solutions 2016 by Bobby Dominguez
 
Performance - a challenging craft
Performance  - a challenging craftPerformance  - a challenging craft
Performance - a challenging craft
 
Mark Villinski - Top 10 Tips for Educating Employees about Cybersecurity
Mark Villinski - Top 10 Tips for Educating Employees about CybersecurityMark Villinski - Top 10 Tips for Educating Employees about Cybersecurity
Mark Villinski - Top 10 Tips for Educating Employees about Cybersecurity
 
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
 
Dizzion Channel Partner Training opening the door to stickier customers - la...
Dizzion Channel Partner Training  opening the door to stickier customers - la...Dizzion Channel Partner Training  opening the door to stickier customers - la...
Dizzion Channel Partner Training opening the door to stickier customers - la...
 
Stranded on Infosec Island: Defending the Enterprise with Nothing but Windows...
Stranded on Infosec Island: Defending the Enterprise with Nothing but Windows...Stranded on Infosec Island: Defending the Enterprise with Nothing but Windows...
Stranded on Infosec Island: Defending the Enterprise with Nothing but Windows...
 
Daniel Lance - What "You've Got Mail" Taught Me About Cyber Security
Daniel Lance - What "You've Got Mail" Taught Me About Cyber SecurityDaniel Lance - What "You've Got Mail" Taught Me About Cyber Security
Daniel Lance - What "You've Got Mail" Taught Me About Cyber Security
 
Your Customers Need A Hero - Save Them From Internet Villains With DMARC
Your Customers Need A Hero - Save Them From Internet Villains With DMARCYour Customers Need A Hero - Save Them From Internet Villains With DMARC
Your Customers Need A Hero - Save Them From Internet Villains With DMARC
 
Law Firm & Legal Department Security & Practice In The Real World
Law Firm & Legal Department Security & Practice In The Real WorldLaw Firm & Legal Department Security & Practice In The Real World
Law Firm & Legal Department Security & Practice In The Real World
 
Can't Touch This: Detecting Lateral Movement In Zero Touch Environments
Can't Touch This: Detecting Lateral Movement In Zero Touch EnvironmentsCan't Touch This: Detecting Lateral Movement In Zero Touch Environments
Can't Touch This: Detecting Lateral Movement In Zero Touch Environments
 
JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...
JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...
JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...
 
Word press security 101
Word press security 101  Word press security 101
Word press security 101
 
Breathing Data, Competing on Code
Breathing Data, Competing on CodeBreathing Data, Competing on Code
Breathing Data, Competing on Code
 
How to Turn More of Your Website Visitors Into Leads
How to Turn More of Your Website Visitors Into LeadsHow to Turn More of Your Website Visitors Into Leads
How to Turn More of Your Website Visitors Into Leads
 
Make Every Spin Count: Putting the Security Odds in Your Favor
Make Every Spin Count: Putting the Security Odds in Your FavorMake Every Spin Count: Putting the Security Odds in Your Favor
Make Every Spin Count: Putting the Security Odds in Your Favor
 
Things that go bump on the web - Web Application Security
Things that go bump on the web - Web Application SecurityThings that go bump on the web - Web Application Security
Things that go bump on the web - Web Application Security
 
Add usability testing to your skill set!
Add usability testing to your skill set!Add usability testing to your skill set!
Add usability testing to your skill set!
 
Introduction to the Current Threat Landscape
Introduction to the Current Threat LandscapeIntroduction to the Current Threat Landscape
Introduction to the Current Threat Landscape
 
Microsoft Vulnerability Research - How to be a finder as a vendor
Microsoft Vulnerability Research - How to be a finder as a vendorMicrosoft Vulnerability Research - How to be a finder as a vendor
Microsoft Vulnerability Research - How to be a finder as a vendor
 

Mais de Daniel Fisher

2015 - Basta! 2015, DE: JavaScript und build
2015 - Basta! 2015, DE: JavaScript und build2015 - Basta! 2015, DE: JavaScript und build
2015 - Basta! 2015, DE: JavaScript und buildDaniel Fisher
 
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...Daniel Fisher
 
2011 - DotNetFranken: ASP.NET MVC Localization
2011 - DotNetFranken: ASP.NET MVC Localization2011 - DotNetFranken: ASP.NET MVC Localization
2011 - DotNetFranken: ASP.NET MVC LocalizationDaniel Fisher
 
2011 NetUG HH: ASP.NET MVC & HTML 5
2011 NetUG HH: ASP.NET MVC & HTML 52011 NetUG HH: ASP.NET MVC & HTML 5
2011 NetUG HH: ASP.NET MVC & HTML 5Daniel Fisher
 
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAXDaniel Fisher
 
2010 - Basta!: IPhone Apps mit C#
2010 - Basta!: IPhone Apps mit C#2010 - Basta!: IPhone Apps mit C#
2010 - Basta!: IPhone Apps mit C#Daniel Fisher
 
2010 - Basta: ASP.NET Controls für Web Forms und MVC
2010 - Basta: ASP.NET Controls für Web Forms und MVC2010 - Basta: ASP.NET Controls für Web Forms und MVC
2010 - Basta: ASP.NET Controls für Web Forms und MVCDaniel Fisher
 
2010 Basta!: Massendaten mit ADO.NET
2010 Basta!: Massendaten mit ADO.NET2010 Basta!: Massendaten mit ADO.NET
2010 Basta!: Massendaten mit ADO.NETDaniel Fisher
 
2009 - Microsoft Springbreak: IIS, PHP & WCF
2009 - Microsoft Springbreak: IIS, PHP & WCF2009 - Microsoft Springbreak: IIS, PHP & WCF
2009 - Microsoft Springbreak: IIS, PHP & WCFDaniel Fisher
 
2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET MembershipDaniel Fisher
 
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
2009 - Basta!: Url rewriting mit iis, asp.net und routing engineDaniel Fisher
 
2009 - Basta!: Agiles requirements engineering
2009 - Basta!: Agiles requirements engineering2009 - Basta!: Agiles requirements engineering
2009 - Basta!: Agiles requirements engineeringDaniel Fisher
 
2008 - TechDays PT: WCF, JSON and AJAX for performance and manageability
2008 - TechDays PT: WCF, JSON and AJAX for performance and manageability2008 - TechDays PT: WCF, JSON and AJAX for performance and manageability
2008 - TechDays PT: WCF, JSON and AJAX for performance and manageabilityDaniel Fisher
 
2008 - Basta!: Massendaten auf dem Client
2008 - Basta!: Massendaten auf dem Client2008 - Basta!: Massendaten auf dem Client
2008 - Basta!: Massendaten auf dem ClientDaniel Fisher
 
2008 - Afterlaunch: 10 Tipps für WCF
2008 - Afterlaunch: 10 Tipps für WCF2008 - Afterlaunch: 10 Tipps für WCF
2008 - Afterlaunch: 10 Tipps für WCFDaniel Fisher
 
2006 - NRW Conf: Asynchronous asp.net
2006 - NRW Conf: Asynchronous asp.net2006 - NRW Conf: Asynchronous asp.net
2006 - NRW Conf: Asynchronous asp.netDaniel Fisher
 
2006 DDD4: Data access layers - Convenience vs. Control and Performance?
2006 DDD4: Data access layers - Convenience vs. Control and Performance?2006 DDD4: Data access layers - Convenience vs. Control and Performance?
2006 DDD4: Data access layers - Convenience vs. Control and Performance?Daniel Fisher
 
2006 - DDD4: Decoupling service oriented backend systems
2006 - DDD4: Decoupling service oriented backend systems2006 - DDD4: Decoupling service oriented backend systems
2006 - DDD4: Decoupling service oriented backend systemsDaniel Fisher
 

Mais de Daniel Fisher (18)

2015 - Basta! 2015, DE: JavaScript und build
2015 - Basta! 2015, DE: JavaScript und build2015 - Basta! 2015, DE: JavaScript und build
2015 - Basta! 2015, DE: JavaScript und build
 
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...
 
2011 - DotNetFranken: ASP.NET MVC Localization
2011 - DotNetFranken: ASP.NET MVC Localization2011 - DotNetFranken: ASP.NET MVC Localization
2011 - DotNetFranken: ASP.NET MVC Localization
 
2011 NetUG HH: ASP.NET MVC & HTML 5
2011 NetUG HH: ASP.NET MVC & HTML 52011 NetUG HH: ASP.NET MVC & HTML 5
2011 NetUG HH: ASP.NET MVC & HTML 5
 
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
 
2010 - Basta!: IPhone Apps mit C#
2010 - Basta!: IPhone Apps mit C#2010 - Basta!: IPhone Apps mit C#
2010 - Basta!: IPhone Apps mit C#
 
2010 - Basta: ASP.NET Controls für Web Forms und MVC
2010 - Basta: ASP.NET Controls für Web Forms und MVC2010 - Basta: ASP.NET Controls für Web Forms und MVC
2010 - Basta: ASP.NET Controls für Web Forms und MVC
 
2010 Basta!: Massendaten mit ADO.NET
2010 Basta!: Massendaten mit ADO.NET2010 Basta!: Massendaten mit ADO.NET
2010 Basta!: Massendaten mit ADO.NET
 
2009 - Microsoft Springbreak: IIS, PHP & WCF
2009 - Microsoft Springbreak: IIS, PHP & WCF2009 - Microsoft Springbreak: IIS, PHP & WCF
2009 - Microsoft Springbreak: IIS, PHP & WCF
 
2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership
 
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
 
2009 - Basta!: Agiles requirements engineering
2009 - Basta!: Agiles requirements engineering2009 - Basta!: Agiles requirements engineering
2009 - Basta!: Agiles requirements engineering
 
2008 - TechDays PT: WCF, JSON and AJAX for performance and manageability
2008 - TechDays PT: WCF, JSON and AJAX for performance and manageability2008 - TechDays PT: WCF, JSON and AJAX for performance and manageability
2008 - TechDays PT: WCF, JSON and AJAX for performance and manageability
 
2008 - Basta!: Massendaten auf dem Client
2008 - Basta!: Massendaten auf dem Client2008 - Basta!: Massendaten auf dem Client
2008 - Basta!: Massendaten auf dem Client
 
2008 - Afterlaunch: 10 Tipps für WCF
2008 - Afterlaunch: 10 Tipps für WCF2008 - Afterlaunch: 10 Tipps für WCF
2008 - Afterlaunch: 10 Tipps für WCF
 
2006 - NRW Conf: Asynchronous asp.net
2006 - NRW Conf: Asynchronous asp.net2006 - NRW Conf: Asynchronous asp.net
2006 - NRW Conf: Asynchronous asp.net
 
2006 DDD4: Data access layers - Convenience vs. Control and Performance?
2006 DDD4: Data access layers - Convenience vs. Control and Performance?2006 DDD4: Data access layers - Convenience vs. Control and Performance?
2006 DDD4: Data access layers - Convenience vs. Control and Performance?
 
2006 - DDD4: Decoupling service oriented backend systems
2006 - DDD4: Decoupling service oriented backend systems2006 - DDD4: Decoupling service oriented backend systems
2006 - DDD4: Decoupling service oriented backend systems
 

Último

%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456KiaraTiradoMicha
 

Último (20)

%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 

MD DevdDays 2016: Defensive programming, resilience patterns & antifragility

Notas do Editor

  1. No NullReferenceException No accidential assignment
  2. No duplicate validation Trust that values are correct
  3. https://msdn.microsoft.com/en-us/library/dn589788.aspx
  4. https://msdn.microsoft.com/en-us/library/dn589784.aspx
  5. https://msdn.microsoft.com/en-us/library/dn568104.aspx
  6. https://msdn.microsoft.com/en-us/library/dn589804.aspx
  7. Thales of Milet and the olive press